如何正确升级OpenMP版本?

问题描述 投票:0回答:1

我试图通过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?

c++ compiler-errors mpi openmp
1个回答
1
投票

所以对于遇到我的问题的人来说,我已经按照@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)来跳过。

© www.soinside.com 2019 - 2024. All rights reserved.