年次イベント「ハイパフォーマンス・ソフトウェア・カンファレンス」2023 オンライン講演 Day 1 ~ Day 3
HPSC 2023 オンライン講演 Day 1
基調講演 1: HPC-AI の革新
インテル株式会社 インダストリー事業本部 HPC 事業開発部長 矢澤 克巳 様
大きな変革期を迎える今、スピードを産み出す HPC/AI はあらゆる局面で重要性が高まっています。そうした多岐にわたるワークロードに対応するため、プロセッサーのみならずシステムレベルを視野に開発環境を含めポートフォリオの大幅な機能拡張を計画しています。このセッションでは、エクサスケールの次を見据えた HPC/AI 関連の中長期の取り組みをご紹介します。
HPSC 2023 オンライン講演 Day 1
基調講演 2: インテル AI の「今」~ アクセラレーターからソフトウェアまで ~
インテル株式会社 AI センター・オブ・エクセレンス AI テクニカル・ソリューション・スペシャリスト 大内山 浩 様
AI の切り口からインテルのハードウェアおよびソフトウェアの最新情報をご紹介いたします。最新のインテル® Xeon® プロセッサーにて搭載されたディープラーニング専用アクセラレーター「インテル® AMX」や、満を持してリリースするディスクリート GPU 製品などをはじめとし、それらハードウェア上で AI を開発 / 動作させるために多様なソフトウェア製品のご紹介まで、エッセンスを凝縮してインテル AI の「今」をお届けいたたします。
HPSC 2023 オンライン講演 Day 1
技術セッション 1: インテル® oneAPI ツールキット 2023 によって異種デバイスを活用する
エクセルソフト株式会社 セールスエンジニア 竹田 賢人
旧製品インテル® Parallel Studio XE では CPU が主なターゲットであり、GPU を含むアクセラレーター・デバイスへの対応にはデバイスごとのプログラミング・モデルの学習や、個別の開発環境の構築が必要でした。現行のインテル® oneAPI ベース & HPC ツールキットにおいて、ヘテロジニアス・コンピューティングの対応は大きく進化しており、多様なデバイス向けに並列プログラミングの開発を簡素化します。
このセッションでは、インテル® oneAPI ツールキット 2023 にて強化された機能を基に DPC++ (C++ with SYCL*) や Fortran で開発されたプログラムで利用できる最適化と解析方法をご紹介します。
HPSC 2023 オンライン講演 Day 1
技術セッション 2: インテル® oneAPI ツールキット 2023 の新機能と、強化された SYCL* 2020 への対応について
エクセルソフト株式会社 セールスエンジニア 宇崎 裕太
2022年12月に、「インテル® oneAPI ベース & HPC ツールキット」の最新バージョン 2023 がリリースされました。このアップデートでは、インテル® oneAPI DPC++/C++ コンパイラーによる、SYCL* サポート範囲が拡大しました。このセッションでは、インテル® oneAPI ツールキット 2023 にて追加された新機能のご紹介と、強化された SYCL* 2020 への対応について紹介します。
HPSC 2023 オンライン講演 Day 1
技術セッション 3: oneAPI と SYCL* で NVIDIA と AMD をターゲット
Codeplay Software エコシステム VP ロッド・バーンズ 様
過去 5 ~ 10 年の間、多くの開発者によって幅広い分野で GPU を活用したソフトウェアの高速化が広まり、中でも急速に成長する AI やマシンラーニングの分野における活用が注目されています。NVIDIA は、自社の GPU 製品群の展開により、これらの分野で圧倒的な地位を築いてきましたが、他社製のアクセラレーターの普及により、代替ソリューションを利用できるようになりました。現在のヘテロジニアスな環境に対応するには、複数のベンダーによる複数のアーキテクチャーをターゲットにできる言語とプログラミング・モデルを利用する必要があります。
NVIDIA* GPU を活用したソフトウェアでは、独自のプログラミング・モデルである CUDA* が使用され、ベンダー依存の原因となっています。oneAPI は、オープンソースの SYCL* コンパイラーである DPC++ のほか、BLAS や FFT などの一般的な演算を実装する一連のライブラリーを提供します。さらに、インテルのアクセラレーター以外にも、単一ソースまたは単一バイナリーから NVIDIA* GPU や AMD* GPU をターゲットにできます。
このセッションでは、oneAPI を利用して NVIDIA* GPU と AMD* GPU をターゲットにし、独自のソフトウェアからオープン・スタンダードのソフトウェアに移行する方法を紹介します。
HPSC 2023 オンライン講演 Day 2
基調講演 1: C++ with SYCL* の重要性と基礎となる oneAPI
インテル コーポレーション シニアエンジニア ジェームズ・レインダーズ 様
高速化されたヘテロジニアスなシステムには、オープンなマルチベンダーかつマルチアーキテクチャーのソリューションの提供が急務となっています。これらのソリューションが存在しない場合、現在、そして将来的に生まれる爆発的なイノベーションを利用することはできません。このセッションでは、C++ with SYCL*、そして oneAPI が、未来を実現するオープンなマルチベンダーかつマルチアーキテクチャーの基盤を提供する上で、いかに重要な役割を担っているかを説明します。
HPSC 2023 オンライン講演 Day 2
プレ技術セッション: インテル® DPC++ 互換性ツールを使った CUDA* から SYCL* への移行
エクセルソフト株式会社 セールスエンジニア 竹田 賢人
SYCL* の利用を進めるにあたり、既存コードの移行にかかるコストは大きな課題となります。インテル® oneAPI ツールキットでは、SYCL* への移行を支援するためにインテル® DPC++ 互換性ツールを提供しており、CUDA* で GPU に計算処理をオフロードしているプログラムを SYCL* を実装したコードへ変換します。このセッションでは、CUDA* を実装したコードに対してインテル® DPC++ 互換性ツールを使い、DPC++ (C++ with SYCL*) コードへ移行する手続きをデモを交えて説明します。
HPSC 2023 オンライン講演 Day 2
技術セッション 1: はじめてのヘテロジニアス・プログラミング
iSUS 編集長/テクニカルライター 菅原 清文 様
プロセッサー以外のコンピューティング・デバイスを活用するには、ヘテロジニアス・プログラミングとサポートするツールが不可欠です。このセッションでは、ヘテロジニアス・プログラミングに至るまでの背景を説明し、従来のプログラムをどのようにヘテロジニアス対応に移行すべきか、その流れを説明します。
HPSC 2023 オンライン講演 Day 2
技術セッション 2: 科学技術計算の SYCL* を用いた GPU ダイレクト・プログラミング手法の紹介
東京電機大学非常勤講師 池井 満 様
インテル社の oneAPI が提供する C++ コンパイラーでは、SYCL* を用いて GPU に演算をオフロードすることを可能にしています。このセッションでは、オープンソースの電磁界解析ソフトウェア OpenFDTD を SYCL* を用いてオフロードする手法を紹介します。OpenFDTD のように、シミュレーションで用いる格子状の演算空間を C の外部変数で表現し、マクロでこれを参照する場合でも、SYCL* の統合共有メモリー (USM) を用いて比較的容易にオフロードを実現できます。また得られたプログラムの実行性能は、特定の GPU 用向けに CUDA* を用いて煩雑な明示的な演算データの移動を行うものと比較して同等程度となることを示します。SYCL* を用いたオフロードプログラムはさまざまな GPU に適用可能であり、また CUDA* のような別のプログラミング言語のソースコード群を管理する必要もないため、オフロード用のダイレクト・プログラミング手法として有効なものだと言えます。
HPSC 2023 オンライン講演 Day 2
技術セッション 3: 計算結果のリアルな表現を目指して ~ インテル® oneAPI レンダリング・ツールキット ~
テクニカルライター 久保寺 陽子 様
HPC 分野においては、膨大な計算結果を研究者や一般の人々にも分かりやすいように、視覚的に表現する手段としてサイエンス・ビジュアライゼーションがあります。グラフィックス・レンダリングに特化した「インテル® oneAPI レンダリング・ツールキット」は、特に写実性の高いリアルな表現を可能にするライブラリー群を提供しています。今回はライブラリー群の最新情報についてご紹介し、具体例として、インテル社が提供するインテル® DevCloud を使用したインテル® OSPRay のプログラムについて解説します。
HPSC 2023 オンライン講演 Day 3
ワークショップ前半: C++ with SYCL* プログラムの基本構造を体験する
エクセルソフト株式会社 テクニカル・サポート・エンジニア 中村 弘志
ヘテロジニアス・コンピューティングは、すでに特別でも、高価なことでもありません。SYCL* により、C++ 言語の範囲で GPU やその他のアクセラレーター・デバイスを使うプログラムを記述できます。またインテル® デベロッパー・クラウド (インテル® DevCloud for oneAPI) にアクセスして、SYCL* を用いたコーディングについて学び、アプリケーションの試作を行うことができます。
このセッションでは、SYCL* を用いる C++ プログラムの概念と基本構造を説明し、インテル® DevCloud for oneAPI にアクセスして、サンプルコードでそれらが実際に機能することを確認します。タスクのキュー (待ち行列)、デバイスとその選択方法、基本並列カーネル、統合共有メモリー (USM) モデルとバッファー・メモリー・モデルといった要素とその役割を知ることで、さまざまなデバイスを活用するにあたり、まずは基本的なヘテロジニアス対応コードを記述できるようになります。
HPSC 2023 オンライン講演 Day 3
ワークショップ後半: インテル® oneAPI ツールキットを使用した GPU アクセラレーター向けのチューニング
iSUS 編集長/テクニカルライター 菅原 清文 様
このセッションでは、「C++ with SYCL* プログラムの基本構造を体験する」のセッションに続き、複数アーキテクチャー向けのバイナリーを作成して、それぞれのデバイス上でそれらがどのように動作するか、そしてどのような最適化が有効であるかを紹介します。