openmpi-3.0.1超线程报错问题

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

之前安装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 8 ./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 8 ./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上却一切正常,真的是无语~~

原文地址:https://www.cnblogs.com/Jay-CFD/p/8848268.html

时间: 2024-10-10 18:28:24

openmpi-3.0.1超线程报错问题的相关文章

在VMware里克隆出来的redhat linux 6.0,重启网卡报错

在VMware里克隆出来的redhat linux 6.0,重启网卡报错,无法ping通eth0的IP地址. 故障现象: service network restartShutting down loopback insterface:                                                                                                     [  OK  ]Bringing up loopback in

关于cocos2dx 3.0升级崩溃报错(unable to load native library) 和(Fatal signal 11 (SIGSEGV) at 0x00000000)

最近一直在Windows平台开发cocos-2dx游戏,期间做了一次引擎升级,升级到了3.0正式版本.Windows平台上表现很正常,没有出现什么问题. 上周五准备发布一个安卓包,编译很轻松的就过了,没有花费多少时间,但是安装到手机后,发现运行就崩溃了.没办法只好用模拟机调试,再次吐槽Android的模拟器,真的太他妈慢了,不到万不得已我真的不想再去用它,google真的应该好好整一下了. 好不容易运行起来了,看到崩溃的时候logcat的报错是"unable to load native lib

native 链接 mysql 8.0以上版本 报错2059

MySQL版本是8.0.4  由于新版本的MySQL新特性导致的. mysql> select Host,User,plugin from mysql.user; +-----------+------------------+-----------------------+ | Host | User | plugin | +-----------+------------------+-----------------------+ | localhost | mysql.infoschem

Android6.0 中appcompat_v7 报错

更新了AndroidSDK以后 各种错误,新建一个项目会附赠一个appcompat_v7,你只要知道这个是一个兼容包就可以了,具体的特性可以看相关介绍,其实也没啥特别的就是为了兼容低版本的呗, 但是呢,这个就导致 了 各种的错误,下面是出现的错误: 经过好几个小时的捯饬,各种文章说需要重启Eclipse ,其实根本无所谓,重要的还是配置,下面是解决办法: 第一步:选择appcompat_v7-->Properties-->Android-->选择最高的API版本,并且确定Library

Tomcat 7.0.63启动报错

安装Tomcat 7.0.63后,没有加载任何项目.直接启动就报错,报错日志有: 严重: Error deploying web application directory D:\tomcat7.0.30\webapps\docs java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catal ina.LifecycleException: Failed to start component [St

.Net4.0 ashx页面报错:检测到有潜在危险的Request.Form值(转)

原地址:http://zzhi191.blog.163.com/blog/static/1350849520111116518067/ web开发中难免要多到ajax技术. asp.net中我们处理ajax后台页面有人喜欢用aspx页面,也有人喜欢用ashx页面,相比后者处理速度更快. 但是当你的环境是 .NET 4.0,而 ajax 中提交的参数正好有特殊字符时,比如 name=<head> 这时就会报错:检测到有潜在危险的 Request.Form 值 这时我们需要修改web.config

vue3.0使用axios报错问题记录

vue-cli3.0使用axios的时候出现错误,记录一下 报错信息: Uncaught TypeError: Cannot set property $axios of #<Vue> which has only a getter at eval (main.js?56d7:12) at Module../src/main.js (app.js:11102) at __webpack_require__ (app.js:724) at fn (app.js:101) at Object.0

升级python3.0后 yum报错

[[email protected] bin]# yum   File "/usr/bin/yum", line 30     except KeyboardInterrupt, e:                             ^ SyntaxError: invalid syntax [[email protected] bin]# 解决的办法是: vim /usr/bin/yum #!/usr/bin/python import sys try:     import

appium desktop v1.2.7在android7.0上运行报错“Error: Error executing adbExec”

1.参考下面链接,https://stackoverflow.com/questions/42283921/unable-to-run-appium-tests-on-android-7-0:得知需要卸载Unlock和Appium settings两个APP,卸载后就可以继续运行不再报错.