zoukankan      html  css  js  c++  java
  • 使用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 变量中想要执行的代码文件名称即可。

    本博客是博主个人学习时的一些记录,不保证是为原创,个别文章加入了转载的源地址还有个别文章是汇总网上多份资料所成,在这之中也必有疏漏未加标注者,如有侵权请与博主联系。
  • 相关阅读:
    机器学习中常见的优化算法
    linux端安装Anaconda,方便远端访问jupyter
    核心③自动分号插入
    setTimeout 和 setInterval
    核心②undefined 和 null
    类型④类型转换
    核心①为什么不要使用 eval
    类型③instanceof 操作符
    类型①相等与比较
    类型②typeof 操作符
  • 原文地址:https://www.cnblogs.com/devilmaycry812839668/p/15135697.html
Copyright © 2011-2022 走看看