マルチコアの基本 · 2024/07/22
マルチコアに対してよく聞かれる質問です。第12回で書いたように、マルチタスクで記載されたプログラムはマルチコアでそのまま動作する可能性はありますが、そうでないプログラムはそのままでは一つのコアでしか動かないため、自動もしくは手動での並列化が必要です。...

マルチコアの基本 · 2024/07/22
前回、マルチコア向けソフトウェアについて説明しましたが、資産性・再利用性を確保するための”王道”とは何でしょうか。 なお、すべての動画はEMCのYouTube動画ページからご覧いただけます。

マルチコアの基本 · 2024/07/22
今回はマルチコアで動作するソフトウェアについて説明します。 マルチコアといっても、GPUなどを使うヘテロジニアス・マルチコアについては概念が異なってくるので別の機会に譲り、今回はCPUマルチコアについてのみ考えます。...

マルチコアの基本 · 2024/07/22
前回、一つのアプリケーションの例を用いてマルチコア性能向上の概算手法について説明しました。今回はシステムになったとき難しくなる理由について説明します。...

マルチコアの基本 · 2024/07/22
前回までに、マルチコアによる性能向上に関連して依存関係やオーバーヘッドの話をしました。では結局の所、性能はどのくらい上がるのでしょうか。特にマネジメントとしては大変気になるところです。しかし、聞いても誰も答えられず、やってみないとわかりません、といったマネジャーの機嫌が悪くなる回答しか得られないことがほとんどです。この問題について2回に分けて考えてみたいと思います。 今回は、まず一つのアプリケーションでの並列性能向上を概算する方法について説明し、次回、システムになったときに性能見積が困難になる要因について考えてみます。 下の図のようなソースコード構成を持つアプリケーションを考えます。ソースコードは図のようにAからEまでの部分に分かれ、Aから開始し、それぞれ最大一回ずつ実行されるとします。括弧内は実行時間です。依存関係については以下のようになっているとします。 ・ データ依存関係:Aで生成されたデータをBとCが使い、BとCでそれぞれ生成されたデータをEで使う ・ 制御依存関係:Cの結果によりD-1またはD-2のどちらかが実行される これらの依存関係をグラフとして表現すると下図右のようになります。実線はデータ依存関係、破線は制御依存関係で、矢印の始点側の処理が終わらないと終点側の処理を開始できない、という関係を表現しています。

マルチコアの基本 · 2024/06/20
マルチコアでは、スーパーリニアといって、コア数を超える性能向上が得られる場合があります。 スーパーリニアはリソースが増えたことにより起こります。例えば、シングルコアの時と比べて2コアではキャッシュが2倍になりますが、それが良い影響を及ぼすことがあります。...

マルチコアの基本 · 2024/06/20
第6回において、コア数を増やしてもコア数ほどには性能があがらないという話をして、その理由の一つとして処理の依存関係の話をしました。...

マルチコアの基本 · 2024/06/20
前回、コア数を増やしてもコア数ほどには性能があがらないという話をして、その理由の一つとしてオーバーヘッドの話をしました。...

マルチコアの基本 · 2024/06/20
プロセッサの数が2コア、4コアと増えていくと性能も2倍、4倍と上がっていって欲しいものです。実際はどうなのでしょうか。 なお、すべての動画はEMCのYouTube動画ページからご覧いただけます。

マルチコアの基本 · 2024/05/07
第5回 シングルコアからマルチコアへ 今回はシングルコアからマルチコアに移行した背景についてです。インタビュー動画第三弾では「シングルコアの限界」について、微細化の観点から易しく解説し、マルチコアに進んだ背景について紹介しています。 なお、すべての動画はEMCのYouTube動画ページからご覧いただけます。

さらに表示する