コンテンツにスキップ

コンテナ

コンテナ

Alma9からCentOS7等のOS用解析環境を使う方法

ここでは、CentOS7を例として用いますが、他のOS(例えばslc6)を使うこともできます。 全てのイメージのリストは

setupATLAS -c --showVersions
で見ることができます。

インタラクティブな使用

ログインノード(login.icepp.jp) では以下のようにして、ATLASのCentOS7その他の環境に入ることができます。

setupATLAS -c centos7 -m /gpfs:/gpfs
この例では/gpfs以下がコンテナ環境内でも見られるようにしています。centos7の部分を変更すると他のOS環境も使えます。

上のコマンドでは、ATLASが用意したイメージが利用されますが、例えばemacsなどのパッケージが入っていません。 地域解析センターのユーザー向けに用意したCentOS7のイメージがありますので、こちらもご利用頂けます。 その場合は、上記のsetupATLAS....の代わりに以下のようにしてください。

setupATLAS -c /cvmfs/unpacked.cern.ch/ghcr.io/icepp-rc/icepp-centos7:latest -m /gpfs:/gpfs
また、パッケージが不足している場合は管理者にご連絡ください。

バッチジョブでの使用

例として、/gpfs/myname/work/dir/にAthenaを用いた解析ソフトウェアがある場合をとります。 解析ソフトウェアはコンテナ内ですでにbuildされているものとします。まだの場合はインタラクティブにコンテナに入ってbuildしてください。

condor_submitに渡すジョブ定義ファイルは

executable = /gpfs/myname/work/dir/run/exec.sh
getenv     = True
job_queue  = q1d
arguments  = ""
output     = test.$(ClusterId).$(ProcId).out
error      = test.$(ClusterId).$(ProcId).err
log        = test.$(ClusterId).$(ProcId).log
queue
のようにexecutableにシェルスクリプトを指定します。

このスクリプト(exec.sh)のなかで、コンテナ環境に入り解析実行するためのスクリプト(run.sh)を呼び出します。

exec.sh
export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/
export ALRB_CONT_RUNPAYLOAD="/gpfs/myname/work/dir/run/run.sh $@"
source $ATLAS_LOCAL_ROOT_BASE/user/atlasLocalSetup.sh -c centos7 -m /gpfs:/gpfs

実行スクリプト(run.sh)の中で環境設定のあと、実際の解析スクリプトを実行します。4行目のasetupでbuildの際のAthena環境を読み込んで設定しています。(2,3,7行目では位置パラメータをリセット+再設定しています。これはasetupが位置パラメータを読み込んでしまうのを防止するためです。argumentsを使用していない場合(空文字列の場合)は2,3,7行目の処理は必要ありません。)

run.sh
1
2
3
4
5
6
7
8
cd /gpfs/myname/work/dir/build
ARGS=("$@")
set --
source $AtlasSetup/scripts/asetup.sh
source /gpfs/myname/work/dir/build/x86_64-centos7-gcc11-opt/setup.sh
cd /gpfs/myname/work/dir/run
set -- "${ARGS[@]}"
/gpfs/myname/work/dir/build/x86_64-centos7-gcc11-opt/bin/ATestRun_eljob.py --submission-dir=test1

run.shの中でジョブ定義ファイルのargumentsを利用する場合は、"$@"で引数全部、もしくは$1$2$3などで個々の引数を参照できます。

run.shとexec.shを実行できるようにする

cd /gpfs/myname/work/dir/run
chmod +x run.sh exec.sh

上記を使ったcondor_submitはコンテナ外でも、コンテナ内でも実行できます。 コンテナ内から実行する時は、

setupATLAS -c centos7 -m /gpfs:/gpfs -b
のように-bオプションをつけてください。

© 2024 ICEPP, the University of Tokyo.
Reproduction of the article, figures and tables on this page is allowed as specified in the CC-BY-4.0 license.