グリデンエンジンクラスターの複数のノードでジョブを実行する

StackOverflow https://stackoverflow.com/questions/3872977

  •  28-09-2019
  •  | 
  •  

質問

並列化されたジョブを実行したい128コアクラスターにアクセスできます。クラスターはサングリデンエンジンを使用し、私のプログラムは、Python 2.5.8でパラレルPython、Numpy、Scipyを使用して実行されるように書かれています。単一のノード(4コア)でジョブを実行すると、単一のコアよりも約3.5倍の改善が得られます。これを次のレベルに引き上げ、ジョブを4つのノードに分割したいと思います。私の qsub スクリプトは次のように見えます:

#!/bin/bash
# The name of the job, can be whatever makes sense to you
#$ -N jobname

# The job should be placed into the queue 'all.q'.
#$ -q all.q

# Redirect output stream to this file.
#$ -o jobname_output.dat

# Redirect error stream to this file.

#$ -e jobname_error.dat

# The batchsystem should use the current directory as working directory.
# Both files will be placed in the current
# directory. The batchsystem assumes to find the executable in this directory.
#$ -cwd

# request Bourne shell as shell for job.
#$ -S /bin/sh

# print date and time
date

# spython is the server's version of Python 2.5. Using python instead of spython causes the program to run in python 2.3
spython programname.py

# print date and time again
date

誰かがこれを行う方法について何か考えを持っていますか?

役に立ちましたか?

解決

はい、グリッドエンジンオプションを含める必要があります -np 16 このようなスクリプトのどちらか:

# Use 16 processors
#$ -np 16

または、スクリプトを送信するときにコマンドラインで。または、より恒久的な取り決めのために、anを使用してください .sge_request ファイル。

私がこれまでに使用したすべてのGEインストールで、これにより16のプロセッサ(または最近のプロセッサコア)が必要になります。すぐ。ジョブを配置するには、8つのノードの2つのコア(各プロセスに多くのメモリが必要な場合はやりたいと思うかもしれません)がもう少し複雑で、サポートチームに相談する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top