国产分区上的程序是否可以使用fork/execvp和Unix进程间通信?



  • 简述

    目前我在国产系统上开发的MPI并行程序不得不在执行过程中每一个进程fork一个新的进程然后使用execvp调用另一个可执行程序, 并在两个程序之间进行IPC, 在现有的国产计算节点上可以做到吗?如果可以fork,目前的国产系统上支持什么IPC机制?

    目前的尝试

    目前我尝试使用fork()调用,主进程会在调用fork()之前卡死, 没有输出。现在不太清楚是作业调度系统的限制还是交叉编译过程中(gcc530)的交叉库链接有问题。



  • 如果使用了加载器,则不能fork。
    想要fork的话可以先编译一个纯主核的串行程序,交上去之后fork。如果需要众核程序可以fork一个sw3run启动众核程序,sw3run的参数可以通过bsub的时候加-p查看。
    但是没法两个子进程都用从核。


登录后回复