A afirmação correta é a II. A função __syncthreads() é utilizada em CUDA para sincronizar as threads em um ponto específico do código, ou seja, ela faz com que todas as threads parem sua execução até que todas as outras threads tenham chegado ao mesmo ponto. Isso é importante para evitar condições de corrida e garantir que as threads estejam sincronizadas antes de prosseguir com a execução do código. A afirmação I está incorreta, pois a barreira em CUDA não faz com que todas as threads parem suas execuções até que um sinal seja emitido por outra thread. Na verdade, ela faz com que todas as threads parem sua execução até que todas as outras threads tenham chegado ao mesmo ponto. A afirmação III também está incorreta, pois o conceito de barreira é importante para garantir a sincronização das threads e evitar condições de corrida. As threads paralisadas não dão espaço para outras threads executarem processamento no núcleo, pois todas as threads precisam estar sincronizadas antes de prosseguir com a execução do código.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar