Ignore:
Timestamp:
Jul 19, 2013, 4:16:58 PM (11 years ago)
Author:
yann meurdesoif
Message:

Fix OpenMP problem with classical filtering (not FFT)
=> Using Blas is OK
=> Using matmul is OK

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/dyn3dmem/mod_filtreg_p.F

    r1705 r1805  
    216216     &                    champ_fft(1,j,1), iip1*(jje-jjb+1))
    217217#else
    218                      champ_fft(:,j,:)=
    219      &                    matmul(matrinvn(:,:,j),champ_loc(:iim,j,:))
     218                     champ_fft(:,j,1:nbniv_loc)=
     219     &                    matmul(matrinvn(:,:,j),
     220     &                    champ_loc(:iim,j,1:nbniv_loc))
    220221#endif
    221222                  ENDDO
     
    229230     &                    champ_fft(1,j,1), iip1*(jje-jjb+1))
    230231#else
    231                      champ_fft(:,j,:)=
    232      &                    matmul(matriceun(:,:,j),champ_loc(:iim,j,:))
     232                     champ_fft(:,j,1:nbniv_loc)=
     233     &                    matmul(matriceun(:,:,j),
     234     &                           champ_loc(:iim,j,1:nbniv_loc))
    233235#endif
    234236                  ENDDO
     
    242244     &                    champ_fft(1,j,1), iip1*(jje-jjb+1))
    243245#else
    244                      champ_fft(:,j,:)=
    245      &                    matmul(matricevn(:,:,j),champ_loc(:iim,j,:))
     246                     champ_fft(:,j,1:nbniv_loc)=
     247     &                    matmul(matricevn(:,:,j),           
     248     &                           champ_loc(:iim,j,1:nbniv_loc))
    246249#endif
    247250                  ENDDO
     
    259262     &                    champ_fft(1,j,1), iip1*(jje-jjb+1))
    260263#else
    261                      champ_fft(:,j,:)=
     264                     champ_fft(:,j,1:nbniv_loc)=
    262265     &                    matmul(matrinvs(:,:,j-jfiltsu+1),
    263      &                           champ_loc(:iim,j,:))
     266     &                           champ_loc(:iim,j,1:nbniv_loc))
    264267#endif
    265268                  ENDDO
     
    274277     &                    champ_fft(1,j,1), iip1*(jje-jjb+1))
    275278#else
    276                      champ_fft(:,j,:)=
     279                     champ_fft(:,j,1:nbniv_loc)=
    277280     &                    matmul(matriceus(:,:,j-jfiltsu+1),
    278      &                           champ_loc(:iim,j,:))
     281     &                           champ_loc(:iim,j,1:nbniv_loc))
    279282#endif
    280283                  ENDDO
     
    289292     &                    champ_fft(1,j,1), iip1*(jje-jjb+1))
    290293#else
    291                      champ_fft(:,j,:)=
     294                     champ_fft(:,j,1:nbniv_loc)=
    292295     &                    matmul(matricevs(:,:,j-jfiltsv+1),
    293      &                           champ_loc(:iim,j,:))
     296     &                           champ_loc(:iim,j,1:nbniv_loc))
    294297#endif
    295298                  ENDDO
     
    308311               ll_nb = 0
    309312c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
    310                DO l = 1, nbniv_loc
     313               DO l = 1, nbniv
    311314                  ll_nb = ll_nb + 1
    312315                  DO j = jdfil,jffil
     
    324327               ll_nb = 0
    325328c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
    326                DO l = 1, nbniv_loc
     329               DO l = 1, nbniv
    327330                  ll_nb = ll_nb + 1
    328331                  DO j = jdfil,jffil
Note: See TracChangeset for help on using the changeset viewer.