大佬教程收集整理的这篇文章主要介绍了c – MPI对cout的“原子”调用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我注意到的是,在执行MPI程序期间,写入cout(或其他流)的调用可能会变得混乱,因为每当proc到达某段代码时,每个proc都可以写入.报告结果时,可以通过多个过程写入一行,这会使问题混乱.所以2个不同的过程可能会做这样的事情:
//Proc 10 - results calculated somewhere above // result1 = 10 // result2 = 11 cout << "My results are: " << result1 << " " << resul2 << endl;
和:
//Proc 20 - results calculated somewhere above // result1 = 20 // result2 = 21 cout << "My results are: " << result1 << " " << resul2 << endl;
但结果可能是:
@H_174_4@my results are: 20 My results are: 10 11 21我正在寻找的东西就像“阻塞”或原子cout(以及可能写入其他流,如文件流).因此,一旦我开始编写一个cout,它就会阻塞直到语句结束,或者直到endl或者刷新流发出.如果是这种情况,我会保证两条线是分开的(当然,我仍然不知道哪条线会先出现):
@H_174_4@my results are: 20 21 My results are: 10 11在排名为0的过程中使用COut执行所有I / O操作.如果要从其他进程输出一些数据,只需将带有此数据的MPI消息发送到排名0.
以上是大佬教程为你收集整理的c – MPI对cout的“原子”调用全部内容,希望文章能够帮你解决c – MPI对cout的“原子”调用所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。