加上-lfortran -lffio
swmore 发布的帖子
-
RE: 国产分区上的程序是否可以使用fork/execvp和Unix进程间通信?
如果使用了加载器,则不能fork。
想要fork的话可以先编译一个纯主核的串行程序,交上去之后fork。如果需要众核程序可以fork一个sw3run启动众核程序,sw3run的参数可以通过bsub的时候加-p查看。
但是没法两个子进程都用从核。 -
RE: 关于athread加速线程库中的原子操作
@Chanice Fortran调用c可以。
C程序:void faal_(long *addr, long *recv_ptr) { long recv; __asm__ volatile("faal %0, 0(%1)" : "=r"(recv) : "r"(addr)); *recv_ptr = recv; }
Fortran程序(设a是一个主存变量):
call faal(a, b)
则a应当加1且b是a原来的值。
-
RE: C++11+fortran+OpenACC移植程序从核报错
代码好长,我有阅读Fortran恐惧症,建议是你首先在逻辑上研究一下有没有并行写,就是最外层循环的两个下标有对数组同一个位置的更新。
另外你刚开始那个代码我觉得珠海要是循环顺序的问题。考虑试一下:DO L=1,4 c$acc parallel loop DO K=ifirst1,ilast1 c$acc data copyout(dux(:, k, l)) DO J=ifirst0,ilast0 DUX(J,K,L)= 0.0 ENDDO c$acc end data ENDDO c$acc end parallel loop ENDDO