データ並列 C++: SYCL* の oneAPI 実装


基本を学ぶ     ダウンロード     インテル® デベロッパー・クラウドで試す     ドキュメント     トレーニング     ヘルプ

クロスアーキテクチャー

  • SYCL* は、単一ベンダー固有のアクセラレーター・プログラミング言語に代わるものです。
  • 特定のアクセラレーター向けのカスタム・チューニングを許容しながら、ハードウェア・ターゲット (CPU、GPU、FPGA) 全体でコードを再利用できます。
  • SYCL* は、親しみのある標準 ISO C++ にデータ並列処理とヘテロジニアス・プログラミングを追加する Khronos 標準です。

SYCL* リファレンス・ガイド
SYCL* 2020 日本語ドキュメント (リビジョン 6)
SYCL* について (英語)

SYCL* の実装

  • DPC++ はコンパイラーの実装の 1 つです。

インテル® oneAPI DPC++/C++ コンパイラー
インテル® oneAPI DPC++ ライブラリー (英語)
インテル® oneAPI 向けプラグイン (NVIDIA)
インテル® oneAPI 向けプラグイン (AMD)

oneAPI イニシアチブ

  • oneAPI は、SYCL* フレームワークを利用して、コンパイラー、API、ライブラリー、ツール、サンプルコードを組み合わせます。
  • ユビキタス・マルチアーキテクチャーおよびマルチベンダー・コンピューティングの実現可能なビジョンを備え、SYCL* および oneAPI に完全に対応したアプリケーションの豊富なカタログを提供します。
  • これは、Unified Acceleration Foundation (UXL) によって管理されています。

oneAPI プロジェクトのリスト (英語)
CUDA* から C++ with SYCL* へのコード移行
CUDA* から SYCL* へのカタログ (英語)

オープン・コミュニティー・プロジェクト

  • oneAPI は、SYCL* をベースとしたオープンソースの LLVM テクノロジーの実装です。
  • API 拡張は、オープンで協調的なコミュニティーによる開発によって推進されています。
  • それらの機能拡張が認められると、実装のためベース仕様 (C++ または SYCL*) に提案されます。

インテルの LLVM ベースのプロジェクト (英語)
oneAPI イニシアチブ (英語)
Unified Acceleration Foundation (UXL) (英語)


SYCL* の基本を学ぶ

SYCL* は、単一アーキテクチャーの独自言語に代わるオープンな言語です。これにより、開発者はハードウェア・ターゲット (CPU、GPU、FPGA などのアクセラレーター) 全体でコードを再利用し、特定のアーキテクチャーに合わせてチューニングできます。コードのチュートリアルでは、SYCL* プログラミングの基本原則と実践方法を紹介します。SYCL* とインテルによるこの新しいプログラミング言語をインテル® oneAPI ツールキットへの統合に関して引き続き学習するには、こちらを参照してください。


1. 概念と機能

ベクトル加算のサンプルは、oneAPI の概念と、SYCL* プログラミング言語を使用した機能を示しています。ここでは、以下のことを学びます。

  • GPU や FPGA など各種アクセラレーターをターゲットにするデバイスセレクター
  • バッファーとアクセサー
  • キュー
  • データ並列カーネル “parallel_for”

2.統合共有メモリー (USM)

マンデルブロ・セットのサンプルは、oneAPI の概念と、SYCL* プログラミング言語を使用した機能を示しています。ここでは、以下のことを学びます。

  • 統合共有メモリー
  • メモリーの管理とアクセス
  • 並列処理の実装

さらに詳しく


インテル® oneAPI ベース・ツールキットで SYCL* ツールを入手

インテル® oneAPI ベース・ツールキットは、多様なアーキテクチャーでハイパフォーマンスなデータ・セントリックのアプリケーションを開発するためのツールとライブラリーの基本セットです。この基本ツールとライブラリーのセットには次のものが含まれます。

  • 使い慣れたツールと言語
  • 高度な解析とデバッグツール
  • CUDA* コードの移行向けのインテル® DPD++ 互換性ツール

すべてのツールキットを見る
CUDA* から C++ with SYCL* への移行ワークフロー
CUDA* から C++ with SYCL* へのコード移行


インテル® デベロッパー・クラウドにサインアップして AI および HPC ワークロードを高速化/拡張

この開発環境を利用すると、AI および HPC 製品とソリューションを迅速に市場投入できます。開発者は、最新のインテルのハードウェアやソフトウェア・テクノロジーに即座にアクセスでき、コードをより迅速に、コスト効率良く、効果的に構築、テスト、および最適化できます。さまざまなサービスが利用できます。


インテル® デベロッパー・クラウド
インテル® デベロッパー・クラウド
インテル® DevCloud for oneAPI 対応日本語パッケージ
ServeTheHome のツアーを見る (英語)
導入ビデオを見る [22:53] (英語)





コードに関連するすべての情報を常に把握

サインアップすると、CPU、GPU、FPGA、およびその他のアクセラレーター (スタンドアロンや任意の組み合わせ) に最適化され、優れたコードを作成するのに役立つ最新のトレンド、チュートリアル、ツール、トレーニングなどを受けることができます。