先简单记录一下,虽然还有一些疑惑没有解决。

之前安装openmpi是用的命令安装,版本比较低,mfix并行总出现死锁问题,于是想看看是不是openmpi版本导致,虽然目前还未找到具体原因,但是先记录下踩到的坑。

下载openmpi最新版本:https://www.open-mpi.org/software/ompi/v3.0/

安装openmpi具体方法参见:http://www.cnblogs.com/platero/p/4182436.html

安装主要是这几个命令:

./configure --prefix="/usr/local/openmpi"
make
sudo make install

然后~/.bashrc中添加:

export PATH=$PATH:/usr/local/openmpi/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openmpi/lib/

最后执行命令:

sudo ldconfig
source ~/.bashrc

安装好以后并行运行mfix:

mpirun -np  ./mfixsolver -f clc.mfx

结果报错:

There are not enough slots available in the system to satisfy the 8 slots

Either request fewer slots for your application, or make more slots available for use.

电脑是6核12线程,之前没有出现这种问题。如果用低于6线程运行就没有问题,查了下,发现可以用--oversubscribe参数申请超线程,因此把命令写成:

mpirun --oversubscribe -np  ./mfixsolver -f clc.mfx

就可以了。具体参见:https://stackoverflow.com/questions/35704637/mpirun-not-enough-slots-available

但是问题就来了:

6核12线程对于mpi来说,可用线程到底是6线程还是12线程。低版本openmpi则没有这个问题。而且开启--oversubscribe参数后就开始频繁出现段错误,显然不是很好的选择。

暂时存疑。

还有就是,在ubuntu16.04上并行出现死锁问题的case,在ubuntu14.04上却一切正常,真的是无语~~

死锁问题具体参见:http://www.cnblogs.com/Jay-CFD/p/8849336.html

最新文章

  1. RDLC报表数据工具栏关闭后打开方法
  2. sp_get_menu函数使用分析
  3. ReadOnly关键字修饰的变量可以修改,只是不能重新分配
  4. protoc-gen-php --php_out: protoc-gen-php: Plugin output is unparseable.
  5. VMware安装RedHat Linux虚拟机图文详解
  6. CUBRID学习笔记23 关键字列表
  7. IOS 学习笔记 2015-04-03 OC-API-文件读写
  8. IE str.trim() 不兼容问题解决方法
  9. raphael入门到精通---属性和事件篇
  10. Visual C++学习笔记1:一定要注意ANSI和UNICODE差额
  11. [LeetCode]Word Ladder 最短距离字符串转换 (Dijkstra)
  12. Java设计模式(三)-修饰模式
  13. 五种js判断是否为整数(转)
  14. Nginx代理转发Apache+svn
  15. webdav 概览
  16. Unsupervised pre-training
  17. h5 input 的验证
  18. synchronized的四种用法
  19. java.lang.Object类
  20. idea心得

热门文章

  1. POJ2187(凸包+旋转卡壳)
  2. 非root配置linux下vim
  3. linux删除文件后磁盘空间未释放的问题
  4. Luogu 3350 [ZJOI2016]旅行者
  5. Vue.js组件调用用及其组件通信
  6. 2.Books
  7. Django框架 之 跨域请求伪造
  8. c语言split的实现代码
  9. 5.python之pip安装模块失败
  10. (转)mongodb学习(翻译1)