XC30:よくある質問とその答え (FAQ)

問い合わせ窓口から寄せられる質問のうち、よくあるものとその対処法は以下の通りです。
エラーが発生して問い合わせをされる前に、同じような症状ではないか確認をお願いします。

(最終更新日: 平成29年6月30日)


目次


Q.NISパスワードを変更したい。
A.
以下のコマンド

$ passwd user_id

で変更することができます。
反映に数分かかるのでご注意下さい。
また、CfCAの他の機材(解析サーバなど)とパスワードが共通化されていますので、パスワード変更を行うと他の機材にも反映されます。


Q.ログインシェルを変更したい。
A.
以下のコマンド

$  chsh user_id

で変更することができます。/bin/bash, /bin/csh, /bin/tcsh, /bin/kshが選択可能です。
パスワード変更と同様に反映に数分かかるのでご注意下さい。
また、現在使用しているシェルは

$ finger user_id

で確認できます。


Q.以下のようなエラーが出てジョブが走らない

export: Command not found.

A.
ログインシェルとスクリプトの記法の不一致によってジョブがうまく投げられないという例があります。
特に利用手引きのスクリプト例はbashで書かれていますので、csh,tcshユーザーはご注意ください。
例えば、csh,tcshユーザーがジョブスクリプト中で

export OMP_NUM_THREADS=1

としても認識されません。 cshの場合は

setenv OMP_NUM_THREADS 1

と記述して下さい。


Q.以下のようなエラーでコンパイルが止まってしまう。

Linking ...
/opt/cray/mpt/5.6.3/gni/mpich2-cray/74/lib/libmpich_cray.a(hogehoge.o): In
function `MPID_nem_gni_process_remote_data_ack':
hogehoge.c:(.text+0x15b): relocation truncated to fit: R_X86_64_32S against
symbol `MPID_nem_gni_send_recv_bufs' defined in COMMON section in
/opt/cray/mpt/5.6.3/gni/mpich2-cray/74/lib/libmpich_cray.a(hoge.o)
hogehoge.c:(.text+0x216): relocation truncated to fit: R_X86_64_32S against
symbol `MPID_nem_gni_send_bufs' defined in COMMON section in
/opt/cray/mpt/5.6.3/gni/mpich2-cray/74/lib/libmpich_cray.a(hoge.o)
hogehoge.c:(.text+0x222): relocation truncated to fit: R_X86_64_32S against
symbol `MPID_nem_gni_g2g_bufs' defined in COMMON section in
/opt/cray/mpt/5.6.3/gni/mpich2-cray/74/lib/libmpich_cray.a(hoge.o)
/opt/cray/mpt/5.6.3/gni/mpich2-cray/74/lib/libmpich_cray.a(hogehoge.o): In
function `MPID_nem_gni_process_ch3_pkt_w_data':
hogehoge.c:(.text+0x3f7): relocation truncated to fit: R_X86_64_PC32 against
symbol `_cray_mpi_memcpy' defined in COMMON section in
/opt/cray/mpt/5.6.3/gni/mpich2-cray/74/lib/libmpich_cray.a(allreduce.o)
/opt/cray/mpt/5.6.3/gni/mpich2-cray/74/lib/libmpich_cray.a(hogehoge.o): In
function `MPID_nem_gni_progress_localCQ':
hogehoge.c:(.text+0xdee): relocation truncated to fit: R_X86_64_PC32 against
symbol `MPID_nem_gni_local_nic_addrs' defined in COMMON section in
/opt/cray/mpt/5.6.3/gni/mpich2-cray/74/lib/libmpich_cray.a(hoge.o)
hogehoge.c:(.text+0xe7f): relocation truncated to fit: R_X86_64_PC32 against
symbol `MPID_nem_gni_local_nic_addrs' defined in COMMON section in
/opt/cray/mpt/5.6.3/gni/mpich2-cray/74/lib/libmpich_cray.a(hoge.o)
hogehoge.c:(.text+0xe99): relocation truncated to fit: R_X86_64_PC32 against
symbol `MPID_nem_gni_nic_hndls' defined in COMMON section in
/opt/cray/mpt/5.6.3/gni/mpich2-cray/74/lib/libmpich_cray.a(hoge.o)
/opt/cray/mpt/5.6.3/gni/mpich2-cray/74/lib/libmpich_cray.a(hogehoge.o): In
function `MPID_nem_gni_progress_remote_data':
hogehoge.c:(.text+0x100a): relocation truncated to fit: R_X86_64_PC32 against
symbol `MPID_nem_gni_nic_hndls' defined in COMMON section in
/opt/cray/mpt/5.6.3/gni/mpich2-cray/74/lib/libmpich_cray.a(hoge.o)
hogehoge.c:(.text+0x10f6): relocation truncated to fit: R_X86_64_PC32 against
symbol `MPID_nem_gni_nic_hndls' defined in COMMON section in
/opt/cray/mpt/5.6.3/gni/mpich2-cray/74/lib/libmpich_cray.a(hoge.o)
/opt/cray/mpt/5.6.3/gni/mpich2-cray/74/lib/libmpich_cray.a(hogehoge.o): In
function `MPID_nem_gni_process_remote_data':
hogehoge.c:(.text+0x164c): relocation truncated to fit: R_X86_64_32S against
symbol `MPID_nem_gni_queue_work_head' defined in COMMON section in
/opt/cray/mpt/5.6.3/gni/mpich2-cray/74/lib/libmpich_cray.a(hoge.o)
hogehoge.c:(.text+0x1653): additional relocation overflows omitted from the
output
make: *** [main] エラー 1

A.
これは、コンパイル時に使用されるメモリがデフォルトで割り当てられる2GBを超えた時に見られるエラーです。
一番簡単な対処法としては、コンパイル時に下記のオプションを追加するというものがあります。
クレイコンパイラでは

$ ftn -hpic -dynammic f.f90

gnuでは

$ ftn -fpic -dynamic -mcmodel=medium f.f90

intelでは

$ ftn -fpic -dynamic -shared-intel -mcmodel=medium f.f90

などとすることで、2GB以上のメモリを使うことができます。
このオプションを使用することでのデメリットや他の対処法については、利用手引きp.77を参照してください。


Q.GSLライブラリを使用したい。
A.
モジュールをロードすれば使用することができます。
例えばGSLライブラリの場合には

$ module load gsl

によってロードでき、

$ echo ${GSL_DIR}
/work/ap/GSL/gsl-1.15/intel

などと打てば、ライブラリのディレクトリパスが分かります。
XC30上で利用できるライブラリとその使用法に関しては、利用手引きp.61以降を参照して下さい。


Q.異常終了するジョブのトレースバック情報を得たい。
A.
コンパイル時にオプションを加えることでトレースバック情報を得ることができます。
具体的な実行方法については、プログラミングガイドp.14以降を参照して下さい。
例えば、Cray fortranの場合は
・環境変数 ATP_ENABLED に 1 を指定する
・コンパイル時に -Gオプションに低い値を付与する (0か1)
・コンパイル時に-K trap=divz,fp,invオプションを付与する
Intel fortranの場合は
・最適化のレベルを下げる
・トレースバックオプションを付与する
・シンボルテーブルオプションを付与する
によって、トレースバック情報が出力されます。


Q.他のユーザーがdebugキューを使用していないのにdebugキューで投入したジョブが実行待ちになる。
A.
XC30システムではdebug用に5ノードが確保されています。
debugキューの使用には、利用手引きp.44 にありますように、キュー名とデバッグ専用ノードラベルの指定

#PBS –q debug
#PBS –l mpplabels=DEBUG

が必要となります。
後者の指定をしない場合、キュー名はdebugになりますが、専用ノードでなく
一般ノード(large,bulkなどが走っているノード)で実行されることになり、システムの混雑状況によっては実行待ちとなります。


Q.ログイン時に"/usr/bin/xauth: error in locking authority file ~"というエラーメッセージが表示され、アプリケーション等を起動できない
A.
ログイン時に

usr/bin/xauth: error in locking authority file /home/user_name/.Xauthority

というエラーメッセージが表示され、アプリケーションが起動できない場合、/home領域のクォータ制限(soft limit 20GB,hard limit 50GB)を超過している可能性があります。
/homeの使用量は

$ quota

によって確認できます。
制限を超過している場合には、ファイルの移動や削除を行なって使用量を制限以下に押さえて頂くことでエラーが出なくなります。
quota制限の詳細については利用手引きを参照して下さい。


Q.VPN接続後、ログインする際に"Could not resolve hostname xc.cfca.nao.ac.jp ~"というエラーメッセージが表示される
A.
VPN接続後、XC30システムにログインする際に"

ssh -Y username@xc.cfca.nao.ac.jp
ssh: Could not resolve hostname xc.cfca.nao.ac.jp: nodename nor servname provided, or not known

などと表示された場合は、

ssh -Y username@xc01.cfca.nao.ac.jp
ssh -Y username@xc02.cfca.nao.ac.jp
ssh -Y username@133.40.17.11
ssh -Y username@133.40.17.12

等を試して下さい。


Q.コンパイルオプション(-h omp -O0 )によってOpenMP並列が有効にならないという制限があるのか

A.
「-O0」オプションをご利用になりますと、「-h omp」オプション
が付いていたとしてもOpenMP指示行は有効になりません。
OpenMP指示行を有効にするには「-O1」以上をご利用ください。

なお、OpenMP指示行による並列化が行われているかどうかは「-h msgs」オプションを
付けていただくと、コンパイル時に標準出力にどのような最適化や並列化が行われたか
についてメッセージ出力されますので、ご利用ください。


Q.Intel コンパイラでコンパイルしたhybridプログラムが実行時にIntelのshared libraryが見つからずにエラーになる

A.

./XC.exe: error while loading shared libraries: libifcore.so.5: cannot open
shared object file: No such file or directory
error while loading shared libraries: libifcore.so.5: cannot open shared
object file: No such file or directory

上記のエラーが出力された場合、ログインノードで指定した実行環境が計算ノードに引き継がれない事が原因です。
(ログインノード上でPrgEnv-intelに変更してプログラムをコンパイルしても、バッチにより計算ノード上で
プログラムを実行する際には、デフォルトの環境であるPrgEnv-crayで実行しようとしてしまいます。)

PrgEnv-cray以外の環境でプログラムを実行される場合には、
バッチスクリプト中で以下のようにmoduleの切り替えをする必要があります。

source /opt/modules/default/init/{bash/tcsh/csh/...}
module swap PrgEnv-cray PrgEnv-intel

バッチスクリプトの例はCray XC30利用の手引きの45ページ
「バッチジョブスクリプト例(8) ジョブ内でmoduleコマンドを使用する例」
をご参照ください。


Q.アップグレード前に実行できていた計算がアップグレード後に実行できなくなった

A.
現在XC30はハードウェアのアップグレードを行った関係で、
CPUがIntel Xeon E5-2690 v3(開発コード名:HASWELL)に変更されており、
以前のCPUに比べて、16コア/ソケットから24コア/ソケットに変わっています。その点に留意してPBSスクリプトのmppwidth値を変更してください。
例えば、1024プロセスを4プロセス/nodeで分配するように指定するように以下のようなPBSスクリプト

#PBS -q large-a
#PBS -j oe
#PBS -l mppwidth=4096

cd /work/usename/
setenv OMP_NUM_THREADS 4
time aprun -n 1024 -S 2 -N 4 -d 4 ./a.out >& file  

を書いた場合、

1024 / 4 = 256nodes

が必要になりますが、同じノード数で実行するならば、新CPUの場合は

256nodes * 24cores = 6144cores

を確保する必要があります。
もし、PBS側でmppwidthの値を4096 としたとき

4096cores / 24cores = 171nodes

を確保しますが、aprun側の指定では256nodesが要求されるめエラーが出されます。
この場合、PBSオプションのmppwidthの値を4096から6144に変更してください。


Q.aprun非使用時に実行できるコマンドをaprunの中で実行するとエラーが出る

A.
Python などのソフトウェアを各自で /home/($USER)/にインストールして、aprun で実行される場合にエラーが起こります.
XC30システムでは,ユーザ様がアクセスできるファイルシステムとして大別して2つ/home(ホームディレクトリ用),/work(プログラムによるI/O用)があります.

/homeはNFSサーバが提供する一方,/workは高速なI/O性能を発揮するようLusterファイルシステムで構成しています.
ユーザ様のインターフェースとなるログインノードは/home, /workの双方をマウントしていますが,
計算用途の計算ノードでは/homeはマウントせず,/workのみをマウントしています.

またXC30システムのプログラムランチャである,aprunコマンドで起動されたプログラムは,計算ノードで実行されます.
一方,aprunを用いずにプログラムを起動した場合,ログインノードで実行されます.

ご自身でインストールしたソフトウェアを計算ノードで用いる場合は,
/home/($USER) でなく /work/($USER) 以下にインストールすることで正常に実行
できるようになります.


Q.write文の1行の長さの制限について

A.
書式付式付出力の制限は、OPEN文のRECL指定子において

      open(10,FILE=file,FORM='formatted',RECL=54000) 

のようにバッファサイズを指定することで、大きなサイズの出力が可能になります。


Q.コードの一部分のみ最適化レベルを変更の仕方

A.
関数の範囲で最適化レベルを変更される場合には、以下の2点の方法が考えられます。

1.該当関数を個別ファイルとして分割し、そのファイルについてのみ最適化レベルを
変更してコンパイルする
2.該当関数に対して”#pragma noopt” directiveを挿入し、最適化を無効にする

2の場合は、該当関数に対する最適化の無効をコンパイラに指示するので、
全ての自動最適化が無効になってしまいますが、directiveを挿入するだけで良く、
有効無効の切り替えも簡単に行えます。
詳細はman intro_pragmasとman optをご参照ください。

1の場合は、個別ファイルへの切り出しとMakefileの修正が必要になりますが、
該当関数へのコンパイルオプションを任意に設定出来るので、結果に影響しない程度の
最適化を適用出来る可能性があります。
また、個別ファイルにする事で、問題の分析がし易くなり、関数全体ではなく
内部の処理レベルで対応をする事が出来るようになるかもしれません。

なお、crayccのコンパイルオプションにて、”-h list”や”-h report”等のオプションを
ご利用いただく事で、コードのどの部分にどのような最適化がなされたのかを
確認する事が出来ます。

      open(10,FILE=file,FORM='formatted',RECL=54000) 

のようにバッファサイズを指定することで、大きなサイズの出力が可能になります。


Q.ジョブを走らせた直後にApplication ~ exit codes: ~などのエラーが出る

A.
以下のようなエラーメッセージが出る際は,quota の容量制限を超している可能性があります。ソフトリミット(XC30利用手引き参照)以下に下げてから実行してください。

Application 1331683 exit codes: 134
Application 1331683 exit signals: Killed


Q.gitコマンドによる通信が実行できない

A.
HPCネットワークではポート22のみ開放されています。gitを使用する際は以下の設定を行ってください。
1.公開鍵をgitサーバに登録する
(たとえばgithubの場合はwebページのsettings > SSH keysから手続きしてください。)
2.ssh等でXC30サーバに秘密鍵を転送する


Q.国外の所属研究機関からXC30の利用申請は可能か

A.
日本国内の大学院で修士または博士号を取得されている場合は可能です。(利用申請資格 の項目2をご確認下さい。)
該当する学位がない場合は、原則的には日本国内の研究機関・大学院にポストを持つ研究者あるいは学生であることが必要となります。
上記いずれにも該当しない場合は、プロジェクト長までお問い合わせください。


Q.キューの資源量を知りたい

A.
XC30システムの各項をご参照ください。また、XC30へのログイン後にqlsコマンドで確認が可能です。


Q.一定期間にわたりアクセスおよび属性変更が行われていないファイルは、上位ディレクトリへのアクセス等があったとしても自動削除の対象になるのか

A.
削除対象となります。XC30システムでは、/work/以下に置かれた全てのファイルについて「最終アクセス時刻」および「最終ステータス変更時刻」を読み取り、そのどちらにも変更がなかったファイルは削除されます。「最終アクセス時刻」あるいは「最終ステータス変更時刻」のいずれかが変更されているファイルは削除されません。
最後のアクセス等から削除判定までの期間については、ユーザーズガイドにてご確認ください。(ver 1.19時点では30日となっております。)
なお、ファイルの更新時刻は以下のコマンドで確認できます。「最終アクセス時刻」は

$ ls -lu

「最終ステータス変更時刻」は

$ ls -lc


Q.ファイルの「最終アクセス時刻」や「最終ステータス変更時刻」が更新される条件を知りたい

A.
「最終アクセス時刻」は、ファイルを読み込んだ段階で更新されます。(プログラム実行の際にファイルをreadすることも含みます。)
openのみの実行や上書きでは更新されません。

「最終ステータス変更時刻」は、例えば以下の操作により更新されます。
・chmodで権限を変更する
・ファイルを上書きする
・emacsやcat等のコマンドを使い、ファイルを読む


Q.利用申請フォームに投稿したファイルを確認したい

A.
申し訳ありませんが、システム上の制約により、投稿後のファイルをご確認いただくことはできません。
修正がある場合や、投稿が成功しているか不安な場合には、再提出してください。提出回数の制限はありません。

なお申請者が学生の場合は、申請書の再提出後、指導教官宛に推薦書提出のメールが再度届きます。
推薦書の提出は、再提出時のメールに記載されているURLから行っていただく必要があります ので、ご注意ください。
指導教官の方は念のため、メールに記載されている"申請書ID"が正しいことをご確認の上、推薦書を提出していただけますようお願いいたします。


Q.ジョブをホールド状態にしたい

A.
以下のコマンド

$ qalter -h u job_id

または

$ qhold -h u job_id

でホールド状態へと変更することができます。また、解除するときは

$ qrls -h u job_id

をお使いください。


Q.投入済みのジョブの実行順を変更したい

A.
ジョブの依存関係を再設定することにより、変更が可能です。
たとえば、ジョブ間の元々の依存関係がafterokの場合は、ホールド状態で以下のコマンド

$ qalter -W depend=afterok:job1_id job2_id ...
$ qstat -f job1_id | grep depend

で新たな実行順がjob1, job2, ...となります。ただし、依存関係の条件は変更しないようにご注意ください。


Q.PBSのkill delayパラメータを指定したい

A.
kill_delayに対してユーザーがもつ権限はreadのみのため、指定することはできません。
また、walltimelimit以前の任意の時間を指定してシグナルを送信する、といった機能のコマンドも実装されていません。

ただし、シグナルを送信すること自体は以下のコマンド

$ qsig [-s signal] job_id

で行えますので、たとえばsleep等を使ってqsigコマンドの実行までの時間を待機させることにより
現時点から何{秒/分/時間}後に送信させる、などの対応は可能です。


Q.利用申請で並列化効率を見積もる際、どの程度の計算資源量を前提とすればよいか

A.
基本的には、XC-Trialで実行可能な範囲での見積もりで結構です。
詳細な見積もりが必要な場合は、XC30募集要項のページにある並列化効率の算出も合わせてご参照ください。


Q.プログラム実行時に"Please verify that both the operating system and the processor support"というエラーメッセージが表示される

A.
ログインノード上でプログラムが実行されていないかどうか、ご確認ください。(実行されていた場合は、パッチジョブとしてください)
HASWELL上でしか実行できないフラグが立っているようなとき、ログインノード上でプログラムを実行すると「CPU互換性がない」と判断されエラーになります。
内部設定されているコンパイルオプションは"cc -craype-verbose"コマンドによりご確認いただけます。


Q.bitbucket へのアクセスが遅い

A.
~/.ssh/configに以下の記述を追加してください。

Host bitbucket.org
AddressFamily inet