Os dados básicos de experimentos computacionais sobre a reorganização da forma paralela em camadas (LPF) de gráficos de informação de algoritmos (TGA) são fornecidos na publicação anterior . O objetivo da presente publicação é mostrar os resultados finais da pesquisa sobre o desenvolvimento de cronogramas para a execução de programas paralelos em termos da complexidade computacional da própria transformação e da qualidade dos cronogramas resultantes. Este trabalho é o resultado de um ciclo de pesquisa bem definido na área em consideração.
Conforme mencionado anteriormente, a complexidade computacional (BT), neste caso, será calculada em unidades de movimento dos operadores de camada para camada no processo de reorganização do YAPF. Essa abordagem se aproxima do método clássico de determinação do BT de operações de ordenação (classificação) de matrizes numéricas; a desvantagem é que não leva em consideração a complexidade dos procedimentos de determinação dos elementos de permutação.
Porque no modelo aceito, o YAPF realmente determina a ordem de execução dos operadores de um programa paralelo (os operadores são executados em grupos de camadas um a um), para encurtar, às vezes usaremos a abreviatura "YAPF" como um sinônimo para o conceito de um plano (cronograma) para a execução de um programa paralelo. Por razões óbvias, os estudos foram realizados com dados de um volume relativamente pequeno no pressuposto de que a exatidão dos resultados obtidos é preservada ao processar dados de um tamanho maior. Os estudos descritos nesta publicação têm como objetivo demonstrar a capacidade das ferramentas disponíveis na resolução das tarefas atribuídas. Se desejado, é possível investigar um algoritmo arbitrário, descrevendo-o e depurando-o no módulo Data-Flow com subsequente importação no formato de um gráfico de informações para o módulo SPF @ home para processamento posterior.
Continuamos considerando a obtenção da densidade máxima de código (na verdade, a carga máxima dos computadores individuais disponíveis do sistema de computação paralela) como o objetivo principal das transformações LPF . A propósito, é precisamente com esses conceitos que a conhecida declaração irônica do mal sobre o número excessivo de instruções NOP nos "pacotes" de uma palavra de máquina extralonga nos computadores de arquitetura VLIW está conectada (mesmo que existem seções de código completamente sequencial, as lacunas em uma palavra extralonga formalmente devem ser preenchidas com algum tipo de operação - "dummy")
, ( ), Lua . ( ).
( ), ( - ). , .
. , , .2 SPF@home (http://vbakanov.ru/spf@home/content/install_spf.exe). – , {k,l} ( ) ik,jk il,jl, i,j – ( , ; ).
(, ) , – .
( ) (, ) – “1-01_bulldozer” vs “1-02_bulldozer”, - “WidthByWidtn” vs “Dichotomy”. , …
1.
() . ( ). ( ). .. , .
– “1-01_bulldozer” “1-02_bulldozer”.
. 1-3; ( ):
a), b) ) – , (CV ), ( ) ;
(), () - () – , “1-01_bulldozer” “1-02_bulldozer” c.
. 1-3 , . ., . 1a) 1,7 ( “1-01_bulldozer”) 3 ( “1-02_bulldozer”) 10- .
(. 1b) 0,3 ( ) “1-02_bulldozer” , , .
(. 1c) “1-02_bulldozer” ( 3,7 10) “1-01_bulldozer”.
, .
“1-02_bulldozer” (. 2).
() 10 (. 3) . (. 3a), CV (. 3b), “1-02_bulldozer” (. 3c).
, , ( ) . .. , ( ).
2.
VLIW- ( “”, “” ). .
W ( W=W0 W=1, W0 – , ). – “Dichotomy” “WidthByWidtn”:
“Dichotomy”. – c W c . W, , W. , “” ( ).
“WidthByWidtn”. N>W , :
, .
. 4,5 - () ; “WidthByWidtn” “Dichotomy” . , “” .
. 4 5, ( , , !). , .
“ -” “WidthByWidtn” , “Dichotomy”; . “WidthByWidtn” , N./W. , N. – , W. – .
, . 6 7, ( , – ). . 6 7, “WidthByWidtn” ( 3-4 ) ( ) “Dichotomy” ( ). , () “WidthByWidtn” “Dichotomy” ( ).
.. () . .
, ( ) .
( ) .
:
(https://habr.com/ru/post/530078/, 26.11.2021)
(https://habr.com/ru/post/534722/, 24.12.2021)
(https://habr.com/ru/post/535926/, 03.01.2021)
Streaming de dinâmica de computador ( https://habr.com/ru/post/540122/ , 01/02/2021)
Simultaneidade e densidade de código ( https://habr.com/ru/post/545498/ , 05/03/2021)
Quanto custa a programação ( https://habr.com/ru/post/551688/ , 10.04.2021) - atual