OMP_PROC_BIND の振る舞いがインテル製品以外のプロセッサーとの互換性をサポートしました

同カテゴリーの次の記事

インテル® コンパイラーのプラグマ/ディレクティブ

この記事は、インテル® ソフトウェア・サイトに掲載されている「OMP_PROC_BIND is now supported on compatible non-Intel processors」の日本語参考訳です。


最新のインテル® C++ コンパイラーおよびインテル® Fortran コンパイラーでは、OpenMP* の環境変数 OMP_PROC_BIND の振る舞いが Linux と Windows においてインテル製品以外のプロセッサーとの互換性がサポートされました。この修正はインテル® Composer XE 2011 Update13 とインテル® Composer XE 2013 Update 1 以降に反映されています。以前のバージョンのコンパイラーでは、互換プロセッサー上でOpenMP* 3.1 API 仕様で定義される OMP_PROC_BIND の振る舞いがサポートされていませんでした。インテル互換プロセッサー上でOMP_PROC_BIND={true, false} に設定し、インテル® OpenMP* ランタイムとリンクしたプログラムを実行すると、アフィニティーがサポートされないという趣旨の警告が生成されます。

この問題が修正され、OMP_PROC_BIND=true に設定すると OpenMP* スレッドはプロセッサーにバインドされます。OMP_PROC_BIND=false に設定すると、OpenMP* スレッドはプロセッサー間で移行します。

Linux* システムにおいてのみ、GOMP_CPU_AFFINITY 環境変数を利用してOSの特定のプロセッサーIDをOpenMP* スレッドにバインドできます。GOMP_CPU_AFFINITY は、OMP_PROC_BIND=trueよりも優先されることに注意してください。インテル® コンパイラーでビルドされたプログラムの実行時に両方の環境変数が設定されていると、次のような警告が表示されるでしょう:

OMP: Warning #181: OMP_PROC_BIND: ignored because GOMP_CPU_AFFINITY has been defined

関連記事

  • OpenMP* のサポート・ライブラリーOpenMP* のサポート・ライブラリー この記事は、インテル® ソフトウェア・ネットワークに掲載されている「OpenMP* Support Libraries」の日本語参考訳です。 編集部注: 本記事には旧製品(インテル® コンパイラー・バージョン 11.1 以前)向けの情報が含まれます。バージョン 12.0 […]
  • インテル® C++/Fortran コンパイラーによる OpenMP* 3.1 仕様のサポートインテル® C++/Fortran コンパイラーによる OpenMP* 3.1 仕様のサポート この記事は、インテル® ソフトウェア・ネットワークに掲載されている「Intel® C++ and Fortran Compilers now support the OpenMP* 3.1 Specification」の日本語参考訳です。 2011 年 7 月に OpenMP* 3.1 仕様 (英語) […]
  • ガイド付き自動並列化ガイド付き自動並列化 この記事は、インテル® デベロッパー・ゾーンに掲載されている「Guided Autoparallelism」の日本語参考訳です。 インテル® Composer XE Linux* 版には、ガイド付き自動並列化 (GAP) 機能が含まれており、Fortran と C/C++ […]
  • インテル® MIC アーキテクチャー向けの高度な最適化 - ヘテロジニアス・プログラミング・モデルインテル® MIC アーキテクチャー向けの高度な最適化 - ヘテロジニアス・プログラミング・モデル この記事は、インテル® ソフトウェア・サイトに掲載されている「The Heterogeneous Programming Model」の日本語参考訳です。 はじめに ここでは、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャー向けのインテル® Composer XE 2013 […]
  • インテル® MKL 10.3 で追加された新機能インテル® MKL 10.3 で追加された新機能 この記事は、インテル® ソフトウェア・ネットワークに掲載されている「What's new in Intel® MKL?」の日本語参考訳 (一部編集含む) です。 インテル® MKL 10.3 では主に次の機能が追加されました。 インテル® アドバンスト・ベクトル・エクステンション (インテル® AVX) […]