Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
发送使用C+生成的处理器秩+;并打开MPI到Python脚本 我是初学C++和MPI的用户。我在HPC环境中工作,需要做以下工作: 使用C++代码获取处理器秩。< /LI> 将秩传递给bash脚本 将这个秩值输入python脚本并运行它(从bash脚本)_Python_C++_Bash_Mpi_Suppress Warnings - Fatal编程技术网

发送使用C+生成的处理器秩+;并打开MPI到Python脚本 我是初学C++和MPI的用户。我在HPC环境中工作,需要做以下工作: 使用C++代码获取处理器秩。< /LI> 将秩传递给bash脚本 将这个秩值输入python脚本并运行它(从bash脚本)

发送使用C+生成的处理器秩+;并打开MPI到Python脚本 我是初学C++和MPI的用户。我在HPC环境中工作,需要做以下工作: 使用C++代码获取处理器秩。< /LI> 将秩传递给bash脚本 将这个秩值输入python脚本并运行它(从bash脚本),python,c++,bash,mpi,suppress-warnings,Python,C++,Bash,Mpi,Suppress Warnings,这是我写的代码: C++(文件名-CPP2BASHZATE.CPP): 狂欢节: 最后,我将bash脚本作为PBS作业提交。以下是输出文件: 行“Argument accepted=”来自python脚本,该脚本只接受秩并打印它。 为了更好地理解为什么Python脚本得到一个奇怪的值,我改变了shell脚本,不接受C++代码的任何输入。相反,C++代码只是打印输出。这是我在输出文件中看到的部分屏幕截图: Python文件输出(第二幅图中未显示)仍然与前面显示的类似 我在谷歌上搜索那个警告,但

这是我写的代码: C++(文件名-CPP2BASHZATE.CPP):

狂欢节:

最后,我将bash脚本作为PBS作业提交。以下是输出文件:

行“Argument accepted=”来自python脚本,该脚本只接受秩并打印它。 为了更好地理解为什么Python脚本得到一个奇怪的值,我改变了shell脚本,不接受C++代码的任何输入。相反,C++代码只是打印输出。这是我在输出文件中看到的部分屏幕截图:

Python文件输出(第二幅图中未显示)仍然与前面显示的类似

我在谷歌上搜索那个警告,但我并没有真正理解我要读的内容。事实上,我甚至不知道我读的东西是否与我的问题有关。
我怀疑C++代码的完整输出包含警告,当传递到Python时,警告会被截断,只不过是方括号内的那些奇怪值。如何删除这些警告并将正确的值传递给python脚本?

请注意,对于大多数队列系统,都设置了表示进程级别的系统变量。一旦进入脚本(以
MPI
启动),您就应该能够从环境中获取它(您必须查看队列系统手册)

另一种方法是为信息生成一些包装日志和grep,例如:

cout << "RANK:" << rank << endl;
在你的情况下是这样的

result=$(./PRank | grep RANK | cut -f2 -d':')
echo $result
#!/bin/sh

result=$(./PRank)
python3 bash2py_test.py $result
cout << "RANK:" << rank << endl;
result=$(echo "RANK:2" | grep RANK | cut -f2 -d':')
echo $result
result=$(./PRank | grep RANK | cut -f2 -d':')
echo $result