問題タブ [sungridengine]
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.
cluster-computing - SunGridEngineで多くのジョブを実行する
Sun Grid Engineで非常に多く(〜30000)のジョブを実行したいと思います。
理論的には、「qsub」コマンドを30000回実行してジョブを送信できます。しかし、それは多すぎるのではないかと思います。
それを行うためのより良い方法はありますか?(つまり、ファイルから)または、それ以外の場合は、それでも機能すると思いますか?
ありがとうございました
exit-code - SunGridEngineでqsubを使用して送信されたプロセスから終了コードを取得する
Sun Grid Engine(現在はOracle Grid Engine?)でqsubを介してジョブを送信したいと思います。-sync yesオプションまたはqrshを使用したくないのは、制御プログラムをシングルスレッドにして、一度に多くのジョブを起動できるようにするためです。これらのオプションは、制御プログラムのスレッドをブロックします。
ただし、起動したプロセスの終了ステータスを受け取りたいのですが。マニュアルページから、私のスレッドをブロックせずにこのコードを取得する方法はないようです。起動しているジョブを変更して終了コードをstdoutに出力する以外に、このステータスを取得する方法はありますか?
mpi - Sun Grid Engine (SGE) でクラスターの異なるノードにジョブを分散する
クラスターのすべてのノードで MPI ジョブの個別のプロセスを実行するために、sun gridending (sge) を取得しようとしています。
何が起こっているかというと、各ノードには 12 個のプロセッサがあるため、SGE は 60 個のプロセスのうち 12 個を 5 つの別々のノードに割り当てています。
各ノードで 12 のプロセス (DNA シーケンス アラインメント) が実行されているため、ノードのメモリが不足しているため、利用可能な 30 のノードのそれぞれに 2 つのプロセスを割り当てたいと考えています。
SGE にプロセスを特定のノードに明示的に割り当てることができるかどうか疑問に思っています。
ありがとう、
ポール。
timeout - SunGridEngineでのタイムアウトジョブ
私はSunGridEngine(Linux)で多くのジョブを実行しています。実行に(非常に)長い時間がかかるジョブもありますが、どのジョブが先にあるのかわかりません。
たとえば、2時間以上実行されるジョブを停止したいと思います。SGEを使用して実行することは可能ですか?UNIXシェルからそれを行うことは可能ですか?
ありがとう
sungridengine - Sun Grid Engine アレイ ジョブの出力を別のディレクトリにリダイレクトする
Sun Grid Engine で多くのジョブを実行しています。これらはジョブ (~100000) であるため、配列ジョブを使用したいと考えています。
もう 1 つの問題は、各ジョブが stdout および stderr ファイルを生成することです。このファイルは、エラーを追跡する必要があります。でそれらを定義するとqsub -t 1-100000 -o outputdir -e errordir
、100000 個のファイルを含むディレクトリができてしまいます。これは多すぎます。
各ジョブに出力ファイルをディレクトリに書き込む方法はありますか (たとえば、ランダムな 16 進文字であるジョブ ID の最初の 2 文字で構成されるディレクトリ、または 1000 を法とするジョブ番号、またはそのようなもの) )。
ありがとう
perl - グリッドジョブを送信するときに使用されるPerlバージョンを制御するにはどうすればよいですか?
SGE(Sun Grid Engine)を使用して、グリッドにジョブを送信しています。perlbrew
また、インストールしたPerlバージョンの管理にも使用します。特定のPerlバージョン(5.12.2)を必要とするperlスクリプトを実行するために使用するいくつかの短いsh
スクリプトを作成しました。これは次のようになります。
これで、1つのジョブを送信するとすべてが正常に機能しますが、多数を送信すると、次perlbrew
のような関連するエラーメッセージが表示され始めます。
だから私は/home/dave/perl5/perlbrew/bin/perlbrew switch perl-5.12.2
ラインが問題を引き起こしていると思います。
私に何ができる?
perl-5.12.2(デフォルトは5.8.8)を使用してスクリプトを実行するにはどうすればよいですか?
python - GridEngine クラスターの複数のノードでジョブを実行する
並列化されたジョブを実行したい 128 コアのクラスターにアクセスできます。クラスターは Sun GridEngine を使用し、私のプログラムは Python 2.5.8 で Parallel Python、numpy、scipy を使用して実行するように作成されています。単一ノード (4 コア) でジョブを実行すると、単一コアよりも最大 3.5 倍の改善が得られます。これを次のレベルに進めて、ジョブを最大 4 つのノードに分割したいと考えています。私のqsub
スクリプトは次のようになります。
誰もこれを行う方法について何か考えがありますか?
c++ - クラスタにライブラリをロードしています
ここにあるクラスター上で、ブーストを使用してc++でプログラムを正常にコンパイルしました。シミュレーションを実行するには、SGEスクリプトを実行する必要があります。私が得るエラーはこれです
./main:共有ライブラリのロード中にエラーが発生しました:libboost_thread.so.1.45.0:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません
プログラムを起動するときにライブラリの名前を指定する必要がありますか?私が使用したスクリプトは以下のとおりです
ありがとうございました
environment - SGE-QSUBは-syncモードでジョブを送信できません
バイナリプログラムへの入力用にファイルを準備し、バイナリプログラムの実行をSGEキューイングシステムバージョン6.2u2に送信するperlスクリプトがあります。
ジョブは-sync y
、親perlスクリプトがwaitpid関数を使用して送信されたジョブのステータスを監視できるようにするオプションを使用して送信されます。
親perlスクリプトにSIGTERMを送信すると、このシグナルが各子に伝播され、子がこのシグナルをqsubに転送して、関連するすべての送信済みジョブを正常に終了するため、これも非常に便利です。
-sync y
したがって、このオプションを使用してジョブを送信できることが非常に重要です。
残念ながら、次のエラーが発生し続けます。
Unable to initialize environment because of error: range_list containes no elements
'contains'の不適切なスペルに注意してください。それはタイプミスではありません。これは、コード/エラーメッセージのこの領域がいかに不十分に維持されている必要があるかを示しています。
このエラーを生成する送信を試行しても、STDOUTファイルとSTDERRファイル*.e{JOBID}
およびは生成されません*.o{JOBID}
。送信は完全に失敗します。
このエラーメッセージをグーグルで検索すると、あいまいなメッセージボードに未解決の投稿が表示されるだけです。
このエラーは確実には発生しません。スクリプトを再実行できますが、同じジョブで必ずしもエラーが発生するわけではありません。また、どのノードからジョブを送信しようとしても問題ではないようです。
私の希望は、ここの誰かがこれを理解できることです。
したがって、これらの質問のいずれかに答えると、私の問題は解決します。
- このエラーは、より新しいバージョンのSGEでも持続しますか?
- これを回避するためにqsubのコマンドラインオプションを変更できますか?
- このエラーメッセージは一体何を話しているのでしょうか。
perl - スクリプトがSGEで実行されているかどうかを確認します
Perlスクリプトから、SGEを介して実行されているのか、コマンドラインからローカルに実行されているのかを判断するにはどうすればよいですか?