問題タブ [parallelism-amdahl]
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.
c - OpenMP ベンチマーク並列計算
f(x)
繰り返しごとにスレッド数を変えながら、コンピューティングのベンチマークを試みています。
f(x) = c * ln(x) * cos(x)
n=10000000
結果:
さまざまなスレッドを開始しました:
並列: n=10000000、p=2、所要時間=0.153774、スピードアップ=3.503831
並列: n=10000000、p=3、所要時間=0.064447、スピードアップ=8.360370
並列: n=10000000、p=4、所要時間=0.044694、スピードアップ=12.055239
並列: n=10000000、p=5、所要時間=0.048700、スピードアップ=11.063550
並列: n=10000000、p=6、所要時間=0.039009、スピードアップ=13.811989
並列: n=10000000、p=7、所要時間=0.041735、高速化=12.910017 の場合
並列: n=10000000、p=8、所要時間=0.041268、スピードアップ=13.055919
並列: n=10000000、p=9、所要時間=0.039032、スピードアップ=13.804157
並列: n=10000000、p=10、所要時間=0.038970、スピードアップ=13.825767
並列: n=10000000、p=11、所要時間=0.039843、スピードアップ=13.522884
並列: n=10000000、p=12、所要時間=0.041356、スピードアップ=13.028237
並列: n=10000000、p=13、所要時間=0.041039、スピードアップ=13.128763
並列: n=10000000、p=14、所要時間=0.047433、スピードアップ=11.359218
並列: n=10000000、p=15、所要時間=0.048430、スピードアップ=11.125202
並列: n=10000000、p=16、所要時間=0.051950、スピードアップ=10.371477
注:ここでの高速化は、シーケンシャル アルゴリズム (スレッド = 1) に対して計算されます。
p
(スレッド数)の変動による高速化の影響はあまりないようです。
私はこれを正しく行っていますか、それともスレッド数の非効率的な増分が原因です (つまり、理論的に言えば、変更してp
も深刻な影響はありませんO(myprogram)
)。
python - Chapel と Python の統合に関する質問
Python ベースの気候モデルで使用する並列コードを記述するために Chapel を使用できるかどうかを確認しようとしています: https://github.com/CliMT/climt
Chapel の使用経験はありませんが、私のユースケースには非常に有望なようです。Chapel コードを現在のワークフローに統合する方法について、いくつか質問がありました。
インポート可能なファイルをビルドできることは知っていますが
.so
、Cython ファイルが生成されたときにコンパイルが停止することはありますか? 次に、それをディストリビューションに含め、標準を使用setuptools
して Travis でプロジェクトをコンパイルします。numpy
Chapel で記述された Python 拡張機能に配列を渡すことはできますか?2. の答えが「はい」で、私の計算が配列の 1 次元で恥ずかしいほど並列である場合、Chapel でこの並列処理を表現する洗練された方法はありますか?
複数のノードで動作する Chapel コードを作成し、それを Python 拡張機能にコンパイルする場合、どのように実行すればよいですか?
mpirun python my_code.py
コマンドのようなものを使用できますか?