我有这个循环,它在 openmp 中如下所示,但出现分配错误:
!$OMP PARALLEL DO PRIVATE(fn)
do fn=0, NFILES
allocate(temparray(1:3,1:Ntot))
LOAD temparray FROM FILE(fn)
Ntot = len(temparray)
TOTALARRAY(1+nstart:nstart+Ntot,1:3)=temparray(1:Ntot, 1:3)
deallocate(temparray)
nstart=nstart+len(temparray)
end do
!$OMP END PARALLEL DO
有没有办法将这些文件加载到内存中并使用 openmp 快速组合它们?还是我必须按顺序进行?我拥有的数组比这大得多——这只是为了演示。我想并行加载它们。