- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Hi,
If I have a DO loop where the values of array B are assigned to array A in the form:
DO N=N1,N2
A(:,N)=B(:,N)
ENDDO
Will parallelizing it in OpenMP like below work, or do i need to explicitly loop through the first index:
!$OMP PARALLEL DO
!$OMP& PRIVATE(N)
DO N=N1,N2
A(:,N)=B(:,N)
ENDDO
What if, instead of an array B on the right-hand side, it is a scalar?
- Marcas:
- Intel® Fortran Compiler
Link copiado
2 Respostas
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Your code will work in parallel, even with scalar.
For small arrays you might want to avoid the parallel code. For large arrays, you might want to limit the number of threads to 2-4 as you will soon hit a memory bandwidth situation.
Jim Dempsey
Jim Dempsey
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Thank you, Jim.
Responder
Opções do tópico
- Subscrever fonte RSS
- Marcar tópico como novo
- Marcar tópico como lido
- Flutuar este Tópico para o utilizador atual
- Marcador
- Subscrever
- Página amigável para impressora