
しようとしていますsetenv OMP_NUM_THREADS 8
これはシェルプロンプトで実行するとsetenv OMP_NUM_THREADS 4
成功します。プログラムを起動すると、4つのコアで実行されます。
ところで'というファイルがありますが、runme
それがまさにこれです。
setenv OMP_NUM_THREADS 8
cd /scratch/run1
./crunch_numbers.x
私のcrunch_numbers.x
プログラムはopenMPと並列に実行され、OMP_NUM_THREADS
環境変数を使用します。
Runme スクリプトが 8 コアではなく 4 コアで実行される場合、問題は crunch_numbers です。私のスクリプトのOMP_NUM_THREADS設定は機能しません。スクリプトからsetenvを適用する方法は?
また、私のシェルは/bin/tcshです。 bashシェルでは使用する予定はありません。ありがとうございます。
答え1
を使用する場合は、tcsh
スクリプトで次のように話し、始めに入力する必要があります。
#!/bin/tcsh -f
#!/bin/tcsh
カーネルの実行を指示するそれ代わりにプログラムを実行し、#/bin/sh
オプションは自分自身を再初期化しないように指示-f
します。tcsh
追加資料:
- パラメータリストの処理(tcsh)
- シェバンと現在のシェルの関係