MPI和C:循环执行文件中的命令文件

MPI和C:循环执行文件中的命令文件,c,file,mpi,pbs,torque,C,File,Mpi,Pbs,Torque,嗨,我想在40个CPU上并行化一个进程,其中每个作业运行一个进程 我在集群上使用C和MPI以及TORQUE(PBS)调度器 这是我的剧本。 我是C语言的新手,所以我可能(可能)在做一些可怕的事情。谢谢您的时间:)应该是printf(“%s\n”,comm[i])而不是printf(“%s\n”,comm[rank])它应该是printf(“%s\n”,comm[i])而不是printf(“%s\n”,comm[rank])据我所知,当您期望40时,您将获得一行输出。您可能需要验证是否从进程0以

嗨,我想在40个CPU上并行化一个进程,其中每个作业运行一个进程

我在集群上使用C和MPI以及TORQUE(PBS)调度器

这是我的剧本。


我是C语言的新手,所以我可能(可能)在做一些可怕的事情。谢谢您的时间:)

应该是
printf(“%s\n”,comm[i])而不是
printf(“%s\n”,comm[rank])

它应该是
printf(“%s\n”,comm[i])而不是
printf(“%s\n”,comm[rank])

据我所知,当您期望40时,您将获得一行输出。您可能需要验证是否从进程0以外的进程获取输出。我想补充一点

printf("Processes %d\n", rank); 

就在MPI_Comm_尺寸线之后。如果您看不到每个流程中的一行,则需要在您的环境中更改某些内容。我看了一下,但今天早上我的谷歌搜索引擎一直让我失望。另一个选项是使用MPI将字符串传递回进程0。

据我所知,当您期望40时,您将获得一行输出。您可能需要验证是否从进程0以外的进程获取输出。我想补充一点

printf("Processes %d\n", rank); 

就在MPI_Comm_尺寸线之后。如果您看不到每个流程中的一行,则需要在您的环境中更改某些内容。我看了一下,但今天早上我的谷歌搜索引擎一直让我失望。另一个选项是使用MPI将字符串传递回进程0。

您的答案中缺少一个结束双引号
。因此不允许我对其进行编辑,因为编辑显然必须至少包含6个字符更改:-/您的答案中缺少一个结束双引号
。所以我不想编辑它,因为编辑显然必须至少更改6个字符:-/当你认为你已经经历了所有事情,并且你确信唯一可能出错的是你对语言的理解时,那是一个尴尬的时刻。。。只发现这样一个简单的打字错误。每次都要杀了我。那尴尬的时刻,你认为你已经经历了一切,你确信唯一可能出错的是你对语言的理解。。。只发现这样一个简单的打字错误。每次都要杀了我。
printf("Processes %d\n", rank);