ハードウェア、ソフトウェア、ネットワークなどさまざまな領域ごとの進化の結果、コンピューティング技術の発展は加速度的に進んでいます。一方で、それぞれの領域の進化によって、既存の考え方や概念、開発手法に限界も見えてきました。
これまで特定のCPUに最適化したプログラミングによる個別の開発が中心となってきましたが、昨今のコンピューティングリソースの拡大で、複数のCPU、さらに他のアーキテクチャを意識した開発が必要となっています。
そこで今、開発の考え方として主流になっているのがマルチアーキテクチャに対応した開発手法です。
今回紹介するインテル oneAPI ツールキットは、オープンな標準仕様の1つoneAPIに対応した開発ツールキットで、その最新版であるインテル oneAPI ツールキット 2023 では、最新CPU/
今回の記事では、こうした開発のトレンドの背景をふまえながら、これからのマルチアーキテクチャ開発の有用性、そして、その選択肢として、インテル oneAPI ツールキット 2023のメリットについて紹介します。
時代とともに変わる開発の概念と求められるパフォーマンス
私たちの身の回りを見渡すと、大なり小なりコンピュータが必ず存在している状況となりました。言い換えれば、コンピュータの進化が進むことは、私たちの生活がさらに便利に、そして、豊かになっていくことを意味します。
最近では、ChatGPTをはじめとした言語モデルAIの進化はめざましく、人間が考えるという行為が大きく変わろうとしています。この言語モデルAIの品質を支えるのも、コンピュータ、もっと突き詰めれば、コンピュータに搭載されるGPUなどのアクセラレータです。
コンピュータが誕生した当初は1つのCPUに対して最適化したソフトウェア開発を行うことで、コンピュータを有効活用できましたが、CPU自体やその周辺にさまざまなアクセラレータが登場、さらに扱うデータが、スカラー、ベクトル、行列、空間と多様化し、開発が進んだことで、シングルプロセッサ向けの開発では、求める結果を得ることが難しくなってきました。
そこで今、開発者たちが注目しているのが、マルチアーキテクチャ開発、いわゆるヘテロジニアスシステムをターゲットにした開発手法と開発環境です。
ヘテロジニアスシステムとは
ヘテロジニアスシステムとは、CPUに加え、CPU以外のアーキテクチャ
たとえば、画像処理であれば、画像処理を得意とするGPUを利用することで処理速度、処理能力を向上させることが可能です。
こうした異なる種類と性質のデータ
つまり、ヘテロジニアスシステムに向けた開発手法と開発環境とは、言い換えれば
汎用的な開発環境に向けた標準仕様――oneAPI
SVMSアーキテクチャに最適化された開発環境が整備されれば、SVMSそれぞれの領域の処理能力が向上し、良い結果につながりますが、そう都合良くいくものではありません。
中でも大きな課題となるのが、それぞれのアーキテクチャごとに開発の仕様が異なるため、進化が進むごとに特定のアクセラレータやベンダ依存になってしまうことです。
この課題を解決するために、標準仕様を策定する動きが出ています。それが、世界最大の処理装置・
oneAPIは、ヘテロジニアスシステムを対象としたソフトウェア開発のためのマルチアーキテクチャプログラミングモデルで、IntelのCPUやアクセラレータ以外に、AMD CPU/
インテル oneAPI ツールキットオーバービュー
オープンな仕様であるoneAPIを、開発者たちが手軽に活用するために用意されているのが、インテルが提供する
インテル oneAPI ツールキットは、マルチアーキテクチャプログラミングの実現に向け、ベース・
ベース・ |
データ並列 C++ コンパイラとパフォーマンスライブラリ |
ベース & HPC ツールキット | ベース・ |
ベース & IoT ツールキット | ベース・ |
ベース & レンダリング・ |
ベース・ |
それではまず、インテル oneAPI ツールキットの特徴について3つの視点から紹介します。
マルチアーキテクチャを念頭に置いた基本概念(SVMSアーキテクチャ展開の開発)
第一に、SVMSアーキテクチャを念頭に置いた開発ツールが準備されていることです。これにより、ベンダ依存から解放されます。また、C、C++ with SYCL、Python、OpenMP、Fortran、MPIなど既存の言語やプログラミングモデルとの互換性を高めており、さまざまな言語スキルを持った開発者たちにとって利便性が高い点が強みです。
とくにオープンで標準ベースであるSYCLの採用により、各種ハードウェアアクセラレータでのプログラミングの生産性を向上させることが可能です。
ダイレクトプログラミングおよびAPIプログラミングのサポート
インテル oneAPI ツールキットは、インテル提供のツールのため、各種インテルプロセッサおよび互換プロセッサ、第9世代および第11世代インテルプロセッサ・
中核をなすインテル oneAPI ベース・
マルチアーキテクチャ対応だから実現できる、幅広い対象領域~AI、HPC、エッジコンピューティング
基本概念であるSVMSアーキテクチャにより、次のような演算手法が異なる領域をカバーできるのもインテル oneAPI ツールキットの特徴です。
- HPCやデータセンターを対象とした集約型コンピューティング領域
- ML/
DLによるAIおよびビジュアライゼーション領域 - 組込みシステムおよびIoTによるエッジコンピューティング領域
たとえば、HPCのような大規模演算において求められる集約型コンピューティング領域から、組込みやIoTなどのエッジコンピューティングのように、まったく異なる処理
最新インテル oneAPI ツールキット 2023の新機能紹介
続いて、2022年12月19日に発表された、最新のインテル oneAPI ツールキット 2023のおもな特徴を紹介します。
最新CPU/GPUアーキテクチャおよび機能サポート
対象アーキテクチャに、インテルの最新CPU/
マルチアーキテクチャプログラミング対応コンパイラ(SYCLomaticツール)
「インテル oneAPI DPC++/C++ コンパイラ」
さらに、インテル DPC++ 互換性ツールは、オープンソースのSYCLomaticベースとなりました。この結果、cuBLASやcuDNNといったCUDAライブラリの呼び出しを含むCUDA C/
パフォーマンスライブラリ、解析ツール、HPC向け最新Fortranコンパイラも
パフォーマンスライブラリに関してもさまざまなアップデートが行われました。
その他、インテル VTune プロファイラーのアプリケーションパフォーマンススナップショット機能が拡充、MPIのインバランス問題の特定が可能になるなど、解析ツールが充実しました。
さらにHPC関連で、LLVMベースの新しい
Visual Studioへも順次対応
Windows OSを使う開発者の多くが利用する汎用IDE、Visual Studio
詳しくは対応一覧ページをご覧ください。
インテル oneAPI ツールキットの活用で、多領域の開発パフォーマンス向上を
以上、これからの主流となるマルチアーキテクチャプログラミングを支える
コンピューティングを土台とするビジネスにおいて、これからは、進化スピードが早く、また多様化したアクセラレータに最適化した開発が主流になっていくのは間違いありません。
そこで、マルチアーキテクチャプログラミングを効率的に実現し、高いパフォーマンスを得るためには、今回紹介したように標準仕様に対応したツールを活用していくことが、生産性やパフォーマンスの向上につながり、ビジネスの成功に直結します。
ご興味を持った方は、ぜひ標準仕様に対応した
なお、