코드 실행하기 (고급)¶
참고
각 명령어의 help에서 자세한 사용법을 확인할 것을 권장합니다. help는 -h
혹은 --help
를 명령어의 인자로 입력하여 불러올 수 있습니다.
동시 세션 실행하기¶
run
명령어는 Running simple sessions 에 설명되어 있는 단일 세션 실행뿐만 아니라 여러 세션의 동시 실행 기능을 제공하고, 이 때 --exec
옵션으로 입력되는 인수와 -e
/ --env
옵션으로 입력되는 환경 변수가 사용됩니다.
--exec
옵션에 해당하는 변수를 설정할 때에는 --exec-range
이 사용되고, --env
옵션에 해당하는 변수를 설정할 때에는 --env-range
이 사용됩니다.
아래는 4개의 세션을 생성하도록 환경 변수의 범위를 설정하는 예시입니다.
backend.ai run -c 'import os; print("Hello world, {}".format(os.environ["CASENO"]))' \
-r cpu=1 -r mem=256m \
-e 'CASENO=$X' \
--env-range=X=case:1,2,3,4 \
lablup/python:3.6-ubuntu18.04
range 옵션은 “range expressions” 라는 형식의 인자를 입력 받습니다. range 옵션의 앞 부분은 해당 변수와 등호(=
)로 이루어져 있습니다. 뒷 부분은 아래에 나열된 종류의 형식의 식입니다.
식 (Expression) |
설명 |
---|---|
|
문자열 또는 숫자로 구성된 배열 |
|
|
|
파이썬의 |
run
명령어에 여러 개의 range 옵션을 입력하면 클라이언트는 각 범위로 정의된 값들의 모든 조합에 해당하는 개수의 세션을 생성합니다.
참고
생성된 세션을 실행하기 위한 사용자 혹은 클러스터의 자원이 부족하면 일부 세션은 큐에 추가되어 커맨드가 실행되는 데에 오랜 시간이 걸릴 수 있습니다.
경고
위의 기능은 클라이언트에서 구현되었기 때문에 모든 케이스가 완료 될 때까지 클라이언트는 서버와의 연결을 유지해야 합니다. 서버의 batch job 스케줄링은 현재 개발 중입니다!