如何正确升级OpenMP版本?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何正确升级OpenMP版本?相关的知识,希望对你有一定的参考价值。
我试图通过Amazon EC2在一些虚拟机上部署一个OpenMPI项目。每个虚拟机都在运行Ubuntu 16.04,目前我有。gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
和相对的 mpich
.
我在Ubuntu 18.04上正确地测试了我的项目,使用了 gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
. 基本上,我使用OpenMP数组还原与自定义还原操作符,据我所知,这是从OpenMP 4.5开始可用的。这确实是个问题,因为在我的虚拟机上我得到了以下错误。error: ‘array1_test’ has invalid type for ‘reduction’
.
我想我简单的升级就可以了 (此后),但在那之后,MPI却在抱怨与 Please use the same version of GCC and g++ for compiling MPICH and user MPI programs
. 我试着重新安装mpich,但没有成功。
我使用cmake来编译。连接MPI的过程如下。
link_libraries(${MPI_CXX_LIBRARIES})
if(MPI_CXX_COMPILE_FLAGS)
set_property(GLOBAL PROPERTY COMPILE_FLAGS "${MPI_CXX_COMPILE_FLAGS}")
endif()
if(MPI_CXX_LINK_FLAGS)
set_property(GLOBAL PROPERTY LINK_FLAGS "${MPI_CXX_LINK_FLAGS}")
endif()
我做错了什么,如何才能在不破坏MPI配置的情况下正确升级OpenMP?
所以对于遇到我的问题的人来说,我已经按照@Jérôme Richard的建议解决了从源码MPICH构建的问题。
1) 我已经安装了一个较新版本的 gcc
为了让我的项目有一个兼容的OpenMP标准(例如4.5),并解决了以下问题 error: ‘array1_test’ has invalid type for ‘reduction’
的问题。
2) 我已经从MPICH网站下载了源文件(下载区).
3) 按照他们的安装指南,我已经成功安装了 mpich
编译 gcc 7.4.0
以解 Please use the same version of GCC and g++ for compiling MPICH and user MPI programs
的问题。
请注意,我需要坚持使用Ubuntu 16.04。所有这些麻烦都可以通过使用较新的Ubuntu版本(例如>=18.04)来跳过。
以上是关于如何正确升级OpenMP版本?的主要内容,如果未能解决你的问题,请参考以下文章