インテル® oneAPI データ並列 C++ (DPC++) コンパイラー

データ並列 C++、C++、C、SYCL、および OpenMP* をサポートする標準ベースのクロスアーキテクチャー・コンパイラーです。
関連情報
[お知らせ一覧]

ダイレクト・プログラミングを実現するインテル® oneAPI データ並列 (DPC++/C++) コンパイラー

インテル® oneAPI DPC++/C++ コンパイラーは、データ並列 C++、C++、C、SYCL、および OpenMP* をサポートする標準ベースのクロスアーキテクチャー・コンパイラーです。

実績のある LLVM コンパイラー・テクノロジーとコンパイラーを主導してきたインテルの経験を活用して、優れたパフォーマンスを実現します。主要なコンパイラー、開発環境、オペレーティング・システムとのシームレスな互換性を提供します。

詳細・新機能 技術情報

コンパイラーを利用する

インテル ® oneAPI DPC++/C++ コンパイラーは、様々な最適化向けコンポーネントを含むスイート製品にて提供されています。

インテル® oneAPI ベース・ツールキット

1 つのプログラミング・モデルで複数のアーキテクチャー (CPU、GPU、FPGA) にわたって高いパフォーマンスを発揮できるコードの開発を支援します。

インテル® oneAPI ベース & HPC ツールキット

C/C++、Fortran コンパイラーと MPI 開発ツールにより、CPU およびアクセラレーターまたはそれらのクラスターへ最適化された HPC アプリケーションの開発を支援します。

インテル® oneAPI ベース & IoT ツールキット

さまざまな IoT 開発ツールにより、スマートなコネクテッド・デバイスを構成する優れた IoT アプリケーションの開発を支援します。

インテル® oneAPI ベース & レンダリング・ツールキット

さまざまなレンダリング・ツールにより、優れたビジュアライゼーション・アプリケーションやソリューションの開発を支援します。

概要

DPC++ は、SYCL* とコミュニティーの拡張を組み込んだ C++ の進化版です。ハードウェア・ターゲット間でコードを再利用し、CPU、 GPU、および FPGA アーキテクチャーで高い生産性とパフォーマンスを実現する一方、アクセラレーター固有のチューニングも可能にします。統合されたインテル® oneAPI DPC++/C++ コンパイラーには、完全な最新の C++ も含まれています。

バージョン 2021.3 新機能

主に以下の変更・機能が追加されました。詳細は、リリースノートを参照ください。

  • SYCL* 2020 機能 sycl::kernel_bundle やリダクションの一部へのサポートを追加
  • 同じソース内における ESIMD と通常の SYCL* カーネルの共存や、ESIMD クラスの間接的な読み取りおよび書き込みメソッドのための DPC++ 拡張機能 ExplicitSIMD へのサポートを追加
  • OpenMP* 5.0/5.1 ユーザー定義マッパー (マッパー宣言) のサポートと OpenMP* 5.1 dispatch バリアントのサポートを有効化

多様なハードウェア・ターゲット間でコードを再利用

  • 開発の生産性: カスタムのチューニングを可能にし、単一のソースコードを介して CPU、GPU、FPGA、AI アクセラレーターなどの多様なアーキテクチャーをターゲット
  • 言語標準のサポート: C++17 や SYCL* などの最新の標準や C++20 の初期サポートに基づいて構築され、汎用ラムダ式や可変テンプレートなどの機能の移植性とサポートを保証
  • 業界標準のサポート: GPU オフロード向け OpenMP* 4.5 および 5.0 のサブセットをサポート
  • 信頼できるテクノロジー: 実績のある LLVM コンパイラー・テクノロジーとコンパイラーにおけるインテル社のリーダーシップを活用

FPGA エミュレーションとコンパイル

  • 経験豊富な FPGA 開発者によるアクセラレーション・ワークロードのフィールド・プログラマブル・プラットフォームへのターゲティング
  • インテル® oneAPI ベース・ツールキットのアドオン・オプション

ベンチマーク

インテル® oneAPI

ベース・ツールキット
(旧製品: インテル® VTune™ プロファイラー、インテル® DAAL、インテル® MKL、インテル® IPP、インテル® TBB、インテル® System Studio for FreeBSD)
ベース & HPC ツールキット ベース & IoT ツールキット
(旧製品: インテル® System Studio)
ベース & レンダリング・ツールキット
シングルノード
(旧製品: インテル® Parallel Studio XE Composer Edition、Professional Edition)
マルチノード ※2
(旧製品: インテル® Parallel Studio XE Cluster Edition)
シングルノード マルチノード ※2
インテル® oneAPI DPC++/C++ コンパイラー
インテル® DPC++ 互換性ツール
インテル® ディストリビューション for Python*
インテル® oneAPI ベース・ツールキット用インテル FPGA アドオン
インテル® oneAPI DPC++ ライブラリー
インテル® oneMKL
数値演算ライブラリー
インテル® oneDAL
データ解析ライブラリー
インテル® oneTBB
マルチスレッド・ライブラリー
インテル® oneVPL
ビデオ処理ライブラリー
インテル® oneCCL
コレクティブ・コミュニケーション・ライブラリー
インテル® oneDNN
ディープ・ニューラル・ネットワーク・ライブラリー
インテル® IPP
画像処理ライブラリー
インテル® VTune™ プロファイラー
パフォーマンス分析ツール
インテル® Advisor
並列化アドバイスツール
インテル® ディストリビューション for GDB
システム全体のデバッグツール
インテル® C++ コンパイラー・クラシック
ベータ版インテル® Fortran コンパイラー
インテル® (Visual) Fortran コンパイラー・クラシック
インテル® Cluster Checker
クラスター診断エキスパート・システム
インテル® Inspector
エラー検出ツール
インテル® MPI ライブラリー
メッセージ・パッシング・ライブラリー
インテル® Trace Analyzer & Collector
MPI アプリケーションのパフォーマンス分析ツール
Eclipse* IDE
Linux カーネル・ビルド・ツール
IoT 接続ツール
インテル® Embree
インテル® OSPRay
インテル® Open Image Denoise
インテル® オープン・ボリューム・カーネル・ライブラリー
インテル® OpenSWR
取り扱い OS 環境 ※1 W / L W / L / M W / L W / L W / L W / L
※1 W: Windows* (Visual Studio*)L: Linux* (GNU*)M: macOS* (XCode*)
※1 対応動作環境の詳細は各製品のリリースノートを参照してください
※1 macOS* については、一部製品のみにて対応しています
※2 インテル®oneAPI ベース & HPC ツールキット、およびインテル®oneAPI ベース & レンダリング・ツールキットでは、ターゲット・プラットフォームのメモリーシステムの種類により、シングルノードとマルチノードの 2 つの製品が提供されます。
  • シングルノード: PC、ラップトップ、ワークステーションを含む共有メモリーシステムのターゲット・プラットフォーム向け
  • マルチノード: PC、ラップトップ、ワークステーションを含む共有メモリーシステムに加え、HPC クラスターやレンダーファームを含む分散メモリーシステムのターゲット・プラットフォーム向け
アプリケーションを作成してクラスターシステムなどの分散メモリーシステムで実行する場合は、シングルノードではなく、マルチノードをご利用ください。

» 一覧を別ウィンドウで表示

本ページに、ドキュメント一覧が表示されない場合は、ご利用のブラウザの JavaScript を ON にしていただくか、 こちらのドキュメント・ページをご覧ください。

製品セミナーや関連イベントをご紹介。

製品をより効率良く利用するための解説書をご紹介。

米インテル社の製品情報を日本語に翻訳して公開中。

米インテル社の製品情報を日本語に翻訳して公開中。

アプリケーションの高速化、安定化を支援するスイート製品です。

システム/IoT デバイス・アプリケーションのパフォーマンス、電力効率、信頼性向上を支援するスイート製品です。

ハードウェア

CPU
  • Intel® Core™ プロセッサー・ファミリー
  • Intel® Xeon® プロセッサー・ファミリー
  • Intel® Xeon® スケーラブル・ プロセッサー・ファミリー
GPU (GEN9 またはそれ以降)
  • インテル® HD グラフィックス 5xx、6xx
  • インテル® UHD グラフィックス 6xx
  • インテル® Iris® Pro グラフィックス 5xx
  • インテル® Iris® Plus グラフィックス 6xx
  • インテル® Xeon® プロセッサー P5xx、P6xx
FPGA カード
  • インテル® アクセラレーション・スタック (インテル® Xeon® CPU & FPGA 1.2.1 対応) を含むインテル® プログラマブル・アクセラレーション・カード (インテル® PAC) インテル® Arria® 10 GX FPGA 搭載版
  • インテル® アクセラレーション・スタック (インテル® Xeon® CPU & FPGA 2.0.1 対応) を含むインテル® プログラマブル・アクセラレーション・カード (インテル® PAC) D5005
FPGA カスタム・プラットフォーム
(インテル® Arria® 10 GX およびインテル® Stratix® 10 GX 参照プラットフォームからの移行)
  • インテル® Quartus® Prime ソフトウェア 19.4 を使用したインテル® カスタム・プラットフォーム
  • インテル® Quartus® Prime ソフトウェア 20.2 を使用したインテル® カスタム・プラットフォーム
RAM
  • CPU および GPU 開発: 16 GB
  • FPGA 開発:
    • インテル® Arria® 10 FPGA を使用したインテル® PAC の場合 - 48 GB
    • インテル® PAC D5005 の場合 (推奨) - 64 GB
  • デザインの処理に推奨される物理 RAM と同等の仮想メモリーをもつシステムを構成することを推奨します。
  • 最新の情報は、製品または評価版に同梱されているリリースノートを参照ください。

ソフトウェア


Linux*

CPU ホスト/ターゲット
  • Ubuntu* 20.04 LTS
  • Red Hat* Enterprise Linux* 8.1
  • CentOS* 8.x
  • SUSE* 15.x
インテル® インテグレーテッド・グラフィックス

GEN9 向け:

  • Ubuntu 18.04 LTS、20.04 LTS
  • RHEL 8.1
  • SUSE 15.x
  • Linux カーネル 4.11 またはそれ以降
FPGA

以下によって Ubuntu LTS 18.04 (カーネルバージョン 4.15) されます。

  • インテル® Arria® 10 GX FPGA 搭載版を使用したインテル® プログラマブル・アクセラレーション・カード (インテル® PAC)
  • インテル® FPGA PAC D5005 (インテル® Stratix® 10 SX FPGA)
  • カスタム プラットフォーム
開発ツール
  • GNU* コンパイラー・コレクション (GCC*): 7 またはそれ以降
  • Eclipse* 開発: Eclipse 4.14 またはそれ以降
  • GPU 開発:
  • FPGA 開発:
    • インテル®oneAPI ベース・ツールキットに含まれるインテル® FPGA アドオン (ハードウェアのコンパイルフローをサポート)
    • GCC 7.4.0 (Ubuntu 18.04 におけるデフォルトのバージョン)
  • インテル® oneAPI DPC++ ライブラリーを使用した開発:
    • 範囲ベースの API を使用するには、GCC 8.1 (またはそれ以降) または Clang 7 (またはそれ以降) に含まれている C++17 および C++ 標準ライブラリが必要です。
  • 既知の問題は、RHEL および SUSE で Link Time Optimization (LTO) を使用しているときにリンカーエラーが発生することです。この問題を解決するには、binutils の次の最小バージョンがインストールされていることを確認してください。
    • SUSE15.2: binutils 2.35
    • RHEL 8: binutils 2.30-82.el8
インテル統合グラフィックス (GPU) 開発の概要
  • サポートされている Linux* カーネル: 4.11 以降のデプロイメントが必要です。
  • サポートされている Linux* OS:
    • GEN9: Ubuntu LTS 18.04.3、RHEL 8.1、SUSE 15.x
  • GNU* GCC*: 7 またはそれ以降
  • 最新のインテル® GPU ドライバー
  • ハードウェアにアクセスするには、ユーザーは「ビデオ」グループに属している必要があります。以下のコマンドを使用して追加します。
    $ usermod -a -G video $USER

Windows*

CPU ホスト/ターゲット
  • Windows* 10 (64 ビット)
  • Microsoft Windows Server* 2016、2019
GPU
  • Windows* 10 (64 ビット)
FPGA
  • Windows* 10 (64 ビット)
    • カスタム・プラットフォームがサポートされています。
    • エミュレーションとレポートフローのみがサポートされています。
開発ツール
  • GPU 開発:
  • 「C++ を使用したデスクトップ開発」のワークロードがインストールされた Microsoft Visual Studio* では以下のバージョンがサポートされます。
    • 2017 (バージョン 15.7 およびそれ以降)
    • 2019 (バージョン 16.4 およびそれ以降)

お知らせ

2020年 12月 8日、インテル® oneAPI 2021 の販売を開始しました。過去に製品をご購入いただき、現在有効なサポートサービスをお持ちのお客様は、インテル® oneAPI 製品を無料でダウンロードしてご利用いただけます。

インテル® oneAPI 製品には、最新インテル® コンパイラー 21.1 の英語版が含まれています。インテル® コンパイラーの日本語版は同梱されていません。日本語版をご利用いただく場合、インテル® Parallel Studio XE 製品を引き続きご使用ください。

また、インテル® oneAPI 2021 をご利用、ご評価いただき、新機能などの新バージョンに関するご意見をお聞かせいただいた方の中から抽選で 30 名様にプレゼントが当たるキャンペーンを実施中です。この機会に、ぜひ最新バージョンをお試しください。

キャンペーンの応募条件に関する詳細につきましては、こちらのキャンペーン専用ページをご参照ください。

FAQ

本ページの「技術情報」タブのリリースノートをご覧ください。

インテル® DPC++/C++ コンパイラーは、インテル® oneAPI ベース・ツールキット以上に含まれています。詳細は、 インテル® oneAPI 製品ページを参照してください。

本ページの「製品機能」タブ、および「技術情報」タブの各種ドキュメントをご覧ください。

いいえ、単体販売はしておりません。
インテル ® DPC++/C++ コンパイラーを同梱するインテル® oneAPI 製品をお買い求めください。

» スイート製品に同梱される 製品・機能一覧はこちら

以下の表の通りです。

インテル® コンパイラー インテル® oneAPI
21.1 2021

いいえ、インテル® oneAPI 製品のすべてのツールキットに同梱されるインテル® DPC++/C++ コンパイラーは英語版のみです。
日本語版のコンパイラーは、インテル® Parallel Studio XE for Windows/Linux に同梱されるインテル® コンパイラー向けにのみ提供されます。

最新版、または旧バージョンのダウンロードは、インテル® レジストレーション・センターで行います。
詳細は以下ページを参照ください。

» 製品登録 & ダウンロード

購入

技術情報

サポート