• 使用pycharm专业版(支持远程调试及运行)如何运行mpi的代码呢???(mpi4py的代码)


    问题如题:

    请注意:这里pycharm专业版的远程调试及运行该如何设置不进行介绍。

    由于mpi进程启动是需要执行mpiexec或mpirun命令的,然而在pycharm中我们只能远程调用Python命令,无法直接调用mpiexec和mpirun命令,因此使用pycharm远程运行mpi代码存在一定困难。

    如果变换一下思路呢???

    其实我们在pycharm远程运行某个启动代码,然后在这个启动代码中启动想要运行的mpi程序就可以解决这个问题了。

    给出我的解决方案:

    pycharm远程启动Python代码:

    #    run_mpi.py

    import os
    
    
    python_path = "/home/xxxxxx/anaconda3/bin/python"
    
    
    python_file = "/home/xxxxxx/x.py"
    
    
    total_process = "-np {}".format(8)
    
    
    machinefile = "-machinefile /home/xxxxxx/myhosts"
    
    
    command_str = 'mpiexec {0} {1} {2} {3}'.format(total_process, machinefile, python_path, python_file)
    print(command_str)
    
    
    os.system(command_str)

    远程运行该Python代码,就相当于远程执行命令:

    mpiexec -np 8 -machinefile /home/xxxxxx/myhosts /home/xxxxxx/anaconda3/bin/python /home/xxxxxx/x.py

    从而解决使用pycharm无法远程运行mpi代码的问题。

    我们每次运行时只需要手动修改  python_file 变量中想要执行的代码文件名称即可。

    本博客是博主个人学习时的一些记录,不保证是为原创,个别文章加入了转载的源地址还有个别文章是汇总网上多份资料所成,在这之中也必有疏漏未加标注者,如有侵权请与博主联系。
  • 相关阅读:
    传统IO总结
    关于JAVA垃圾回收的一些小tips
    一个爬喜马拉雅音频的例子
    return研究
    Java基础知识-java.util.concurrent包下常见类的使用
    <a>链接的四个伪类顺序
    前端面试题
    setTimeout的作用以及setTimeout延时0毫秒的作用
    闭包的使用
    JavaScript typeof obj === ‘object’ 这样写有什么问题
  • 原文地址:https://www.cnblogs.com/devilmaycry812839668/p/15135697.html
Copyright © 2020-2023  润新知