FAQ

1.公募

A1.01. お試しとしてクラスAの申請をご検討ください。本クラスの申請は随時受け付けております。詳しくはこちらをご参照ください。

2.システムB ohtaka

A2.01. システムB ohtakaではpstatというコマンドを実行することで、各パーティションで実行中や実行待ちのジョブがいくつあるかを把握することができます。

A2.02. ノードでアサイン可能な最大メモリ量がsrun毎に要求されてしまうため、bulkジョブで1ノード内でsrunコマンドを複数回実行する場合には以下のようなオプションをつけていただく必要があります。

 

srun -N 1 -n 1 -c 32 –mem-per-cpu=1840 a.out

 

詳しくはシステムBの利用手引きをご参照ください。

A2.03. 例えば、squeue -o “%i %P %T %S  %Z”を実行すると、

JOBID  PARTITION  STATE    START_TIME      WORK_DIR 

を確認することができます。”START_TIME”列が実行予測時間、”WORK_DIR”列がディレクトリパスです。なお、”%10P”のように”%”の後に数字を入力すると、それに対応した文字数が出力されます。squeueコマンドのオプション内容の詳細については、man squeueを実行すると確認できます。

A2.04. プログラムに依存するので、一概にはコメントできませんが、ハイブリッド並列対応の第一原理電子状態計算コードOpenMXのベンチマーク結果(runtest)をsekirei, enaga, ohtakaで比較すると、以下のようになります。

System B (sekirei) at ISSP, Univ. of Tokyo (Intel Xeon E5-2680v3 12core 2.5GHz)
icc version 18.0.5, compiler option: -O3 -xHOST -ip -no-prec-div -qopenmp -Dkcomp -fp-model precise
6 processes (MPI) x 4 thread (OpenMP)

Total elapsed time (s) 177.21
System C (enaga) at ISSP, Univ. of Tokyo (Intel Xeon 6148 20core 2.4GHz) 
icc version 18.0.5, compiler option: -O3 -xHOST -ip -no-prec-div -qopenmp -Dkcomp -fp-model precise 
5 processes (MPI) x 4 thread (OpenMP) 

Total elapsed time (s) 137.06
System B (ohtaka) (AMD EPYC 7702 (64core) ×2 , 2.0GHz )
 icc version 19.1.2.254, compiler option: -O3 -march=core-avx2 -ip -no-prec-div -qopenmp -I${MKLROOT}/include/fftw -parallel -par-schedule-auto -static-intel -qopenmp-link=static -qopt-malloc-options=3 -qopt-report 
(module load intel_compiler/2019.5.281 intel_mkl/2019.5.281 openmpi/4.0.4-intel-2019.5.281) 
32processes (MPI) x 4 thread (OpenMP) 

Total elapsed time (s) 53.43

System B (ohtaka) (AMD EPYC 7702 (64core) ×2 , 2.0GHz )
icc version 19.1.2.254, compiler option: -O3 -march=core-avx2 -ip -no-prec-div -qopenmp -I${MKLROOT}/include/fftw -parallel -par-schedule-auto -static-intel -qopenmp-link=static -qopt-malloc-options=3 -qopt-report 
(module load intel_compiler/2019.5.281 intel_mkl/2019.5.281 openmpi/4.0.4-intel-2019.5.281)
6 processes (MPI) x 4 thread (OpenMP)
Total elapsed time (s) 83.29

A 2.05. ホームディレクトリのパーミッションを変更するとsshの制限でアクセス不可となります。
管理者側での対応となりますので、お問い合わせ先(center_b_at_issp.u-tokyo.ac.jp)にご連絡ください。

A 2.06. 共有ファイルシステム(/home, /work)の負荷状況によりquota値が即座に反映されない場合があります。
少し時間をおいてから再度chquotaを実行してください。
また、長期間にわたりquota値に変化が見られない場合はお問い合わせ先(center_b_at_issp.u-tokyo.ac.jp)にご連絡ください。

A 2.07. OSの共有メモリ領域不足の可能性があります。
計算ノード上のカーネルパラメタ見直しの可能性があるため、お問い合わせ先(center_b_at_issp.u-tokyo.ac.jp)にご連絡ください。

A 2.08. バルクジョブ実行時のsrun数が上限に達している可能性があります。
現在の運用ではバルクジョブ実行時の同時実行srun数の上限を2,500に設定しております。
スクリプト内の同時実行srun数をご確認ください。
srun数が2,500以下で実行されている場合は、お問い合わせ先(center_b_at_issp.u-tokyo.ac.jp)にご連絡ください。

A2.09.

2022年9月現在、 defaultの環境ではMPI_COMM_SPAWNが正しく機能しません。
MPI_COMM_SPAWNを正しく機能させるには、
IntelOneAPIのコンパイラ及びMPIライブラリを

module purge
module load oneapi_compiler/2022.1.2 oneapi_mpi/2022.1.2

で loadし、 環境変数を

I_MPI_SPAWN=on
SLURM_EXACT=1

と設定し、SBATCHオプションでコア当たりのメモリ使用量を

#SBATCH --mem-per-cpu 1840

のように指定してください。

なお、コア当たりのメモリ使用量をインタラクティブジョブ中に指定する際は、srun実行時に

srun --mem-per-cpu=1840

のように指定してください。

ホームディレクトリの内容をご自身のグループで参照させたい場合、
ACLという機能が利用できます。

 

例えば、k9999グループに自身の k999901 のホームディレクトリを参照させる場合、

cd /home/k9999
setfacl -m group:k9999:r-x ./k999901

と実行していただくことで k9999 のグループの方はアクセス可能となります。

 

また、以下のとおりユーザを指定することも可能です。
k999902 に自身の k999901 のホームディレクトリを参照させる場合、
setfacl -m user: k999902:r-x ./k999901
となります。

設定したACLを確認するには以下のコマンドを使用します。

getfacl ./k999901

A2.11.

2023/04に実施したインテルコンパイラのバージョンアップにおける

Intel oneAPI MPIのノード内通信で用いる共有メモリ機構変更に伴う影響が原因であると考えられるため、

ジョブスクリプト内のプログラム実行前に以下の共有メモリ機構を変更する環境変数にてpsm3を指定し状況が改善するか確認してください。

  環境変数)

   export FI_PROVIDER=psm3

A.2.12.

使用ノード数を抑えつつ、多数のタスクを実行したい場合は、以下のスクリプト例を参考に同時に実行するsrunの数をコントロールしてください。

このサンプルでは、1ノードを使いそれぞれ1CPUコアの計算を3000回を繰り返します。

 


#SBATCH -p XXX #パーティションを指定
#SBATCH --nodes=1
#SBATCH --ntasks=128
#SBATCH --cpus-per-task=1
 
TOTAL_TASKS=3000 # 繰り返し実行するタスク(プロセス)総数
EXE="myapp -a -b -c" # アプリを実行するためのコマンド
SRUN_OPTS="-N 1 -n 1 -c 1 --mem-per-cpu=1840 --exclusive"
 
CONCURRENT_TASKS=$SLURM_NTASKS # 同時実行数
WAIT_TIME=10 # srun 終了をチェックする間隔(秒)
 
count=0
task_id=()
while [ $TOTAL_TASKS -gt $count ]; do
        for ((i=0;i<$CONCURRENT_TASKS;i++)); do
                pid=${task_id[i]:=dammy}
                if [ ! -d /proc/$pid ]; then
                        # srun を実行して PID を保存します
                        srun $SRUN_OPTS $EXE & task_id[$i]=$!
                        count=$((++count))
                        [ $TOTAL_TASKS -eq $count ] && break
                fi
        done
 
        if ps | grep -q srun; then
                sleep $WAIT_TIME
        fi
done
 
wait # すべてのタスク終了を待ちます

4.データリポジトリ

A4.1. 記載方法に関しては、ポータルサイトのページ右上にある「About」-「How to register your dataset」に詳細な説明があります。

A4.2. 物質科学に関連した研究データであるか、およびデフォルトの値よりも多い容量を要求された場合には要求された容量が妥当か(データ量の見積もり、ニーズ・シーズのバランスが取れているかなど)、といった点を判断基準にしています。

A4.3. 月に一度の物質設計評価施設設計部の定例会で審査を行います。そのため、審査には最大で一ヶ月程度の時間がかかります。

A4.4. 申請時にRepository Size (GB)に必要な容量とその根拠(データレコード数xxx1レコードあたりxxxバイト程度など)を記載ください。また、申請後にそれ以上のサイズが必要になった場合には、下記お問い合わせ先にご連絡ください。申請内容をもとに検討し、承認された場合には2GB以上の使用が可能です。

A4.5. 登録するデータは公開することを推奨しています。非公開設定にする場合は、プロジェクト作成から5年までの期間を目安に公開してください。それ以上の期間非公開を希望する場合には、期限前に下記お問い合わせ先にご連絡ください。

A4.6. 追加で新規プロジェクトを作成するには再度ポータルサイトより申請してください。

A4.7. ポータルサイトの情報について修正や追記を行いたい場合には、データリポジトリページに記載されているお問い合わせ先に修正内容と一緒にご連絡ください。

A4.8.

シミュレーションデータの場合には、

  • 使用したソフトウェアの入力ファイル
  • 入力ファイルを生成するための手順・ツール
  • シミュレーションにより得られた出力ファイル
  • 出力ファイルを加工した手順・ツール

といった情報一式の提供が望まれます。また、ソフトウェアはバージョンによって入力・出力ファイルの形式が、計算環境によっては計算結果が異なる場合があります。そのため、情報の再現性という観点からは、

  • 使用したソフトウェアのバージョン
  • コンパイルした場合の情報
  • 計算を実行した環境

などの情報も同時に掲載することが望ましいです。なお、シミュレーションにより得られた出力ファイルのファイルサイズが大きい場合には、ソフトウェアの実行手順詳細を記載し、同一の出力ファイルが生成できる状態にするといった代替案が考えられます。

なお、登録時にお渡しするマニュアルにフォルダ構成案やチェックシートが掲載されています。また、既存のプロジェクト(https://isspns-gitlab.issp.u-tokyo.ac.jp/k-yoshimi/physrevresearch_vol2_page032072r_year2020 etc.)も参考にしてください。