質問

私は、線形代数を行うために、マルチCPU /コアマシン上で mpi4py とOpenMPIの使用。私のnumpyのは、 ATLASするを使用して構築されています。私は4コアのマシンを持っていると私はnumpyのを使用して、各ノード上で線形代数を行う4ノードのPythonスクリプトを実行したいとします。

どのように私はそれが各ノードに線形代数をやっているときATLASは、複数のコアを使用していないことを確認することができますか?私はATLASをビルドすると、それは同時に複数のコア上で実行するために設定したのは何のオプションはなさそうです。インテルMKLで、私はあなたがOMP_NUM_THREADS = 1を設定することができると思うし、この動作は保証されています。この目的のためだけにATLASを構築する方法はありますか?環境変数と同等があるように思えません。

私は、マルチコアCPUの各コア上で同時に複数のBLAS操作を実行すると良い戦略ではないことを推測しています。この上のCAN誰のコメントか、これが良いか悪いアイデアである親指のルールを与える?

役に立ちましたか?

解決

残念なことにスレッドATLASの使用の最大数は、OMP_NUM_THREADSなどの環境変数を用いて制御することができません。あなたは、シリアルATLASライブラリとnumpyのを再リンクする必要があります。

を参照してください。

http://math-atlas.sourceforge.net/faq.html#tsafe

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