이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 mpiCC.lam 명령입니다.
프로그램:
이름
mpicc, mpiCC / mpic++ - LAM/MPI C/C++ 프로그램을 컴파일합니다.
개요
mpicc [-showme|-showme:컴파일|-showme:링크] ...
mpiCC [-showme|-showme:컴파일|-showme:링크] ...
mpic++ [-showme|-showme:컴파일|-showme:링크] ...
옵션
-보여줘
기본 C/C++ 컴파일러를 호출하지 않습니다. 대신 명령줄이 표시됩니다.
C/C++ 프로그램을 컴파일하기 위해 실행됩니다.
-showme:컴파일
기본 C/C++ 컴파일러를 호출하지 않습니다. 대신 컴파일러를 보여줍니다.
C/C++ 컴파일러에 제공되는 플래그입니다.
-showme:링크
기본 C/C++ 컴파일러를 호출하지 않습니다. 대신 링커 플래그를 표시합니다.
이는 C/C++ 컴파일러에 제공됩니다.
cc(1)과하면 CC(1) (또는 기본 C/C++ 컴파일러가 무엇이든) 기타 모든 경우
옵션을 제공합니다.
기술
엠픽 그리고 엠피CC (엠픽++ 의 동의어입니다 엠피CC 지원하지 않는 파일 이름에 대해 제공됨
대소문자 구분 파일 이름)은 로컬 네이티브 C 및 C++에 대한 편의 래퍼입니다.
컴파일러. LAM 프로그램을 번역하려면 LAM 특정 프로그램의 연결이 필요합니다.
표준 검색 디렉토리 중 하나에 상주하지 않을 수 있는 라이브러리 ld(1). 그것
또한 표준에서 찾을 수 없는 헤더 파일을 포함해야 하는 경우도 많습니다.
위치. 엠픽 -I, -L과 함께 인수를 로컬 네이티브 C 컴파일러에 전달합니다.
및 -l 옵션은 LAM 프로그램에 필요합니다. 여기에는 ROMIO에 필요한 모든 옵션이 포함됩니다.
및/또는 C++ 바인딩 지원(LAM을 컴파일할 때 ROMIO/C++ 지원이 포함된 경우).
엠피CC (따라서 엠픽++)은 비슷하지만 대신 네이티브 C++ 컴파일러를 호출합니다.
LAM 팀 강하게 사용을 권장합니다 엠픽 그리고 엠피CC 링크를 시도하는 대신
LAM 라이브러리를 수동으로. 이를 통해 LAM의 특정 구현을 변경할 수 있습니다.
사용자의 Makefile에 있는 링커 지시문을 강제로 변경하지 않고(특정
기본 LAM 라이브러리는 이미 여러 번 변경되었으며 다시 변경될 가능성이 높습니다.
향후 버전에서는).
실제로, 이후 엠픽/엠피CC 기본 컴파일러 위에 매우 얇은 래퍼가 있습니다.
설득력 있는 이유는 매우 적습니다. 지원 사용 엠픽/엠피CC. 불가능할 때
사용 엠픽/엠피CCWalk Through California 프로그램, -showme:컴파일 그리고 -showme:링크 대신 인수를 사용해야 합니다.
예 :
shell$ cc -c file1.c `mpicc -showme:컴파일`
shell$ cc -c file2.c `mpicc -showme:컴파일`
shell$ cc file1.o file2.o `mpicc -showme:link` -o my_mpi_program
환경 변수
기본적으로, 엠픽 LAM이 구성될 때 선택된 C 컴파일러를 사용합니다(
--with-cc 플래그를 ./configure로 설정하거나 이전에 환경 변수 CC를 설정하여
./configure가 호출됨)을 로컬 네이티브 C 컴파일러로 사용하지만 이는 다음으로 재정의될 수 있습니다.
LAMMPICC 환경 변수(이 환경 변수의 이전 이름은 LAMHCC입니다.
이 방법도 여전히 작동하지만 더 이상 사용되지 않습니다.)
마찬가지로, 엠피CC LAM이 구성될 때 선택된 C++ 컴파일러를 사용합니다(
--with-cpp 플래그를 ./configure로 설정하거나 호출하기 전에 환경 변수 CXX를 설정하여
./configure)가 기본적으로 설정되어 있지만 LAMMPICXX 환경 변수로 재정의될 수 있습니다.
(이 환경 변수의 이전 이름은 LAMHCP입니다. 이 방법도 여전히 작동하지만
사용은 더 이상 사용되지 않습니다).
환경 변수의 경우 램홈 설정됩니다. 엠픽 그리고 엠피CC 그 가치를
컴파일된 값 대신 LAM 설치 디렉터리의 위치
엠픽/엠피CC. 이것은 엠픽/엠피CC 의 값을 사용하게 됩니다. 램홈 베이스로
하위 수준 컴파일러에 전달되는 -I 및 -L 인수를 생성합니다.
다음과 같은 경우 제공된 설치 디렉터리 엠픽/엠피CC 만들어졌습니다. 이것은 거의
항상 나쁜 생각입니다.
사용 램홈 이상하게도 드문 구성 사례를 제외하고는 권장되지 않습니다.
네트워크 사이트(이 경우 시스템 관리자가 설정해야 함)
여러 LAM/MPI를 설치하고 자신이 무엇인지 잘 알고 있는 고급 사용자용
행위; 만약에 램홈 환경 변수가 의도치 않게 설정된 상태로 남아 있으면 다음과 같은 문제가 발생할 수 있습니다.
엄청난 사용자 혼란. 예를 들어, 램홈 LAM 설치 A를 가리키지만
사용자 PATH LAM 설치 B를 가리키면 B가 설치되어 있어도 엠픽 사용될 것이다,
사용자 프로그램은 LAM 설치 A에 대해 컴파일되고 링크됩니다.
The 램홈 환경 변수는 주로 이전 버전과의 호환성을 위해 그대로 남아 있습니다.
LAM/MPI의 정상적인 작동에는 필요하지 않습니다. LAM 팀은 다음의 사용을 권장하지 않습니다.
전에, 램홈 환경 변수를 사용하는 대신 단순히 환경 변수를 설정하는 것을 옹호합니다. PATH 정확히
여러 LAM/MPI 구현 간에 전환합니다.
노트
이전 버전의 LAM에서는 다음을 사용하도록 권장했습니다. HCC 그리고 HCP LAM 및/또는 MPI C를 컴파일하고
각각 C++ 애플리케이션. 아주 오래된 LAM 버전에서는 HCC 그리고 HCP 하지 않았다
자동 추가 -lmpi 명령 줄에. HCC 그리고 HCP 결국 더 이상 사용되지 않으며
로 교체 엠픽 그리고 엠피CC (또는 엠픽++ 대소문자를 구분하지 않는 파일 시스템에서). 그만큼
실행 파일 HCC 그리고 HCP 이제는 단순히 심볼릭 링크입니다. 엠픽 그리고 엠픽++각각
아직도 그 이름을 사용하는 사람이 있을 경우를 대비해 말이죠. 무해해야 한다
추가로 통과시키려면 -lmpi; 엠픽 그리고 엠픽++ 조용히 옳은 일을 해야 한다(오직
MPI 라이브러리에 한 번 링크하십시오).
onworks.net 서비스를 사용하여 온라인으로 mpiCC.lam을 사용하세요.