Suponha que você deseje repartir uma matriz NxN entre M proc...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a letra B - N.
Para entender essa questão, é necessário compreender o método de particionamento em tiras (strip partitioning) aplicado a matrizes no contexto de processamento paralelo. Esse método divide a matriz em partes que podem ser processadas simultaneamente por diferentes processos ou threads em um sistema de processamento paralelo. No caso de um particionamento por linhas, cada processo é responsável por uma ou mais linhas completas da matriz.
A variável N representa a dimensão da matriz NxN, isto é, a quantidade de linhas e colunas. Já a variável M indica o número de processos paralelos. O valor máximo de M será determinado pela quantidade máxima de linhas que podem ser distribuídas entre os processos, e isso é equivalente ao próprio número de linhas da matriz. Dessa forma, cada processo poderá ter uma linha inteira para si.
Portanto, se a matriz for dividida de tal forma que cada processo receba uma linha completa, o número máximo de processos que podemos ter sem sobrar ou faltar linhas é exatamente N, que é a quantidade de linhas da matriz NxN. Assim, se tivermos um número de processos superior a N, alguns processos ficarão sem linhas para processar, e se tivermos um número menor, alguns processos terão que processar mais de uma linha, o que contraria a premissa da questão de que cada processo deverá ter pelo menos uma linha inteira.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo