DPC++ (C++ with SYCL*) 言語向け実装と最適化入門トレーニング
~ インテル® oneAPI ベース & HPC ツールキットの活用 ~

このトレーニングでは、インテル® oneAPI ベース & HPC ツールキットに含まれるコンパイラーや解析ツールを活用した最適化や、SYCL* の実装についてご紹介します。

開催概要

日程

本セミナーは終了いたしました。
次回開催日が決まりましたら、弊社メールニュースにてご案内いたします。

コース名

DPC++ (C++ with SYCL*) 言語向け実装と最適化入門トレーニング
~ インテル® oneAPI ベース & HPC ツールキットの活用 ~

コース内容

単一のコードで複数のデバイスを利用することは、DPC++ (以降、C++ with SYCL*) 言語を使ったアプリケーション開発の大きなメリットの 1 つです。一方で、特定のデバイス専用に設計されたアプリケーションとは異なり、メモリーやワークグループの管理において動作を想定しているデバイスのクセを考慮する必要があります。このトレーニングでは、インテル® oneAPI ベース & HPC ツールキットに含まれるコンパイラーや解析ツールを活用した最適化や、SYCL* の実装についてご紹介します。

今回のトレーニングでは、インテル株式会社からゲストスピーカーをお招きし、インテル® DPC++ 互換性ツールを使用した C++ with SYCL* への移植の概要や事例、インテルの GPU に関するロードマップについて紹介いただきます。

C++ with SYCL* を利用した開発や複数デバイスをターゲットにしたプログラミングにご興味のある方は、ぜひご参加ください。

※ 本トレーニングでターゲットとするデバイスは、インテルの CPU と GPU としますが、一部に NVIDIA* GPU 向けの用語や機能を使った解説を含みます。

会場

【オンライン参加の場合】

当日、Zoom ウェビナーによるライブ中継 (※質疑応答は現地参加のみ) を実施予定です。
お申し込みが完了いたしましたら、ご登録いただいたメールアドレスに送付される手順に沿って、簡単なオンライン参加の手続きを行っていただく必要がありますので、予めご留意ください。

※ お申し込みいただく際、フォームにて「ご希望の参加形式」をご選択いただけます。
※ オンライン参加の場合、事後アンケートにて質問を受け付けます。

【現地参加の場合】

エクセルソフト株式会社 セミナールーム
〒108-0073 東京都港区三田3丁目9番9号 森伝ビル6階

アクセスマップ

本トレーニングは、3 年ぶりに現地開催される第 1 回目のインテル・ソフトウェア開発製品向けトレーニングになります。
オンライン参加をご希望の方は、下記の手順に沿ってお申し込みください。

対象者

  • インテル® Parallel Studio XE、インテル® ライブラリー、インテル® oneAPI ツールキットの最新情報に興味のある方
  • インテルの CPU、GPU の最適化に興味のある方
  • インテル® Parallel Studio XE からインテル® oneAPI ツールキットへの移行に興味のある方

定員

30 名

レベル

初級

参加費

無料 (事前登録制)

主催

エクセルソフト株式会社

ゲスト

インテル株式会社 テクニカル・コンサルタント・エンジニア 峰村 和樹 様

問い合わせ先

ご不明点がある場合はこちらより、以下のように項目を設定の上お問い合わせください。

  • [お問い合わせの製品・業務] - [製品の種類]: その他
  • [お問い合わせの製品・業務] - [その他]: セミナー

注意事項

内容の一部および講師は予告なく変更される場合がございます。予めご了承ください。

タイムテーブル

12:45

開場

13:00

開始

13:00 - 15:00

C++ with SYCL* 言語向け実装と最適化入門トレーニング

エクセルソフト株式会社 セールスエンジニア 竹田 賢人、宇崎 裕太

  • インテル® oneAPI DPC++/C++ コンパイラー
    • 基本オプション
    • JIT と AOT コンパイル
    • 中間表現の選択とバックエンド
  • C++ with SYCL* ー GPU 向け最適化
    • 統合共有メモリー (USM) とバッファー
    • work-group サイズの選択と実行ユニット (EU) 占有率
    • 同期
    • ベクトル化
    • デバイスの選択と実行
    • ライブラリーの活用
  • 解析ツールの利用
    • EU 占有率の確認
    • カーネルが起動するタイミングを把握
    • 帯域幅の調査

15:00 - 15:30

特別講演: インテル® DPC++ 互換性ツールを使った C++ with SYCL* 移植とインテル® GPU ロードマップ

インテル株式会社 テクニカル・コンサルタント・エンジニア 峰村 和樹 様

  • C++ with SYCL* 移植の概要と利点、および移植事例の紹介
  • インテル® GPU ロードマップの紹介

15:30

終了

講演者

エクセルソフト株式会社 竹田 賢人

竹田 賢人 (Kento Takeda)

エクセルソフト株式会社 セールスエンジニア

2015年から現職に従事。インテル® ソフトウェア開発製品の技術サポートを通じてアプリケーションの最適化支援に貢献している。また、セミナーやトレーニングの講師として、技術の普及活動にも取り組んでいる。

エクセルソフト株式会社 宇崎 裕太

宇崎 裕太 (Yuta Uzaki)

エクセルソフト株式会社 セールスエンジニア

2022年から現職に従事。前職ではメインフレームのプロジェクト業務に従事し、その知識を基にお客様のサポートに就いている。インテル® ソフトウェア開発製品の技術サポートを通じてアプリケーションの最適化支援に貢献している。



セミナー関連製品/機能

インテル® ソフトウェア開発ツール

インテル® ソフトウェア開発ツールは、Unified Acceleration (UXL) Foundation が管理する、アクセラレーター向け統合プログラミング・モデルのオープン仕様 oneAPI に基づいて、インテルが提供する現在と将来の CPU、GPU、FPGA のそれぞれに最大限のパフォーマンスを発揮させるための包括的なプログラミング手段を提供します。

「インテル® oneAPI ベース・ツールキット」には、oneAPI に基づいて、単一のコードで複数種類のアクセラレーターに対応できる SYCL* と C++ のコンパイラー、oneAPI ライブラリー、CUDA* から SYCL* へのコード移行ツール、およびインテルのアーキテクチャーにおける性能解析ツールなどが含まれます。

特殊なワークロード向けのドメイン固有のツールキット
  • インテル® oneAPI ベース・ツールキット
  • インテル® oneAPI ベース & HPC ツールキット
  • インテル® oneAPI ベース & レンダリング・ツールキット

インテル® DPC++ 互換性ツール

インテル® DPC++ 互換性ツールは、言語カーネルやライブラリー API 呼び出しを含む CUDA* ソースコードから、移植性の高いマルチアーキテクチャー言語である C++ with SYCL* コードへ移行するのを支援します。準備、移行、レビューの 3 ステージに分かれたワークフローに沿って、約 90% ~ 95% の CUDA* コードを自動的に C++ with SYCL* コードへ移行することで、コードの移行時間を大幅に短縮します。開発者は、残りのコーディングを手動で行い、ターゲット・アーキテクチャーで求められるパフォーマンスを達成できるようにチューニングします。

ストックホルム大学の GROMACS 2022 (英語) をはじめ、多くの研究機関やインテルのお客様が、インテル® DPC++ 互換性ツールを使用して、複数のベンダーのアーキテクチャー上で CUDA* コードから SYCL* (または oneAPI の SYCL* 実装であるデータ並列 C++) への移行に成功しています。

インテル® DPC++ 互換性ツールは、すべてのツールキットに同梱されています。

インテル® oneAPI DPC++/C++ コンパイラー

C++ with SYCL* は、ハードウェア・ターゲット間でコードを再利用し、CPU、GPU、および FPGA アーキテクチャーで高い生産性とパフォーマンスを実現する一方、アクセラレーター固有のチューニングも可能にするオープンなマルチアーキテクチャー言語です。

インテル® oneAPI DPC++/C++ コンパイラーは、C++、C、SYCL*、および OpenMP* をサポートし、完全な最新の C++ を含む標準ベースのクロスアーキテクチャー・コンパイラーです。

インテル® oneAPI DPC++/C++ コンパイラーは、すべてのツールキットに同梱されています。

インテル® Fortran コンパイラー

インテル® Fortran コンパイラーは、Fortran と OpenMP* をサポートする標準ベースの CPU および GPU コンパイラーです。現行バージョンである 2023.0.0 では、FORTRAN 77、Fortran90/95、Fortran 2003、Fortran 2008 および Fortran 2018 言語標準を完全に実装しているほか、ほとんどの OpenMP* 4.5、OpenMP* 5.0/5.1 ディレクティブおよびオフロード機能をサポートし、OpenMP* 6.0 の一部の機能も追加しています。また、オフロード並列処理を簡単に表現できるように、DO CONCURRENT GPU オフロードもサポートしています。

インテル® Fortran コンパイラーは、インテル® oneAPI ベース & HPC ツールキットに同梱されています。

インテル® VTune™ プロファイラー

C/C++、Fortran、Python*、Go*、Java* を使用する開発者向けのパフォーマンス / スレッド・プロファイラーです。

現在および将来にわたるプロセッサーを最大限に活用するように、アプリケーションを簡単にチューニングすることができます。CPU と GPU パフォーマンス、スレッドのパフォーマンスとスケーラビリティー、バンド幅、キャッシュ利用など、パフォーマンス向上のための豊富な情報を収集します。シングルコード・プロファイラーとは異なり、C / C++、Fortran、Python*、Go*、Java* が混在したコードの hotspot を正確に特定します。

インテル® VTune™ プロファイラーは、すべてのツールキットに同梱されています。

インテル® Advisor

インテル® Advisor は、C、C++、C#、Fortran ソフトウェア・アーキテクト向けの高性能ベクトル化/スレッド化プロトタイプ生成ツールです。ベクトル化を安全かつ効率的に行えるように、反復回数、データ依存性、メモリー・アクセス・パターンなどの必要なキーデータを取得します。インテル® AVX-512 対応ハードウェアがない場合でも、最新のインテル® AVX-512 命令セット向けの最適化を行えます。さらに、スレッドのプロトタイプ生成を利用することで、進行中の開発に影響を与えることなく、設計オプションを素早く評価できます。

インテル® Advisor は、すべてのツールキットに同梱されています。

関連資料紹介

iSUS 提供資料

iSUS (IA Software User Society) は、インテル® アーキテクチャー向けにソフトウェア開発者に向けて、並列化/最適化に関する最新情報を提供しています。

ウェビナーシリーズ 2021

  • インテル® DevCloud の使い方
  • インテル® DPC++ 互換性ツールの紹介
  • OpenMP* を使用した GPU オフロード方法
  • GPU 向けのインテル® VTune™ プロファイラーの機能と GPU 最適化
  • インテル® Advisor によるコードの最適化とプロトタイプ作成