主要な概念

ここでは、プログラムに並列処理を追加する際に必要な主要概念と用語について説明します。また重要な用語も示します。

この数年間で、ラップトップ、デスクトップ、またはエンタープライズ・サーバーで使用されるプロセッサーのテクノロジーは、シングルコアの高速化からマルチコアの実装へとシフトしています。

並列プログラムでは、プログラムの一部分 (タスク) が同時に実行されます。マルチコアシステムにおいて、これはパフォーマンスの向上につながります。

アプリケーションを並列化するには、並列タスクの可能性を特定し、タスクが並列実行されても正しく動作するようにコードを変更して、並列実行するコードを追加します。インテル® Advisor は、プログラムに並列処理を追加するのを支援するツールセットと方法論を備えています。シーケンシャル・バージョンのプログラムとツールのモデル化機能を使用して、指定した方法でプログラムを並列化した場合の動作を調査できます。Windows* 開発環境では、Microsoft* Visual Studio* のアドインとしてもインテル® Advisor を利用できます。

Visual Studio* 2022 では、インテル® Advisor の軽量な統合が提供されます。アプリケーションを設定およびコンパイルし、Visual Studio* からスタンドアロンのインテル® Advisor インターフェイスを開いてさらに解析することができます。すべての設定はスタンドアロンのインテル® Advisor プロジェクトに継承されます。

最後のステップでは、インテル® onePAI スレッディング・ビルディング・ブロック (oneTBB) や OpenMP* などの高レベルの並列フレームワーク (スレッド化モデル)、または低レベルのスレッド化 API を使用してプログラムに並列処理を実装します。

C/C++ や Fortran ネイティブコードでは、高レベルの oneTBB や OpenMP* フレームワークの使用が推奨されます。これらはインテル® ソフトウェア開発ツールに含まれています。インテル® Advisor のドキュメントでは、これらのフレームワークを使用してプログラムに並列処理を導入する手順が示されています。インテル® Advisor は、C/C++ と Fortran のサンプルを提供します。

Windows* 上の C# のマネージドコードには、Microsoft* タスク並列ライブラリー (TPL) を使用します。インテル® Advisor には、C# の nqueens サンプルも含まれています。

インテル® Advisor 2021.1 以降では C# と .NET のサポートが非推奨となりました。

このインタラクティブな手順では、並列処理を追加するサイトを特定し、サイトごとに基本的なステップを繰り返します。

関連するトピックでは、並列処理の導入と並列フレームワークの実装に関連する情報を示します。

関連情報