-
-
Notifications
You must be signed in to change notification settings - Fork 774
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MPI support #3349
Comments
这个放到下个版本搞 |
最近还没时间去研究这个,可以帮忙提供一些 mpi 工具的相关下载链接和文档,一些基础的 find xxx 和 包 fetch 也可以先帮忙提 pr 进来。。 |
For compiling, just add this line to your target:
and it just works! |
作者你好,最近也遇到了这个问题,所以想提一点小建议,希望有所助益。 MPI本身只是一个通信协议,用于进程间通信以实现分布式计算,主要用于超算跨节点的大型并行计算,算是HPC领域的基础设施。所以,HPC相关的开发人员,主要是使用各种大规模数值模拟的科研人员,应该对mpi的支持有一定需求。 目前主要有三个主流实现,openmpi,mpich,以及Intel编译器的MPI实现。MPI协议与这三个实现,类似于blas协议和openblas,gslcblas库之间的关系。 MPI的各个实现接口较为类似,主要包括两个部分:
另外,Intel HPC Toolkit的mpi实现中,mpicxx,mpirun均为shell脚本,如果作者想考虑集成mpi的话,intel家这些脚本可以直观显示mpi的基本工作流程,是一个不错的参考。 |
Hello author, I have encountered this problem recently, so I would like to give some suggestions, hope it will be helpful. MPI itself is just a communication protocol, used for inter-process communication to achieve distributed computing. It is mainly used for large-scale parallel computing across super-nodes and is considered an infrastructure in the HPC field. Therefore, HPC-related developers, mainly scientific researchers who use various large-scale numerical simulations, should have certain needs for mpi support. There are currently three mainstream implementations, openmpi, mpich, and the MPI implementation of the Intel compiler. The relationship between the MPI protocol and these three implementations is similar to the blas protocol and the openblas and gslcblas libraries. The various implementation interfaces of MPI are relatively similar and mainly include two parts:
In addition, in the mpi implementation of Intel HPC Toolkit, mpicxx and mpirun are both shell scripts. If the author wants to consider integrating mpi, these scripts from Intel can visually display the basic workflow of mpi, which is a good reference. |
好的,感谢,不过近期我暂时也没时间去支持它,等后面支持的时候可以参考下。如果有用户感兴趣的话,也可以尝试提 pr 去支持里面部分基础特性,比如增加 mpicc/mpicxx 的支持等待。 |
Okay, thank you, but I don’t have time to support it recently. You can refer to it when it is supported later. If any user is interested, you can also try to submit a PR to support some of the basic features, such as adding support for mpicc/mpicxx. |
你在什么场景下需要该功能?
支持 MPI 程序,示例见 https://mpitutorial.com/tutorials/mpi-hello-world/
描述可能的解决方案
mpiexec -n 4 ./hello
,命令行还可能指定host等更多信息,然而这和xmake run的模型冲突了,可能要想点别的办法,例如xmake run --mpiexec="-n 4" hello
。并行数-n非常常用,也可考虑单独适配描述你认为的候选方案
No response
其他信息
No response
The text was updated successfully, but these errors were encountered: