代码之家  ›  专栏  ›  技术社区  ›  Andy

如何强制OpenMPI使用GCC而不是ICC?是否需要重新编译OpenMPI?

  •  7
  • Andy  · 技术社区  · 14 年前

    我有一个C代码的并行计算编写的 gcc ,我想在一个集群上编译它,这个集群显然使用 icc mpicc . 将代码更正为 -友好似乎对时间要求太高,所以我想问一下 OpenMPI 使用 相反。我没有该集群的管理权限,实际上我更希望不要破坏原始配置。

    Makefile ,那么我就有希望编译 OpenMPI公司


    更新1

    这个 生成文件

    CC = mpicc
    CFLAGS += -DMPI
    

    下面是一些OpenMPI文件

    $ which mpicc
    /usr/bin/mpicc
    
    lrwxr-xr-x  /usr/bin/mpicc -> opal_wrapper
    -rwxr-xr-x  /usr/bin/opal_wrapper
    


    更新2

    help of Jeff ,我找到了 的设置 mpicc公司

    $ more /usr/local/share/openmpi/mpicc-wrapper-data.txt 
    project=Open MPI
    project_short=OMPI
    version=1.1.4
    language=C
    compiler_env=CC
    compiler_flags_env=CFLAGS
    compiler=icc
    extra_includes= openmpi
    preprocessor_flags= 
    compiler_flags=-pthread 
    linker_flags=    
    libs=-lmpi -lorte -lopal   -ldl   -Wl,--export-dynamic -lnsl -lutil -ldl 
    required_file=
    

    但是,我没有编辑此文件的权限,并且 OPMI_CC = gcc


    更新3

    环境变量 CC = gcc

    $ export CC=gcc
    $ echo $CC
    gcc
    $ make clean $$ make
    ...icc:...errors
    

    …但是 export OMPI_CC=gcc thanks to sharth ). 总有一天我会记得这是不同的事情。。。

    /opt/intel/fce/9.1.036/lib/libimf.so: warning: warning: feupdateenv is not implemented and will always fail
    
    2 回复  |  直到 7 年前
        2
  •  2
  •   Bill Lynch    14 年前

    csh:  setenv CC gcc
    bash: export CC=gcc