問題タブ [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.

0 投票する
2 に答える
413 参照

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))。

0 投票する
1 に答える
219 参照

python - Chapel と Python の統合に関する質問

Python ベースの気候モデルで使用する並列コードを記述するために Chapel を使用できるかどうかを確認しようとしています: https://github.com/CliMT/climt

Chapel の使用経験はありませんが、私のユースケースには非常に有望なようです。Chapel コードを現在のワークフローに統合する方法について、いくつか質問がありました。

  1. インポート可能なファイルをビルドできることは知っていますが.so、Cython ファイルが生成されたときにコンパイルが停止することはありますか? 次に、それをディストリビューションに含め、標準を使用setuptoolsして Travis でプロジェクトをコンパイルします。

  2. numpyChapel で記述された Python 拡張機能に配列を渡すことはできますか?

  3. 2. の答えが「はい」で、私の計算が配列の 1 次元で恥ずかしいほど並列である場合、Chapel でこの並列処理を表現する洗練された方法はありますか?

  4. 複数のノードで動作する Chapel コードを作成し、それを Python 拡張機能にコンパイルする場合、どのように実行すればよいですか? mpirun python my_code.pyコマンドのようなものを使用できますか?