インテル® ソフトウェア開発製品によるパフォーマンスの最適化を学べる
開発者向け期間限定イベントサイト
本イベント開催期間中に公開されていたドキュメントの一覧になります。
ハイパフォーマンス・ソフトウェア・カンファレンス・オンライン 2021【春】にて、サイト公開期間中に限り、インテル® oneAPI ツールキットや同梱コンポーネントに関する最新のオンライン・トレーニング向けの資料のみを先行公開しています。
日本語音声付きのオンライン・トレーニング動画につきましては、ハイパフォーマンス・ソフトウェア・カンファレンス・オンライン 2021【春】公開期間終了後、インテル® oneAPI、インテル® Parallel Studio XE、インテル® System Studio、およびこれらの同梱コンポーネントを含む、インテル ソフトウェア開発製品の有償ライセンスに対する有効なサポートサービスをお持ちのお客様を対象に提供させていただきます。
CUDA* から DPC++ へ移行してエッジの計算パフォーマンスを最適化 (インテル® oneAPI ベース & HPC ツールキット)
インテル® VTune™ プロファイラー・サーバーによる容易なプロファイル (インテル® VTune™ プロファイラー)
ヘテロジニアス・ハードウェアの可視化とチューニング (インテル® Advisor : フローグラフ・アナライザー)
クロスアーキテクチャーのタスクベースのプログラミングの最適化 (インテル® oneAPI スレッディング・ビルディング・ブロック)
このセッションでは、インテル® oneAPI でダイレクト・プログラミングを実現するためのデータ並列 C++ (DPC++) プログラミング・モデルについて紹介します。DPC++ の動作の仕組みをはじめ、DPC++ によるプログラミング方法、インテル® ライブラリーからインテル® oneAPI ライブラリーへの移行方法、ヘテロジニアス環境への移行方法、パフォーマンス・チューニングの取り組み方、C および Fortran ユーザー向けのプログラミング方法について説明します。
パート 1 「さあはじめよう! データ並列 C++ の動作の仕組み」
このセッションでは、コンパイルの手順をはじめ、レガシーコンパイル、JIT コンパイル、AOT コンパイル、ファットバイナリー等、データ並列 C++ (DPC++) コンパイラーがどのように動作するかについて説明します。
パート 2 「さあはじめよう! データ並列 C++ プログラミング」
このセッションでは、インテル® Parallel Studio XE に同梱されるコンパイラーとの比較を はじめ、データ並列 C++ の概念や対象となるユーザー、C / C++ および SYCL* におけるベクトル加算、SYCL* キューやバッファー等、実行例とともに説明します。
パート 3 「さあはじめよう! データ並列 C++ コンパイラーを使用した USM のサンプルコード」
このセッションでは、データ並列 C++ (DPC++) プログラミング言語の基本機能を紹介します。バッファーに代わって統合共有メモリー (USM) を使用して、ホストとデバイスのメモリーの管理とアクセスを行います。
パート 4 「さあはじめよう! DPC++ とインテル® oneMKL を使ってみよう」
このセッションでは、インテル® oneMKL の概要や新機能をはじめ、並列正弦、マルチデバイス FFT、行列乗算といったインテル® oneMKL の利用法のほか、C / C++ や従来のインテル® MKL、バッファーによるインテル® oneMKL、USM によるインテル® oneMKL などのサンプルコードについて説明します。
パート 5 「さあはじめよう! インテル® oneAPI へのポーティングのガイド - ICC / ICL から ICX / DPCPP へ移行する」
新しい dpcpp / icx / ifx は全く新しいコンパイラーであり、既存のソースやプロジェクトを移行する際に、オプション、マクロ、プラグマ、警告やメッセージに戸惑うかもしれません。このセッションでは、クラシック・コンパイラーを使用するプロジェクトを新しいコンパイラー環境に移行する際の注意点や問題点を解説します。
パート 6 「さあはじめよう! クラシック・コンパイラー (ICC/ICL) と新しい LLVM ベース・コンパイラー (ICX/DPCPP) のパフォーマンスを比較する」
クラシック・コンパイラー (ICC/ICL) および新しい LLVM ベース・コンパイラー (ICX/DPCPP) を使用して、実際にパフォーマンスの比較や検証を行います。また、インテル oneAPI C++ コンパイラーにおける疑問点についても紹介します。
CPU から GPU へアプリケーションをオフロードする場合、パフォーマンスを最適化するため、どこを、どのように変更すれば効果的かを特定することは容易ではありません。このセッションでは、インテル® VTune™ プロファイラーを使用してこの作業を簡素化する方法を紹介します。
パート 1 「DPC++ と GPU ワークロードのパフォーマンスをプロファイル」 (講演)
このセッションでは、GPU プログラミング・モデルとインテル® VTune™ プロファイラーの GPU 解析について説明します。
パート 2 「DPC++ と GPU ワークロードのパフォーマンスをプロファイル」 (デモ 1)
このセッションでは、実際にインテル® VTune™ プロファイラーを操作しながら GPU オフロード解析の利用方法を紹介します。
パート 3 「DPC++ と GPU ワークロードのパフォーマンスをプロファイル」 (デモ 2)
このセッションでは、実際にインテル® VTune™ プロファイラーを操作しながら GPU 計算/メディア・ホットスポット解析の利用方法を紹介します。
ボトルネックの特定と排除は、すべての開発者が避けて通れない課題です。アプリケーションを新しいプラットフォームに移行する場合、例えば CPU から GPU へ移行する場合、この作業はさらに複雑になります。その場合、開発者はボトルネックを特定するだけでなく、まずオフロードにより利点が得られるコード領域を特定する必要があります。
インテル® oneAPI ベース・ツールキットに含まれるインテル® Advisor の GPU 向けの新しい機能は、ボトルネックの特定だけでなく、オフロードにより利点が得られるコード領域の特定を支援します。
パート 1 「コードを GPU にオフロードする」 (講演)
このセッションでは、oneAPI とインテル® Advisor の概要、インテル® oneAPI ベース・ツールキットに含まれる新しいインテル® Advisor の GPU サポートについて説明します。
パート 2 「コードを GPU にオフロードする」 (デモ)
このセッションでは、インテル® Advisor を実際に操作しながら、オフロードのモデル化、GPU ルーフライン、およびフローグラフ・アナライザー機能を使用してオフロード領域を特定し、ボトルネックを特定して排除する方法を説明します。
このセッションでは、GPU および CPU 向けに一度開発することで数学ライブラリーのエクスペリエンスを向上するための方法、業界をリードするインテル® oneMKL で従来の CPU のみのサポートを超えて GPU でプログラミングする方法、データ並列 C++ (DPC++) 言語からのインテル® oneMKL API 呼び出しの GPU 固有の例などについて紹介します。
このセッションでは、資料のみ日本語で提供しています。トレーニング動画 (英語) は、Tech.Decoded で公開されている「Developing in a Heterogeneous Environment with Intel® oneAPI Math Kernel Library」からご視聴いただけます。
このセッションでは、データ並列 C++ (DPC++) と MPI といった 2 つの異なる標準を効果的に組み合わせて使用して、ノード間、ノード内、および CPU や GPU 等のアクセラレーター・デバイス・レベルの並列処理を最大限に活用するためのハイブリッド・プログラミングについて紹介します。
このセッションでは、資料およびデモ動画の字幕のみ日本語で提供しています。全体のトレーニング動画 (英語) は、Tech.Decoded で公開されている「Hybrid Parallel Programming for HPC Clusters with MPI and DPC++」からご視聴いただけます。
ソースレベルの互換性、パフォーマンスの透過性、およびソフトウェア・スタックの移植性の提供を目標とする oneAPI や対応するツールの仕様について紹介します。
CPU とさまざまなコンピューティング・アクセラレーター (GPU や FPGA など) の両方のコードを含む C++ と SYCL* ソースファイルをコンパイルする DPC++ コンパイラーについて以下の情報を提供します。
GPU 上で oneAPI プログラムのパフォーマンスを最大限に引き出すヒントを提供します。
SYCL* でクロスアーキテクチャー向けに開発して、さまざまなデバイスでカーネルコードを高速に実行するために必要なインターフェイス、各種クラス、アクセサーなどの基本情報を提供するクイック・リファレンスです。
インテル® oneAPI のプログラミングに関する以下の事項について説明します。
新しい LLVM ベースのインテル® oneAPI DPC++ / C++ コンパイラー (dpcpp および icx) に移行するインテル® C++ コンパイラー・クラシック (icc / icl) ユーザー向けに、以下を含む情報と提案を提供します。
OpenMP* による並列処理やその他のコンパイラーの使用をはじめ、インテル® Fortran コンパイラー・クラシック 2021.1 およびベータ版インテル® Fortran コンパイラーにおける OpenMP* サポートについて説明します。
インテル® Advisor の起動方法、プロジェクトの設定、CPU 使用の最適化、GPU オフロード向けの設計、フローグラフ・アナライザーの概要、解析のオーバーヘッドの最小化、結果の管理、コマンドライン・インターフェイスのリファレンス等について紹介します。
CPU とさまざまなコンピューティング・アクセラレーター (GPU や FPGA など) の両方のコードを含む C++ と SYCL* ソースファイルをコンパイルする DPC++ コンパイラーについて以下の情報を提供します。
インテル® oneAPI ベース・ツールキット、インテル® oneAPI HPC ツールキット、インテル® oneAPI IoT ツールキットの一部、またはスタンドアロンとして提供されるインテル® oneAPI DPC++ / C++ コンパイラー (icx / icpx または dpcpp) とランタイム環境について以下の情報を提供します。
インテル® oneAPI DPC++ / C++ コンパイラーとの連携により、開発者に生産性の高い API を提供することを目的として、さまざまなデバイスにわたるハイパフォーマンス並列アプリケーションのデータ並列 C++ (DPC++) プログラミング作業を最小限に抑えるライブラリーについて以下の情報を提供します。
データ並列 C++、コードの構造、およびコードをすぐに記述するための以下の主要概念が紹介された Webinar の資料を日本語化しました。
oneAPI アプリケーションをプログラムする言語であるデータ並列 C++ (DPC++) を使用するためのベストプラクティスを紹介します。
iSUS (IA Software User Society) は、インテル® アーキテクチャー向けを利用するソフトウェア開発者に向けて、並列化 / 最適化に関する最新情報を提供しています。
インテル® ソフトウェア開発ツールは、Unified Acceleration (UXL) Foundation が管理する、アクセラレーター向け統合プログラミング・モデルのオープン仕様 oneAPI に基づいて、インテルが提供する現在と将来の CPU、GPU、FPGA のそれぞれに最大限のパフォーマンスを発揮させるための包括的なプログラミング手段を提供します。
「インテル® oneAPI ベース・ツールキット」には、oneAPI に基づいて、単一のコードで複数種類のアクセラレーターに対応できる標準ベースのクロスアーキテクチャー・コンパイラー、oneAPI ライブラリー、CUDA* から SYCL* へのコード移行ツール、およびインテルのアーキテクチャーにおける性能解析ツールなどが含まれます。
インテル® VTune™ プロファイラーは、C/C++、Fortran、Python*、Go*、Java* を使用する開発者向けのパフォーマンス/スレッド・プロファイラーです。
現在および将来にわたるプロセッサーを最大限に活用するように、アプリケーションを簡単にチューニングすることができます。CPU と GPU パフォーマンス、スレッドのパフォーマンスとスケーラビリティー、バンド幅、キャッシュ利用など、パフォーマンス向上のための豊富な情報を収集します。シングルコード・プロファイラーとは異なり、C/C++、Fortran、Python*、Go*、Java* が混在したコードの hotspot を正確に特定します。
インテル® VTune™ プロファイラーは、すべてのツールキットに同梱されています。
C、C++ および Fortran アプリケーション用の使いやすいメモリー / スレッド化エラーのデバッガーです。
メモリーリーク、メモリー破壊、メモリー関連 API のリソースの解放し忘れなどの誤りを動的に検出することができます。データ競合やデッドロックなど、デバッガーでは検出の困難なマルチスレッド・エラーも的確に発見し、分かりやすいユーザー・インターフェイスで確認することができます。生産性を上げ、コストを抑えつつ早期に製品を市場へ投入できます。
本製品は、インテル® ベース & HPC ツールキット、インテル® ベース & IoT ツールキットに同梱されています。
インテル® ディストリビューションの OpenVINO™ ツールキットは、プログラミング可能なアクセラレーターの柔軟性が必要な場合や、VPU の性能を最大限に引き出す場合に最適なエンドツーエンドのビジョン・ソリューションを実現する製品です。
高性能なコンピューター・ビジョンとディープラーニングの開発作業を高速化し、ビジョン・アプリケーションへの組み込みを実現します。モデル・オプティマイザーと推論エンジンからなるインテル® ディープラーニング・デプロイメント・ツールキット (インテル® DLDT) に加え、最適化されたコンピューター・ビジュアル・ライブラリー、OpenCV* および OpenVX* を同梱するこの包括的なツールキットは、ハードウェア・アクセラレーター上でディープラーニングを使用し、さまざまなインテル® プラットフォームでヘテロジニアス・プロセシングの実行を容易に実現します。