영어프랑스어스페인어

Ad


온웍스 파비콘

lamexec - 클라우드의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 lamexec 실행

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 lamexec 명령입니다.

프로그램:

이름


lamexec - LAM 노드에서 비 MPI 프로그램을 실행합니다.

개요


lamexec [-fhvD] [-c # | -np #] [-nw | -w] [-pty] [-s 노드] [-x
VAR1[=VALUE1][,VAR2[=VALUE2],...]] [여기서] 프로그램 [-- 인수]

옵션


-c # 동의어 -np (아래 참조).

-D 생성된 프로그램의 현재 작업 디렉토리로 실행 가능한 프로그램 위치를 사용합니다.
프로세스. 생성된 프로세스의 현재 작업 디렉토리가 설정됩니다.
사용자 프로그램이 호출되기 전에.

-f 표준 I/O 파일 설명자를 구성하지 마십시오. 기본값을 사용하십시오.

-h 이 명령에 대한 유용한 정보를 인쇄합니다.

-np # (아래 참조). 주어진 노드에서 이만큼의 프로그램 복사본을 실행합니다. 이것
옵션은 지정된 파일이 실행 가능한 프로그램이며 파일이 아님을 나타냅니다.
애플리케이션 스키마. 노드를 지정하지 않으면 모든 LAM 노드가 고려됩니다.
스케줄링; LAM은 라운드 로빈 방식으로 프로그램 일정을 계획합니다.
필요한 경우 "(및 단일 노드에서 여러 복사본 예약).

-nw 종료하기 전에 모든 프로세스가 완료될 때까지 기다리지 마십시오. 라멕섹. 이 옵션
와 상호 배타적입니다. -w.

-pty pseudo-tty 지원을 활성화합니다. 무엇보다도 이것은 라인 버퍼링을 활성화했습니다.
출력(아마도 원하는 것일 것입니다). 이 기능이 있는 유일한 이유는
기본적으로 활성화되어 있지 않은 것은 매우 새롭고 광범위하게 적용되지 않았기 때문입니다.
아직 테스트했습니다.

-s 노드 이 노드에서 프로그램을 로드합니다. 이 옵션은 명령줄에서 유효하지 않습니다.
애플리케이션 스키마가 지정된 경우.

-v 장황하게 말하십시오. 중요한 단계가 완료되면 보고합니다.

-w 전에 모든 응용 프로그램이 종료될 때까지 기다리십시오. 라멕섹 출구.

-x 실행하기 전에 지정된 환경 변수를 원격 노드로 내보냅니다.
프로그램. 기존 환경 변수를 지정할 수 있습니다(예제 참조).
섹션, 아래) 또는 해당 값으로 지정된 새 변수 이름. 그만큼
파서 -x 옵션은 그다지 정교하지 않습니다. 그것은 심지어 이해하지 못한다
인용 값. 사용자는 환경에서 변수를 설정하는 것이 좋습니다.
사용 -x 내보내기(정의하지 않음)합니다.

어디에 시작할 위치를 나타내는 노드 및/또는 CPU 식별자 세트

-- 인수 이러한 런타임 인수를 모든 새 프로세스에 전달합니다. 이것은 항상 마지막이어야합니다
인수 라멕섹. 이 옵션은 다음과 같은 경우 명령줄에서 유효하지 않습니다.
애플리케이션 스키마가 지정됩니다.

기술


라멕섹 본질적으로 음피룬(1), MPI가 아닌 프로그램용입니다.

하나의 호출 라멕섹 LAM에서 실행되는 비 MPI 애플리케이션을 시작합니다. 시작하려면
모든 LAM 노드에서 동일한 프로그램을 사용하면 애플리케이션을 라멕섹 명령
선. LAM 노드에서 여러 애플리케이션을 시작하려면 애플리케이션 스키마가 필요합니다.
별도의 파일로. 보다 앱스키마(5) 애플리케이션 스키마 구문에 대한 설명은,
그러나 본질적으로 여러 라멕섹 명령줄, 명령 이름 자체는 적습니다.
프로그램의 다른 인스턴스화에 대해 다른 옵션을 지정하는 기능은
애플리케이션 스키마를 사용하는 또 다른 이유.

장소 명명법
SYNOPSIS에서 언급된 where 절에 사용되는 위치 명명법
위의 섹션은 다음과 동일합니다. 음피룬(1)의 명명법. 참조 음피룬(1) 매뉴얼 페이지
위치 명명법에 대한 긴 토론.

by-CPU 구문은 다음에 대해 유효하지만 라멕섹, 그다지 의미가 없습니다.
MPI_COMM_WORLD의 프로세스 순위 순서는 관련이 없습니다. 이와 같이 노드별 명명법
일반적으로 라멕섹.

어플리케이션 개요 or 실행 파일 프로그램?
두 가지 형태를 구별하기 위해, 라멕섹 명령줄에서 노드를 찾거나
-c 옵션. 둘 다 지정되지 않으면 명령줄에 이름이 지정된 파일이 다음으로 간주됩니다.
애플리케이션 스키마여야 합니다. 둘 중 하나 또는 둘 다를 지정하면 파일이 사용됩니다.
실행 가능한 프로그램이 되도록 합니다. 노드와 -c 둘 다 지정된 다음
프로그램은 내부 LAM 스케줄링 정책에 따라 지정된 노드에서 시작됩니다.
하나의 노드만 지정하면 효과적으로 LAM이 프로그램의 모든 복사본을 하나의 노드에서 실행하게 됩니다.
장소. 만약에 -c 노드가 아닌 경우 모든 LAM 노드가 사용됩니다. 노드가 주어지면
하지만 -c, 프로그램의 한 복사본이 각 노드에서 실행됩니다.

프로그램 토큰 전송
기본적으로 LAM은 특정 노드가 있는 대상 노드에서 실행 가능한 프로그램을 검색합니다.
인스턴스화가 실행됩니다. 파일 시스템이 공유되지 않으면 대상 노드는
프로그램이 자주 재컴파일되므로 LAM이 있으면 편리합니다.
소스 노드(일반적으로 로컬 노드)에서 각 대상 노드로 프로그램을 전송합니다. 그만큼
-s 옵션은 이 동작을 지정하고 단일 소스 노드를 식별합니다.

위치 파일
LAM은 사용자의 PATH에서 디렉토리를 검색하여 실행 가능한 프로그램을 찾습니다.
소스 노드에 정의된 환경 변수. 이 동작은 다음과 일치합니다.
소스 노드에 로그인하고 셸에서 프로그램을 실행합니다. 원격 노드에서
"." 경로는 홈 디렉토리입니다.

LAM은 다음 세 가지 디렉토리에서 애플리케이션 스키마를 찾습니다. 로컬 디렉토리, 값
LMAPPLDIR 환경 변수 및 laminstalldir/boot, 여기서 "laminstalldir"은
LAM/MPI가 설치된 디렉토리.

ㅁㄴㅇㄹ I / O
LAM은 UNIX 표준 입력을 모든 원격 노드의 /dev/null로 지정합니다. 로컬 노드에서
호출 라멕섹, 표준 입력은 다음에서 상속됩니다. 라멕섹. 기본값은 기존에 사용하던
-w 옵션은 터미널에 대한 충돌 액세스를 방지합니다.

LAM은 UNIX 표준 출력 및 오류를 모든 원격 노드의 LAM 데몬으로 보냅니다. 도주
캡처된 모든 출력/오류를 호출한 노드로 배송합니다. 라멕섹 에 인쇄합니다.
표준 출력/오류 라멕섹. 로컬 프로세스는 다음의 표준 출력/오류를 상속합니다.
라멕섹 직접 전송하십시오.

따라서 일반적인
셸 리디렉션 절차 라멕섹.

% laexec N my_app my_input my_output

XNUMXD덴탈의 -f 옵션은 위에서 설명한 표준 I/O를 지원하는 데 필요한 모든 설정을 피합니다.
원격 프로세스는 완전히 /dev/null로 지정되고 로컬 프로세스는 파일을 상속합니다.
설명자 램부트(1).

의사 tty SUPPORT
XNUMXD덴탈의 -pty 옵션은 프로세스 출력에 대한 pseudo-tty 지원을 활성화했습니다. 이를 통해 무엇보다도
원격 노드에서 라인 버퍼링된 출력을 위한 것입니다(아마도 원하는 것일 것입니다).

이 옵션은 현재 기본값이 아닙니다. 라멕섹 철저히 하지 않았기 때문에
다양한 Unix에서 테스트되었습니다. 사용자가 사용하는 것이 좋습니다 -pty 보고하고
LAM 팀에 다시 문제를 전달합니다.

Current 명부 담당
로컬 노드에서 생성된 새 프로세스의 현재 작업 디렉토리가 상속됩니다.
라멕섹. 원격 노드에서 생성된 새 프로세스의 현재 작업 디렉토리는 다음과 같습니다.
원격 사용자의 홈 디렉토리. 이 기본 동작은 -D 옵션을 선택합니다.

XNUMXD덴탈의 -D 옵션은 새 프로세스의 현재 작업 디렉토리를 디렉토리로 변경합니다.
새 사용자의 프로그램이 호출되기 전에 실행 파일이 상주하는 곳.

에 대한 대안 -D 옵션은 -wd 옵션을 선택합니다. -wd 사용자가
임의의 현재 작업 디렉토리(vs. 실행 파일의 위치). 참고
-wd 옵션은 애플리케이션 스키마 파일에서 사용할 수 있습니다(참조 앱스키마(5)) 뿐만 아니라.

방법 환경
응용 프로그램의 프로세스는 노드의 LAM 데몬에서 환경을 상속합니다.
그들이 실행중인. LAM 데몬의 환경은 부팅 시 고정됩니다.
램부트(1) 사용자의 셸에서 상속됩니다. 오리진 노드에서 이것은
껍데기가 되어라. 램부트(1)이 호출되었고 원격 노드에서 이것은 쉘이 됩니다.
에 의해 시작 rsh(1). 동적으로 연결된 응용 프로그램을 실행할 때
LD_LIBRARY_PATH 환경 변수를 설정할 수 있도록 주의해야 합니다.
LAM을 부팅할 때 올바르게 설정하십시오.

수출 환경 변수
XNUMXD덴탈의 -x ~에 대한 옵션 라멕섹 특정 환경 변수를 새로운 환경 변수로 내보내는 데 사용할 수 있습니다.
프로세스. 구문은 -x 옵션을 사용하면 새 변수를 정의할 수 있습니다.
이 옵션에 대한 구문 분석기는 현재 그다지 정교하지 않습니다.
인용된 값을 이해합니다. 사용자는 환경에서 변수를 설정하고 사용하는 것이 좋습니다.
-x 그들을 수출하기 위해; 그들을 정의하지 않습니다.

사용 예


라멕섹 N prog1
모든 노드에서 prog1을 로드하고 실행합니다. 각 노드에서 실행 파일을 검색합니다.

라멕섹 -c 8 prog1
LAM이 실행하려는 곳마다 prog8의 1개 복사본을 실행합니다.

laexec n8-10 -v -nw -s n3 prog1 -- -q
노드 1, 8, 9에서 prog10을 로드하고 실행합니다. 노드 1에서 prog3을 검색하고 전송합니다.
XNUMX개의 대상 노드에 전달합니다. 각 프로세스가 생성될 때 보고합니다. "-q"를
각각의 새 프로세스에 대한 명령줄. 프로세스가 완료될 때까지 기다리지 마십시오.
출구 라멕섹.

laexec -v myapp
애플리케이션 스키마 myapp를 구문 분석하고 여기에 지정된 모든 프로세스를 시작합니다. 보고서
각각의 프로세스가 생성될 때.

lamexec NN -pty -wd /workstuff/output -x DISPLAY run_app.csh
애플리케이션 "run_app.csh"(C 쉘 스크립트라고 가정)를 각 노드에서 두 번 실행하십시오.
시스템(양방향 SMP에 이상적). 또한 pseudo-tty 지원 활성화, 디렉토리 변경
/workstuff/output으로 이동하고 DISPLAY 변수를 새 프로세스로 내보냅니다(아마도
쉘 스크립트는 출력을 표시하기 위해 xv와 같은 X 응용 프로그램을 호출합니다.

laexec -np 5 -D `pwd`/my_application
일반적인 사용법 라멕섹 모두가 파일 시스템을 공유하는 환경에서
쉘 이스케이프된 "pwd" 명령을 사용하여 다중 컴퓨터의 노드는 전체 노드를 지정합니다.
실행할 실행 파일의 이름입니다. 이렇게 하면 디렉토리를 넣을 필요가 없습니다.
경로; 원격 노트는 실행할 절대 파일 이름을 갖게 됩니다(그리고 변경
호출 시 디렉토리로 이동).

진단


lamexec: Exec 형식 오류
애플리케이션 스키마에서 ASCII가 아닌 문자가 감지되었습니다. 이것은 일반적으로
명령줄 사용 오류 라멕섹 애플리케이션 스키마와
실행 파일을 주었다.

lamexec: 애플리케이션 스키마의 구문 오류, XXX행
애플리케이션 스키마의 사용법 또는 구문 오류로 인해 구문 분석할 수 없습니다.
파일에 주어진 라인.

파일 이름: 해당 파일 또는 디렉터리가 없습니다.
이 오류는 두 가지 경우에 발생할 수 있습니다. 명명된 파일을 찾을 수 없거나
찾았지만 사용자에게 프로그램을 실행할 충분한 권한이 없거나
애플리케이션 스키마를 읽습니다.

RETURN VALUE


라멕섹 모든 프로세스가 다음에 의해 시작된 경우 0을 반환합니다. 라멕섹 정상적으로 종료합니다. XNUMX이 아닌 값은
lamexec에서 내부 오류가 발생했거나 하나 이상의 프로세스가 종료된 경우 반환됩니다.
비정상적으로. lamexec에서 내부 오류가 발생한 경우 해당 오류 코드는 다음과 같습니다.
돌아왔다. 하나 이상의 프로세스가 XNUMX이 아닌 종료 코드로 종료되는 경우
프로세스의 반환 값 라멕섹 비정상적으로 사망한 첫 번째 알림은 반환됩니다.
일반적으로 이것은 사망한 첫 번째 프로세스이지만 이것이 보장되지는 않습니다.
그렇게.

그러나 -nw 스위치가 사용되면 lamexec의 반환 값은
시작된 프로세스의 종료 상태를 나타냅니다.

onworks.net 서비스를 사용하여 온라인에서 lamexec 사용


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

Linux 명령

Ad