問題タブ [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.
bash - qsubでエラーログファイルと出力ファイルを指定する方法
私はqsubスクリプトを持っています
問題は、すべてのエラーファイルと出力ファイル(job1.eJOBIDとjob1.oJOBID)を、qsub submit_job.shを実行している場所と同じディレクトリに配置し、これらのファイル(出力ファイルとエラーログファイルを同じ異なる場所に保存する)を保存することです。場所($ SEED_outputとして指定)行を次のように変更しようとしました
しかし、それはうまくいきませんでした。なにか提案を ??デフォルトの出力とエラーログファイルのパスと名前を指定するにはどうすればよいですか?
python - Sun Grid Engine での Python MPI プログラムの実行
私は非常に単純な MPI プログラムを C でコーディングしてきました。C はあまり得意ではありませんが、Python には自信があります。Python に MPI バインディングがあることを知りました。Sun Grid Engine を DRMS (Distributed Resource Management System) として使用しています。Python MPI に飛び込む前に、Python mpi プログラムを Sun Grid Engine に送信して、システムで利用可能なすべての分散プロセッサの能力を利用できるかどうかを知りたいです。
では、Python mpi プログラムを Sun Grid Engine にサブミットすることは可能ですか?
hadoop - ユーザープロセスとしてのHadooponBatch System
Hadoop-on-DemandとSGEでのHadoop統合を見てきました。私の理解では、管理者権限が必要ですが、これは職場の大きなクラスターにはありません。管理者は手一杯で、何ヶ月も私たちをセットアップすることができません。
一時的な仮想クラスターがHDFSのユーティリティに課す制限を認識しています。また、光沢ファイルシステムを使用すると、問題が発生することも理解していますが、Hadoopインスタンスを起動するクラスターにジョブを送信するためにSGEまたはTorque(PBS)スクリプトを作成した人はいますか?
arrays - SGE で配列ジョブを実行する方法 -
プログラム (glsearch36) を使用して分析したい 50 個の異なる fasta ファイルがあります。ファイルの番号は 3163proph00.fa ~ 3163proph49.fa です。
これらの 50 個のほぼ同一のジョブを、SGE キューイング システムをアレイ ジョブとして使用するクラスターに送信したいと考えています。
1 つの問題は、SGE では SGE_TASK_ID を 1 から 50 にする必要があることです。そのため、最初に変数 i を作成し、1 を引いて 0 を取得する必要がありました。次に、数字の先頭にゼロがあるため、j を作成しました。
私は bash にあまり精通していないので、SGE_TASK_ID から i から j に移動する際に何らかの構文エラーを犯したことは確かです。
このファイルを送信すると、「無効な変数名」というエラーが表示されます。
どんな助けでも大歓迎です。
ありがとうございました、
bash - 環境変数を Sun Grid Engine に正しく渡す方法は?
(一連の) ジョブを SGE に送信しようとしています (FWIW、Gromacs 分子動力学シミュレーションのシーケンスです)。すべてのジョブは、 、 などの接尾辞を除いて同一input01
ですinput02
。サフィックスが一連のコマンドによって適切に処理されるように実行します。
ただし、exec環境にその変数を受け取る方法が見つかりません。qsub
マニュアルページによると、-v var
それを行う必要があります。
次に、次のスクリプト ( run.sh
) を送信して、受信されるかどうかを確認します。
export
次のようにジョブを送信します (上記のコマンドと同じセッションで)。
エラー ストリームは空で、出力ストリームには次のものがあります。
次のコマンドも試しましたが、失敗しました。
i=19
の先頭に行を追加するとrun.sh
、出力は次のようになります。
私は現在、ジョブごとに 1 つのファイルを生成することを検討しています。これは基本的に同じですがi=xx
、最初の行が含まれます。あまり実用的ではないように見えますが、解決策になるでしょう。
より良い解決策はありますか?
python - SGEスクリプト:実行中に(最後だけでなく)ファイルに出力しますか?
qsubを使用してキューに送信されたPythonコードを実行するSGEスクリプトがあります。Pythonスクリプトには、いくつかの印刷ステートメントがあります(プログラムの進行状況を更新しています)。コマンド ラインから python スクリプトを実行すると、print ステートメントが stdout に送信されます。sge スクリプトでは、-o オプションを使用して出力をファイルにリダイレクトします。ただし、スクリプトは、python スクリプトの実行が完了した後にのみこれらをファイルに送信するようです。(a) プログラムでリアルタイムの更新を表示できなくなり、(b) ジョブが正しく終了しない場合 (たとえば、ジョブがキューから開始された場合)、更新がまったく印刷されないため、これは面倒です。最後にすべてをまとめるのではなく、何かを印刷するたびにスクリプトがファイルに書き込んでいることを確認するにはどうすればよいですか?
sungridengine - qrshをラップするにはどうすればよいですか?
rshに相当するOracle Grid Engineであるqrshのラッパーを作成しようとしていますが、与えられたコマンドを特定するのに苦労しています。次の例を検討してください。
この場合のコマンドは cvs から始まります。私のラッパーは汎用である必要があるため、特に cvs を探すことはできません。それを識別する方法についてのアイデアはありますか?1 つ考えられるのは、最後から逆方向に実行可能なコマンドを探すことです。これはこの場合は機能しますが、"cvs" がそれ自体のオプションに現れる可能性があるため、堅牢ではありません。私が思いつくことができる唯一の堅牢なオプションは、qrsh オプション パーサーを完全に実装することですが、qrsh の更新で更新する必要があり、複雑であるため、私はそれについて興奮していません。
bash - AWK を使用してファイルから行を読み取り、変数を作成する
ファイル名のリストを含むテキスト ファイルがあります。AWK を使用して特定の行番号から変数を作成したいと考えています。次を使用して正しい出力を取得します。
この出力を変数に割り当てたいのですが、ドキュメントから、次のように動作すると予想していました。
また
でも、
は空白です。私は bash スクリプトを初めて使用するので、何かアドバイスをいただければ幸いです。
linux - ジョブを再開する代わりに Sun Grid Engine を一時停止する
これは、管理者のみが対処できるクラスター固有の問題である可能性がありますが、優先度の低いジョブがあり、優先度の高いジョブが来ると、プロセスが強制終了されます。
優先度の高いジョブが終了すると、優先度の低いジョブが再開されます。ユーザー側で、プロセスを強制終了せずに SIGSTOP または何かを介して最初に開始されたマシンで一時停止する方法はありますか? 残念ながら、チェックポイントはここではオプションではないため、メモリ内のものを破棄せずにジョブを保持できるようにしたいと考えています。
このマシンには ssh があるので、他のすべてが失敗した場合は、目的の動作を得るために本当にずさんなスクリプト ハックを実行したくなるだけです。
しかし、厄介な驚きを避けるために、SGE内ですべてを行いたいと思います
parallel-processing - Sun Grid Engineを使用してSMPジョブ用にノード全体を予約しますか?
SunGridEngineを使用してSMP並列環境で実行するジョブがあります。このコードはよく使用されており、通常は正常に機能します。コードはプロセッサを集中的に使用するよりもメモリを大量に消費するため、ジョブ自体(送信されたスクリプトで指定)が一部しか使用しない場合でも、通常は-pe smp 12(12コア/ノード)を使用してクラスター上のノード全体を予約しますその。
SMP並列環境を要求したので、12個のスロットすべてが同じノードからのものであり、1つのスロット/コアが必要です。したがって、これはノード全体を予約する必要があります。最近まで、その目的のためにうまく機能していました。別のユーザーが、最近グリッドエンジンを使用して、同じノードでスロットを取得したジョブを送信しました。これがどのように起こったのかわかりません。Grid Engineは、要求されたスロットより少ないスロットでSMPジョブを開始しますか?そうでない場合、私の仕事がノード全体を予約することを保証するためのより良い方法はありますか?