Escrevendo pseudocódigo para programação paralela

Escrevendo pseudocódigo para programação paralela

"Como você escreve pseudocódigo para programação paralela? Especialmente, como você diferencia variáveis ​​​​locais e compartilhadas? Como você representa operações como dispersão, coleta, redução, transmissão e comunicações ponto a ponto? Existem alguns padrões sobre que?"

Observea pergunta original foi feitaaquimas ainda NÃO tem uma boa resposta aceitável.

Reelaborar outras questões, resumindo e mantendo as coisas fáceis: existe uma maneira de dizer em pseudocódigo "FAÇA TODAS ESTAS COISAS EM PARALELO"?

Estou usando o pacote algorithm2ecom TeXStudio. Como compor o código paralelo usando-os?

Responder1

Depois de algumas pesquisas na web, percebi que ainda não existe uma espécie de "padrão". Então aqui está minha solução pessoal usando algorithm2e:

\usepackage[linesnumbered,ruled,vlined]{algorithm2e}
...
\begin{algorithm}
    \DontPrintSemicolon 
    \SetKwBlock{DoParallel}{do in parallel}{end}
    \KwIn{Some inputs}
    \KwOut{The ouput}
    \DoParallel{
        Compute a \;
        Compute b \;
        Compute c \;
    }
    \DoParallel{
        a1\;
        b1\;
        c1\;
    }
    \Return{the solution}\;
    \caption{Parallel Algo}
    \label{algo:parallelAlgorithm}
\end{algorithm}

O resultado é:

insira a descrição da imagem aqui

Baseia-se na definição de um novo comando usando a expressão \SetKwBlock. O manual do pacote pode ser encontradoaqui. Além disso, acabei de adicionar quase a mesma solução para uma pergunta semelhante no StackOverflow. A resposta e a pergunta podem ser encontradasaqui.

Usar a estratégia de definir suas palavras-chave para descrever seu algoritmo com os detalhes que você preferir deve ser sempre possível. Leve em consideração que:

  1. mais detalhes → mais você estará próximo de suas linguagens de programação.
  2. menos detalhes → mais pode ser visto como um pseudocódigo.

Concluindo: é sempre uma questão de trade-offs: você decide onde está o limite (levando em consideração as pessoas-alvo a quem se refere).

A mesma estratégia tem sido usada em artigos científicos (por exemplo, ver Algoritmo 3 e 4 doeste artigo da revista IEEE).

informação relacionada