プログラムに並列処理を追加する

スレッド化パースペクティブ・ワークフローのステップを完了し、テストしてアプリケーション・プログラムのシリアルバージョンを承認したら、選択した並列サイトに並列処理を追加できます。コードに並列フレームワークを追加する前に、提案された並列処理の変更について設定とその確認を完了している必要があります。

プログラムに並列フレームワークを追加するには、次の作業を行います。

  1. インテル® oneAPI スレッディング・ビルディング・ブロック (oneTBB) 、OpenMP*、Microsoft* タスク並列ライブラリー (TPL - Windows* のみ) など、アプリケーションの並列プログラミング・フレームワーク (スレッド化モデル) を選択します。アプリケーションで使用する言語で利用可能な並列フレームワークについては、ヘルプトピックの並列フレームワークをご覧ください。

  2. ビルド環境に並列フレームワークを追加します。

  3. 共有データリソースへのアクセスを同期するため、oneTBB や OpenMP* ロックなどの並列フレームワークのコードを追加します。

  4. 並列タスクを生成する並列フレームワーク・コードを追加します。

最後の 2 つのステップでは、選択した並列フレームワークで適切な並列コードを追加して、インテル® Advisor のアノテーションに置き換えるか、そのまま残すか、コメントアウトすることができます。

並列処理を実装する前に、oneTBB や OpenMP* のロック/ミューテックスなどの同期コードを追加する必要があります。並列処理を行わないコードを同期しても正しく動作しますが、同期がない並列コードは正しく動作しません。

適切に同期を配置して並列処理を導入します。これにより、複数のタスク操作を安全に並列実行できます。データ共有や同期の問題によるバグが残っていると、実行時に明らかになり、その後デバッグすることになります。