2010-07-28 6 views
6

gcc 용으로 작성된 병렬 컴퓨팅 용 C 코드가 있으며 클러스터에 컴파일하려고합니다. icc을 통해 을 사용하고있는 것 같습니다. icc- 친숙한 코드를 수정하는 것 역시 시간이 많이 소요되는 것 같습니다. 따라서 OpenMPIgcc을 대신 사용하도록 요청할 수 있는지 궁금합니다. 해당 클러스터에 대한 관리자 권한이 없기 때문에 실제로 원래 구성을 엉망으로 만드는 것을 선호합니다.OpenMPI가 ICC 대신 GCC를 사용하도록 강제하는 방법은 무엇입니까? OpenMPI를 다시 컴파일해야합니까?

예를 들어. Makefile, 그렇다면 희망에 따라 OpenMPI을 내 홈 디렉토리에 컴파일 할 수 있지만 그 후에 수행해야 할 작업에 대한 지침이 필요합니다. 당신이 나를 도울 수?


갱신 1

Makefile

CC = mpicc 
CFLAGS += -DMPI 

그리고 여기가

$ which mpicc 
/usr/bin/mpicc 

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

내가 당신에게 더 많은 정보를 제공 할 수있는 경우 나, 알게 일부 OpenMPI 실행 파일입니다 포함되어 있습니다.


help of Jeff와 UPDATE2는

,이 파일을 편집 그러나, 나는 권한이없는 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= 

에 대한 OpenMPI 설정을 찾을 수 있었고, 'OPMI_CC = gcc 아무튼 t 변경 컴파일러.


갱신 3은

환경 변수 CC = gcc

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

UPDATE4

도움이되지 않습니다 ...하지만 지느러미는 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

은 GCC에 대한 환경 변수 CC 설정을 시도해보십시오 바이 바이 메시지를 가지고 ... 이러한 여러 가지 것을 기억해야한다.

+0

'Makefile'은'CC = mpicc'과'CFLAGS + = -DMPI'를 가지고 있습니다. 그렇지 않으면'mpi' 인터페이스를 얻지 못합니다. 맞습니까? – Andrei

+1

@Andrei : 환경 변수가 아닙니다.위에서 제안한 환경 변수를 설정하는 것뿐만 아니라 그것들도 필요합니다. –

+0

오케이, 제 실수를 봅니다. 나는 당신이 제안한대로 방금 노력했으며, 여전히'icc'입니다. Jeff가 제안한 페이지를 살펴볼 수 있습니까? 나는 그것이 말하는대로합니까? – Andrei