8

のために書かれた並列計算用のCコードがありgcc、それをクラスター上でコンパイルしたいと思います。これは明らかにiccviaを使用しmpiccます。コードをiccわかりやすくするために修正するのは時間がかかりすぎるように思われるので、代わりOpenMPIに使用するように依頼できるかどうか疑問に思います。gccそのクラスターの管理者権限を持っていないので、実際には元の構成を台無しにしないほうがいいと思います。

たとえば、を設定できない場合は、ホームディレクトリでMakefileコンパイルできれば幸いですが、その後にOpenMPI何をする必要があるかについてのガイダンスが必要です。私たちを手伝ってくれますか?


UPDATE1

Makefile含む_

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

詳細をお知らせいただければお知らせください。


UPDATE2

ジェフの助けを借りて、私はのためのOpenMPI設定を見つけることができました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コンパイラを変更しません。


UPDATE3

環境変数CC = gccは役に立たない

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

UPDATE4

...しかし、export OMPI_CC=gcc最終的には役立ちます(sharthのおかげで)。いつの日か、これらは別のものであることを覚えておく必要があります...

バイナリが作成されたにもかかわらず、次のバイバイメッセージが表示されました

/opt/intel/fce/9.1.036/lib/libimf.so: warning: warning: feupdateenv is not implemented and will always fail
4

2 に答える 2

6

http://www.open-mpi.org/faq/?category=mpi-apps#override-wrappers-after-v1.0を参照してください。

于 2010-07-28T14:35:40.023 に答える
2

環境変数CCをgccに設定してみてください。

csh:  setenv CC gcc
bash: export CC=gcc
于 2010-07-28T13:26:54.307 に答える