マルチコアの基本 · 2024/10/17
掲題についてchatGPTを用いて作成した例を紹介します。なお例において、関数呼出の箇所で関数をインライン展開することにより依存の有無が判定できる場合もありますが、ここではコンパイラはそこまでのことをしないことを前提としています。また、文中に「静的」という言葉がでてきますが、コンパイラのようにプログラムを動作させることなく解析することを静的解析といいます。

マルチコアの基本 · 2024/10/17
コンパイラはプログラムを動作させることなく解析するため、実行時にならないとわからない情報の解析には限界があります。その代表例がC言語のポインタです。ポインタの値はOS等が割り当てるメモリ番地であるため、実行時にならないとわかりません。以下で詳しく説明しますが、ポインタを利用(特に演算)すると、処理の依存関係(データの読み書き順序などの理由で生じる処理の実行順序関係)の解析が難しくなり、2つの処理A、Bの依存関係が不明という状況が生じます。

マルチコアの基本 · 2024/10/17
シングルコア向けに書かれたソフトウェアを自動的にマルチコア向けにコンパイルするツールが自動並列化コンパイラです。 前回の動画で紹介したMBP (Model Based Parallelizer) (https://www.esol.co.jp/embedded/product/embp_overview.html )はMathworks社のSimulinkモデルを入力とする自動並列化ツールです。C/C++言語プログラムなどからの自動並列化ツールとしては、Intel社のコンパイラ...

マルチコアの基本 · 2024/10/17
前回、シングルコアで動かしていたマルチタスクアプリケーションを、そのままマルチコア上に移植しても性能が向上しないだけでなく、正しく動かない場合もあるという話をしました。それではマルチコア上で正しく動作し、性能も向上するアプリケーションに自動的に変換するツールはあるのでしょうか。 第7弾の動画をご参照下さい。

news · 2024/08/07
今年も猛暑ですね。私の住む名古屋も体温を超える気温が当たり前となってきております。...


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

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

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

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

さらに表示する