Bonjour à tous,

Dans un de nos programme nous avons ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
      real    x(-nfx:nfx,-nfy+1:jma+nfy,-nfz+1:kma+nfz)
      real    y(1:jma+2,1:kma+2), a(-nfx:nfx,-nfy:nfy,-nfz:nfz)
c
      integer i,j,k,i2,j2,k2
c
      do k = 1,kma
        do j = 1,jma
          y(j+1,k+1) = 0.0
c
          do k2 = -nfz,nfz
            do j2 = -nfy,nfy
              do i2 = -nfx,nfx
                y(j+1,k+1) = y(j+1,k+1) + x(i2,j+j2,k+k2)*a(i2,j2,k2)
               enddo
             enddo
          enddo
        enddo
      enddo
Je voudrais paralléliser cette subroutine avec OpenMP. Je suis malheureusement totalement inculte avec OpenMP. J'ai lu qqs cours et programmer des boucles simples avec OpenMP ne me pose pas de problème. La compilation et l'execution non plus. Mais pour ces 5 boucles imbriquées je suis un peu perdu.

Y aurait il des âmes charitables dans le coin pour m'aider? idées, suggestions?

Merci d'avance,
Bye