国产分区上的程序是否可以使用fork/execvp和Unix进程间通信?
-
简述
目前我在国产系统上开发的MPI并行程序不得不在执行过程中每一个进程
fork
一个新的进程然后使用execvp
调用另一个可执行程序, 并在两个程序之间进行IPC, 在现有的国产计算节点上可以做到吗?如果可以fork,目前的国产系统上支持什么IPC机制?目前的尝试
目前我尝试使用
fork()
调用,主进程会在调用fork()
之前卡死, 没有输出。现在不太清楚是作业调度系统的限制还是交叉编译过程中(gcc530)的交叉库链接有问题。
-
如果使用了加载器,则不能fork。
想要fork的话可以先编译一个纯主核的串行程序,交上去之后fork。如果需要众核程序可以fork一个sw3run启动众核程序,sw3run的参数可以通过bsub的时候加-p查看。
但是没法两个子进程都用从核。