Changeset 1705 for LMDZ5/trunk/libf/dyn3dmem/mod_filtreg_p.F
- Timestamp:
- Jan 8, 2013, 4:38:44 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/dyn3dmem/mod_filtreg_p.F
r1632 r1705 210 210 IF( ifiltre.EQ.-2 ) THEN 211 211 DO j = jdfil,jffil 212 CALL DGEMM("N", "N", iim, nbniv_loc, iim, 1.0, 212 #ifdef BLAS 213 CALL SGEMM("N", "N", iim, nbniv_loc, iim, 1.0, 213 214 & matrinvn(1,1,j), iim, 214 215 & champ_loc(1,j,1), iip1*(jje-jjb+1), 0.0, 215 216 & champ_fft(1,j,1), iip1*(jje-jjb+1)) 217 #else 218 champ_fft(:,j,:)= 219 & matmul(matrinvn(:,:,j),champ_loc(:iim,j,:)) 220 #endif 216 221 ENDDO 217 222 218 223 ELSE IF ( griscal ) THEN 219 224 DO j = jdfil,jffil 220 CALL DGEMM("N", "N", iim, nbniv_loc, iim, 1.0, 225 #ifdef BLAS 226 CALL SGEMM("N", "N", iim, nbniv_loc, iim, 1.0, 221 227 & matriceun(1,1,j), iim, 222 228 & champ_loc(1,j,1), iip1*(jje-jjb+1), 0.0, 223 229 & champ_fft(1,j,1), iip1*(jje-jjb+1)) 230 #else 231 champ_fft(:,j,:)= 232 & matmul(matriceun(:,:,j),champ_loc(:iim,j,:)) 233 #endif 224 234 ENDDO 225 235 226 236 ELSE 227 237 DO j = jdfil,jffil 228 CALL DGEMM("N", "N", iim, nbniv_loc, iim, 1.0, 238 #ifdef BLAS 239 CALL SGEMM("N", "N", iim, nbniv_loc, iim, 1.0, 229 240 & matricevn(1,1,j), iim, 230 241 & champ_loc(1,j,1), iip1*(jje-jjb+1), 0.0, 231 242 & champ_fft(1,j,1), iip1*(jje-jjb+1)) 243 #else 244 champ_fft(:,j,:)= 245 & matmul(matricevn(:,:,j),champ_loc(:iim,j,:)) 246 #endif 232 247 ENDDO 233 248 … … 238 253 IF( ifiltre.EQ.-2 ) THEN 239 254 DO j = jdfil,jffil 240 CALL DGEMM("N", "N", iim, nbniv_loc, iim, 1.0, 255 #ifdef BLAS 256 CALL SGEMM("N", "N", iim, nbniv_loc, iim, 1.0, 241 257 & matrinvs(1,1,j-jfiltsu+1), iim, 242 258 & champ_loc(1,j,1), iip1*(jje-jjb+1), 0.0, 243 259 & champ_fft(1,j,1), iip1*(jje-jjb+1)) 260 #else 261 champ_fft(:,j,:)= 262 & matmul(matrinvs(:,:,j-jfiltsu+1), 263 & champ_loc(:iim,j,:)) 264 #endif 244 265 ENDDO 245 266 … … 247 268 248 269 DO j = jdfil,jffil 249 CALL DGEMM("N", "N", iim, nbniv_loc, iim, 1.0, 270 #ifdef BLAS 271 CALL SGEMM("N", "N", iim, nbniv_loc, iim, 1.0, 250 272 & matriceus(1,1,j-jfiltsu+1), iim, 251 273 & champ_loc(1,j,1), iip1*(jje-jjb+1), 0.0, 252 274 & champ_fft(1,j,1), iip1*(jje-jjb+1)) 275 #else 276 champ_fft(:,j,:)= 277 & matmul(matriceus(:,:,j-jfiltsu+1), 278 & champ_loc(:iim,j,:)) 279 #endif 253 280 ENDDO 254 281 … … 256 283 257 284 DO j = jdfil,jffil 258 CALL DGEMM("N", "N", iim, nbniv_loc, iim, 1.0, 285 #ifdef BLAS 286 CALL SGEMM("N", "N", iim, nbniv_loc, iim, 1.0, 259 287 & matricevs(1,1,j-jfiltsv+1), iim, 260 288 & champ_loc(1,j,1), iip1*(jje-jjb+1), 0.0, 261 289 & champ_fft(1,j,1), iip1*(jje-jjb+1)) 290 #else 291 champ_fft(:,j,:)= 292 & matmul(matricevs(:,:,j-jfiltsv+1), 293 & champ_loc(:iim,j,:)) 294 #endif 262 295 ENDDO 263 296 … … 269 302 270 303 c !-------------------------------------! 271 c ! D és-agregation des niveau verticaux !304 c ! Dés-agregation des niveau verticaux ! 272 305 c ! uniquement necessaire pour une ! 273 306 c ! execution OpenMP ! … … 402 435 END SUBROUTINE filtreg_p 403 436 END MODULE mod_filtreg_p 437
Note: See TracChangeset
for help on using the changeset viewer.