問題タブ [lsf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - BatchJobs の結果は、関数の結果 * -1 + job#? を返します。
BatchJobs を使用して最小限の例を実行していますが、結果は期待どおりではありません。debug=TRUE でglobal_config 設定を使用しています。HPC サーバーの R で次のコードを実行しています。
batchMap(reg, identity, 2) を実行すると、結果は -1 になり、batchMap(reg, identity, 3) を実行すると、結果は -2 になります。なぜこれが起こっているのでしょうか?アイデンティティ関数は引数を返すだけです (したがって、上記のコードでは 1 である必要があります)。他の機能でも同じ問題が見つかりました。たとえば、batchMap に送信する関数に mean(rnorm(100, mean=100)) を使用すると、結果は -99 前後になります。これを複数のノードで実行すると、各ノードの結果は約 -100 + ノード番号になります (したがって、5 番目のノードの結果は約 -95 になります)。
awk - bhist ログを解析する方法
IBM LSF を使用しており、一定期間の使用統計を取得しようとしています。これでうまくいくことがわかりましたbhist
が、短い形式のbhist
出力では必要なフィールドがすべて表示されません。
私が知りたいのは:
bhist の出力フィールドはカスタマイズ可能ですか? 必要なフィールドは次のとおりです。
- <ジョブ ID>
- <ユーザー>
- <キュー>
- <ジョブ名>
- <プロジェクト名>
- <仕事の説明>
- <提出時間>
- <保留時間>
- <実行時間>
1が不可能な場合、長い形式 ( )の
bhist -l
出力には必要なものがすべて表示されますが、形式を操作するのは困難です。以下にフォーマットの例を貼り付けました。
たとえば、レコード間の行数は固定されておらず、各イベントの単語の折り返しにより、スキャンしようとしている単語の途中で改行される場合があります。sed
この形式をandで解析するにはどうすればよいawk
ですか?
c++ - bsub によって起動されたジョブの終了コード
bsub によって起動されたジョブの終了コードを収集する方法はありますか?
例: bsub によって起動されるスクリプト test.sh (test.sh には、次々に起動されるいくつかのバイナリが含まれています) があります。
bsub によって起動されたバイナリの終了コードを取得する方法を探していますか?
ありがとう!
r - LSF でのジョブ配列の指定
私の目的は、毎回異なるパラメーター セットを使用して、R スクリプトを繰り返し実行することです。
そのために、私は bash スクリプトを使用して、入力ファイルをループ処理することでコマンドライン パラメーターを R スクリプトに渡しています。このファイルでは、各行に 7 つのパラメーターの異なる組み合わせが含まれています。
入力ファイルは次のようになります。
コマンド ライン パラメーターが渡される R スクリプトは、次のように始まります。
これらを読み取り、R スクリプトをディスパッチする bash ループは次のとおりです。
ただし、問題は、Input.txt に何百万行もあるということです。そのため、このアプローチは遅すぎます (他の LSF ユーザーが自分のジョブを送信するのを妨げます)。
問題は、LSF 配列を使用して上記を行う方法です。
perl - LSF のジョブ内のすべてのプロセスに SIGTSTP シグナルを渡す
簡単に言うと、問題の説明: LSF で、ジョブ内で実行されているすべてのプロセスにシグナル SIGCONT/SIGTSTP を渡す方法はありますか?
LSF (バージョン 9.1.2) で実行される Perl ラッパー スクリプトがあり、Perl スクリプトと同じ LSF マシンでツール (ソースは利用できません) を起動します。
ツールは 2 つのプロセスを開始します。1 つはライセンス管理用で、もう 1 つは実際の作業を行うためです。また、SIGSTSP/SIGCONT を両方のプロセスに送信してライセンスを解放/再取得するオプションもサポートしています (これは私が達成したいことです)。
実行bkill -s SIGCONT <JOB_ID>
すると、ツール プロセスのみが再開され、ライセンス プロセスは再開されないため、問題が発生します。
Perl スクリプト自体の PGID にシグナルを送信できるかどうかを確認しようとしましたが、ライセンス プロセスは独自のプロセス グループを開始します。
Perl または LSF オプションを進めるための提案は大歓迎です。
ありがとう、アビシェーク
lsf - LSF での IBM MPI と OpenMPI 間の IBM HPC 4.2 の異なる動作
32 の計算ノードを持つ IBM HPC 4.2 があります。lsf をサポートする Openmpi 1.10.1 をコンパイルしてインストールしました。
問題 : IBM MPI (プラットフォームまたは PMPI でチップ化された MPI) と Openmpi を lsf で使用すると、動作が異なります。
例:両方の実装でhello_world.c mpiの例をコンパイルしました.lsbなしで(bsubなしで)実行を開始すると、
PMPI :mpirun -np 4 -hostlist "compute000 compute001" ./hello_world_pmpi.exe
こんにちは世界!私は compute000 の 4 人中 1 人です
こんにちは世界!私はcompute001で4人中2人です
こんにちは世界!私はcompute001で4人中3人です
こんにちは世界!私は compute000 で 4 人中 0 人です
Openmpi :mpirun -np 4 --host "compute000,compute001" --mca btl self,sm --mca mtl psm ./hello_world_ompi.exe
こんにちは世界!私は compute000 の 4 人中 1 人です
こんにちは世界!私は compute000 で 4 人中 2 人です
こんにちは世界!私はcompute001で4人中3人です
こんにちは世界!私は compute001 で 4 人中 0 人です
これは論理ですが、lsf を使用すると、PMPI で状況が変わります。これはもっと奇妙です !!!! そして私は得る
PMPI :bsub -n 4 -R "span[ptile=2]" -o pmpi-%J.out mpirun ./hello_world_pmpi.exe
猫 pmpi-xxx.out ...
こんにちは世界!私はcompute017で0/1です
オペンピ:bsub -n 4 -R "span[ptile=2]" -o ompi-%J.out mpirun --mca btl self,sm --mca mtl psm ./hello_world_ompi.exe
猫 pmpi-xxx.out ...
**こんにちは世界!私はcompute005の4人中1人です
こんにちは世界!私はcompute010で4人中2人です
こんにちは世界!私はcompute010で4人中3人です
こんにちは世界!私は compute005 で 4 人中 0 人です**
PMPI のインスタンスが 4 つではなく 1 つだけ起動されているようです。
私は IMB (インテル ベンチマーク) と HPCC で同じ問題を抱えています。プロセスが不足していると不満を言っています。lsf がなければ、両方とも正常に動作します。
何か案が?
前もって感謝します
python - Python と PlatformLSF を使用して LSF クラスターで実行中のジョブを取得する
LSF クラスターで多数のジョブを実行するために使用される単純なタスク マネージャーを Python で作成しようとしています。特定のユーザーの実行中のジョブの数を(pythonスクリプト内で)判断しようとして立ち往生しています。コマンド ラインでは、これは command から取得されbjobs
ます。
IBMは、LSF C API の Python ラッパーを提供しています。彼らの例の 1 つと、オンラインで見つけた C API のコピーからのいくつかのドキュメントを使用して、次のスクリプトをまとめることができました。
変数user_info
には属性'numPEND'
、'numRESERVE'
、'numRUN'
、および'numStartJobs'
がありますが、これらはすべて 0bjobs
です。実行中のジョブがレポートされても、これらはゼロのままです。
上記のコード スニペットで何が間違っているのか、誰にもわかりますか? C と Python の両方のドキュメントを何度か読みましたが、エラーが見つかりません。