34 integer user_interlace,user_mode
35 integer*4 com,ioe,rank,nprocs
40 integer start, stride, count, bsize, lbsize, resd
41 character*64 :: pflname
43 real*8,
allocatable,
dimension(:) :: val
50 call mpi_comm_size(mpi_comm_world,nprocs,ioe)
51 call mpi_comm_rank(mpi_comm_world,rank,ioe)
54 call mpfope(fid,
'NENT-942_NVAL-008_NCST-007.med', med_acc_rdonly,com4_8, info, ret)
57 print *,
"Erreur à l'ouverture du fichier"
58 print *,
"Process n° ",rank,
"/",nprocs,
" ret :",ret
69 start = rank*(bsize)+1
73 if (rank.eq.(nprocs-1) )
then
74 resd = nent-(nprocs*bsize)
77 print *,
"myrank :",rank,
" resd", resd,
" bsize ",bsize,
" lbsize",lbsize
81 print *,
"Erreur à l'allocation du filtre"
82 print *,
"Process n° ",rank,
"/",nprocs,
" ret :",ret
86 call mfrblc (fid, nent, nvent, ncent, &
87 & med_all_constituent, med_full_interlace,med_compact_stmode ,med_allentities_profile, &
88 & start, stride, count, bsize, lbsize, flt, ret)
91 print *,
"Erreur à la définition du filtre"
92 print *,
"Process n° ",rank,
"/",nprocs,
" ret :",ret
96 allocate(val(bsize*nvent*ncent),stat=ret)
99 call mfdrar ( fid,
"NENT-942_NVAL-008_NCST-007_NBL-001",&
100 & med_no_dt, med_no_it, med_cell, med_tria6,&
103 print *,
"Erreur à la lecture du champ résultat"
104 print *,
"Process n° ",rank,
"/",nprocs,
" ret :",ret
112 write(40+rank,
'(1X,F10.3,1X)',advance=
'NO') val(i*(ncent*nvent)+j*ncent+k+1)
114 write(40+rank,
'(A)')
"/"
116 write(40+rank,
'(A)')
"//"
124 print *,
"Erreur à la desallocation du filtre"
125 print *,
"Process n° ",rank,
"/",nprocs,
" ret :",ret
129 print *,
"Process n° ",rank,
"/",nprocs,
" ret :",ret
135 call mpi_finalize(ioe)