如何解决使用Intel编译器在Linux机器上配置openmpi 64位时出错
使用intel编译器将openmpi配置为64位时,出现此错误:
checking if sizeof(C int) == sizeof(Fortran INTEGER)... no
=========================================================================
ERROR ERROR ERROR
Configure has detected that the size of a C integer (4 bytes) is
different than the size of a Fortran INTEGER (8 bytes). In the
entire v3.x and v4.x series of Open MPI,this configuration is known
to cause data corruption with the mpi_f08 module (it does *not* cause
problems with mpif.h or the mpi module bindings).
You may either choose to change the C and/or Fortran compiler flags
(in order to have the size of a C int be the same as the size of a
Fortran INTEGER) and re-run configure,or you may specify the
--enable-mpi-fortran=usempi flag to configure to explicitly
disable building the mpi_f08 module.
(NOTE: this error has been fixed in Open MPI releases beyond v4.x)
必须包含哪些编译器标志才能将C int大小更改为8个字节?
这是我使用的: ./configure CXX = icpc CC = icc F77 = ifort FC = ifort FFLAGS = -i8 FCFLAGS = -i8
解决方法
例如,使用英特尔编译器构建 OpenMPI-i8:
./configure --prefix= FC=ifort FCFLAGS=-i8 CC=icc CFLAGS=-m64 CXX=icpc CXXFLAGS=-m64 --enable-mpi-fortran=usempi
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。