Alma Linux 9 上で IC Compiler 2 (X-2025.06) を使おうとしているのだが,不安定で必ずコアダンプして死ぬ.
% icc2_shell -64 -gui
(略)
ディレクトリを開こうとすると
(略)
/cad/synopsys/icc2/icc2_ver/bin/icc2_shell: 380 行: 2337728 Illegal instruction (コアダンプ) ${CONTAINER} ${REAL_EXEC_NAME} -root_path ${SYNOPSYS_ROOT} ${ARGS}
(Illegal instructionってでるのがおかしい気がするが,アーキテクチャの判定はちゃんとLinux64 の様だ)
もういい,仮想環境使うもん,ということで Synopsys Container を使ってみる.Singularity をベースにしているらしい.今使おうとしているコンテナは CentOS7 らしい.なので ICC2 もそれ相応に古いものにしてみる (Q-2019.12-SP2 にした).
基本的にはマニュアル通りに入れればよい.
・Synopsys Container は Synopsys Installer で普通の CAD と同じようにインストール.
・Singularity は指定のバージョンをダウンロード.インストールは NFS でもローカルでもどちらでも OK.
% cd /cad/synopsys
% mkdir singularity
% cd singularity
% tar -xvfz ~/singularity.tar.gz
% sudo ./singularity_install --prefix=/path/to/singularity
・コンテナの設定ファイルを作成する.
% cd /cad/synopsys/installer/installer_ver/container_setup
% ./container_setup.sh config -source /cad/synopsys/snps_container/container_ver -exe /cad/synopsys/singularity/bin/singularity
./container_setup.sh は .synopsys_container 構成ファイル,デフォルトのコンテナイメージ (CentOS7),そのオートマウントを作成するらしい.
・コンテナの設定ファイルを CAD にデプロイする.
% ./container_setup.sh deploy -target /cad/synopsys/icc2/icc2_ver/
INFO: Update /cad/synopsys/icc2/icc2_ver/.snps_container
この状態で,各CADに -container オプションをつけて起動する.
% icc2_shell -64 -gui -container
Alma Linux 9 で古い IC Compiler 2 が起動した.
注意点(?)
提供されている Singularity の環境では,ユーザーの $HOME が存在するデバイスはパスも再現されてマウントされるが他のデバイスはマウントされていないっぽい.
例えば実態が
/mnt/ssd + /home + /user1
+ /user2
+ /cad + /synopsys
+ /cadence
でそれぞれシンボリックリンクを
/home -> /mnt/ssd/home
/cad -> /mnt/ssd/cad
というように作っていると,/home/user1 は Singularity 環境もアクセスできるが,/home/user2,/cad などはアクセスができない./mnt/ssd/home/user2 や /mnt/ssd/cad/synopsys などはアクセスができる.
多分 container_setup.sh の設定次第で何をどこにマウントするなどは制御できるとは思われるのだが….
0 件のコメント:
コメントを投稿