1.0X Rescale CLI チュートリアル
このセクションでは、Rescale CLIコマンドのさまざまな機能を紹介します。ジョブ投入スクリプトファイルの作成方法、ジョブの投入方法、ジョブステータスの確認方法、ファイルのダウンロード方法について説明します。このチュートリアルは、Rescaleのリソースページから入手可能なLS-DYNAシミュレーションの例に基づいています。
本例で使用したLS-DYNAシミュレーションファイル(neon.refined.revXNUMX.k)は、例題から入手することができます。
特定のソフトウェア(ここではLS-DYNA)上で動作するジョブを投入するには、 submit.sh
ファイルにソフトウェアを指定する必要があります。
#!/bin/bas
#!/bin/bash #RESCALE_NAME="LS-DYNA ネオンの例" #RESCALE_ANALYSIS=ls_dyna #RESCALE_CORE_TYPE=Emerald #RESCALE_CORES=2 #RESCALE_WALLTIME=1 #USE_RESCALE_LICENSE ls-dyna -n $RESCALE_CORES_PER_SLOT -i neon.refined.rev01.k -p シングル
注意:上記のスクリプトをコピーする際には、各環境変数の後に空白がないことを確認してください。入力スクリプトのフラグは、Rescale CLI Commandsページで確認できます。また、最後の行のコマンドは、Rescaleプラットフォームで使用するものと同じです。このコマンドは、Rescale Web UIまたはlist-infoコマンドで確認できます(Rescale CLI Commandsのページを参照してください)。
Rescale こちらをご覧ください。Key環境変数(こちらを参照)を設定した上で、以下のコマンドでジョブを実行します。
ターミナル上では、以下のようなログが表示されます。
Running SGE version of Rescale Client App
Executing Command.
Parsing Input Files
No existing files to include
No core type specified by user. Using default core type 'Nickel'
Found Analysis: ls_dyna
Zipping Files
Creating temporary encrypted zip at /Users/rescale/lsdyna_job/input.zip
Finished writing encrypted file
Uploading Files
Uploading: /Users/rescale/lsdyna_job/run.sh
Uploading run.sh:
##############################| 176B / 176B
Uploading: /Users/rescale/lsdyna_job/input.zip
Uploading input.zip:
##############################| 9.91MB / 9.91MB
Job: Saving Job
Job rqRXT: Saved
Job rqRXT: Submitting
Job rqRXT: --end-to-end flag not set, polling should be done manually.
このアプリは、現在の作業ディレクトリにある全てのファイルをinput.zipという一時ファイルにzip圧縮します。そして、run.shとinput.zipをRescaleにアップロードし、ジョブの入力ファイルとして含めます。また、入力スクリプトの#RESCALE_EXISTING_FILES行に記載されているファイルもすべて含まれます。例えば、ディレクトリが以下のような場合です。
neon.refined.rev01.k submit.sh
ジョブを投入すると、アプリは一時的にzipファイルを作成し、 submit.sh
スクリプトを解析して run.sh
を作成します。ディレクトリは以下のようになります。
neon.refined.rev01.k run.sh submit.sh
input.zip には、neon.refined.revXNUMX.k, run.sh, submit.sh というファイルが含まれます。アプリは input.zip ファイルを run.sh スクリプトと一緒に Rescale にアップロードします。その後、アプリはローカルファイルシステムからzipファイルを削除し、ジョブの保存とサブミットを試みます。ジョブが検証を通過すると、保存され、Rescaleに送信されます。その後、アプリはポーリングサイクルを開始し、ジョブのステータスが完了するのを待ちます。この時点で、アプリは参照用に印刷します。
実行中のジョブの状態を確認するには、次のコマンドを入力します。 rqRXT
を自分のジョブIDに置き換えてください。
java -jar /usr/local/bin/rescale.jar status -j rqRXT
端末には、次のようにメッセージの状態が表示されます。
java -jar /usr/local/bin/rescale.jar status -j rqRXTAuthenticated as @rescale.comジョブ rqRXT のステータスは実行中です
ジョブ実行中にファイルをダウンロードするには、以下のように download-file
CLIコマンドを使用します。一度にダウンロードできるのは、XNUMXファイルのみです。
java -jar /usr/local/bin/rescale.jar ダウンロードファイル -j rqRXT -f 共有/d3plotjava -jar /usr/local/bin/rescale.jar ダウンロードファイル -j rqRXT -f 共有/d3plot
ここでは、dXNUMXplotというファイルをダウンロードしています。コマンドはクラスタの作業ディレクトリにあるファイルを探すので、作業ディレクトリからの相対パスを指定する必要があります。ここでは、ファイルdXNUMXplotは共有ディレクトリに存在します。ファイルの相対パスを得るには、図のようにRescaleプラットフォームのlive-tailingウィンドウを確認してください。
ジョブの完了後にファイルをダウンロードするには、 sync
CLI コマンド。 ダウンロードできます を完了したジョブのファイルは次のようになります –
java -jar /usr/local/bin/rescale.jar sync -j rqRXT
ターミナルに以下のようなログが表示されます。
java -jar /usr/local/bin/rescale.jar sync -j rqRXTAuthenticated as shashank@rescale.comSyncing output files for job vOUOebJob rqRXT: Downloading files to /Users/shashank/Documents/CLI/LS-Dyna-Example/rescale_job_rqRXTDownloading /Users/shashank/Documents/CLI/LS-Dyna-Example/rescale_job_rqRXT/download_20180703_224544_d3plotDownloading download_20180703_224544_d3plot:Downloading /Users/shashank/Documents/CLI/LS-Dyna-Example/rescale_job_rqRXT/process_output.log....
-f または -s フラグを使用すると、特定のファイルのみをダウンロードする出力フィルタリングを行うことができます。-f フラグは “グロブ” 検索を使用し (クライアント側では bash のみ)、一方 -s は “文字列パターン” 検索を使用します (サーバ側で)。は任意の文字列にマッチするワイルドカード、?は任意の一文字にマッチするワイルドカードです。
例:次のコマンドは、 d3
を除き、dXNUMXで始まるすべてのファイルをダウンロードします。 d3hsp
, d3dump01.0000
& d3dump01.0001
:
java -jar /usr/local/bin/rescale.jar sync -j rqRXT -f d3* --exclude d3hsp,d3dump01.0000,d3dump01.0000
大規模なジョブの場合は、サーバー側になるので -s
を推奨します。
注 -s は文字列パターンのみを検索し、与えられた文字列パターンを持つすべてのファイルをダウンロードします。