저는 C 셸이 있는 UNIX 워크스테이션을 사용하고 있습니다. 두 개의 mpif90 컴파일러가 시스템에 설치되어 있습니다. 하나는 ifort를 사용하여 컴파일되고 다른 하나는 gfortran을 사용하여 컴파일됩니다. 기본 mpi 컴파일러는 gfortran으로 컴파일됩니다.
이제 기본 컴파일러를 ifort 컴파일러로 변경하고 싶습니다. "/usr/local/mvapich2-icc/bin" 폴더에 저장됩니다. 그래서 ~/.cshrc 파일에 다음을 추가했습니다.
setenv mpif90 /usr/local/mvapich2-icc/bin/mpif90
터미널에서 "source ~/.cshrc"를 실행하세요. 그러나 이는 별 효과가 없는 것 같습니다. " which mpif90"을 입력하면 표시되는 경로는 여전히 gfortran에서 컴파일한 경로입니다.
호출된 기본 컴파일러가 ifort에 의해 컴파일된 컴파일러가 되도록 환경을 올바르게 설정하려면 어떻게 해야 합니까?
어떤 도움이라도 대단히 감사하겠습니다. 감사해요.
답변1
가장 쉬운 방법은 $PATH를 조정하는 것입니다.
set path = (/usr/local/mvapich2-icc/bin $path)
그러나 이는 /usr/local/mvapich2-icc/bin/에 있는 모든 실행 파일이 기본 경로의 실행 파일보다 먼저 발견된다는 것을 의미합니다. 아마도 원하지 않을 것입니다(잘 모르겠습니다).
이제 Makefile을 사용하여 소프트웨어를 컴파일하는 경우 적절한 MPI 컴파일러를 사용하도록 그 안에 변수를 정의하는 것이 더 나을 것입니다.