私はUnixサーバー(OS:centos5)を使用しており、複数のクラスタを使用しています。
一部のクラスタには8つのコアがあり、他のクラスタには24のコアがある式です。
このコマンドを使用してジョブを実行します。
qsub -q cluster_name -d $PWD Program_name
クラスタを効率的に使用するために、OPENMPを並列化に使用します。
問題は、ほとんどの場合、私のプログラムは同時に3つのコアしか使用しないということです。
つまり、コンピューティングのパフォーマンスを大幅に無駄にしました。
クラスタの代わりにPC(Ubuntu)を使用すると、
効率を最大化するために、次の方法で使用します。
OPEN TERMINAL
export OPM_NUM_THREAD=A
./program_name
しかし、この方法をクラスタに適用する方法がわかりません。
だから私はクラスタを次のように使用したいと思います。
./Execute.sh
そしてExecute.shは、
SET_NUMBER_OF_CORE_FOR_PROGRAM1
qsub -q cluster_name -d $PWD Program_name1&
SET_NUMBER_OF_CORE_FOR_PROGRAM2
qsub -q cluster_name -d $PWD Program_name2&
...
SET_NUMBER_OF_CORE_FOR_PROGRAMn
qsub -q cluster_name -d $PWD Program_namen&
少なくともすべてのプログラムに対して同じ数のコアを持つことができたらと思います。
これを行う方法を知っている場合は教えてください。
読んでくれてありがとう、
ユーザー 2268721.