SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

開発生産性向上に寄与するツール大研究(AD)

インテルが新たに進める「oneAPI」とは? 多様化するアーキテクチャで最大限のパフォーマンスを発揮

  • X ポスト
  • このエントリーをはてなブックマークに追加

GPUに対応した強力なライブラリー群や便利なツール群

 oneAPIベース・ツールキットには強力なライブラリー群が用意されており、その中にはGPUに対応したものも含まれている。例えば「oneAPIマス・カーネル・ライブラリー(oneMKL)」は、行列の演算やフーリエ変換などに対応する数値演算ライブラリーだ。

 今まで使っているものを再リンクするだけで、CPUとGPUに自動的に仕事を振り分けてくれるため、おおむね最高の結果が得られるようになっている。

 その他にもユニークなツールとして黒澤氏が挙げたのが、「VTune プロファイラー」と「Advisor」だ。VTune プロファイラーは作業を効率化するツールで、DPC++で作られたプログラムの解析に対応する。「CPUとGPUの処理の割合を測定してくれるほか、どこが遅くなっているのかなども自動的に検出してくれる。単純に走らせるだけで、問題点を発見してくれるので非常に便利」(黒澤氏)

VTune プロファイラー
VTune プロファイラー

 一方のAdvisorは、「これから開発する人向け」と黒澤氏は言う。今までCPUで動かしていたものをGPUで変換させた場合、どのくらい早くなるのかなどを予測してアドバイスしてくれる。例えばプログラムの中にはCPUで処理が完結しているが、GPUの方に処理を出した方が速くなるものも存在する。Advisorはそのようなプログラムを自動的に解析し、「このプログラムはCPUではなく、GPUでやると5割ぐらい早くなる」ということを、人がテストで書くことなくツールを走らせるだけで、情報を得ることができるようになる。「DPC++はこれからの技術なので、その不安を拭い去るような機能が準備されている」(黒澤氏)

Advisor
Advisor

 このようなツールで構成されるoneAPIの強みは、これからのデータ中心のワークロードに合ったハードウェア活用ができるようになるだけではない。先述した世に「従来までの資産を生かせる」ことも強みだと言える。新しい研究やより早く計算させたいというニーズに合わせて、既存のものからスタートすることもできる。もちろん新たなCPUやGPUのためのソフトウェアを作る場合は、最初からDPC++に対応したアプリケーションを開発できるというわけだ。

NVIDIA GPUやAMD GPUもサポート、コードの80~90%を自動的に移行できる

 oneAPIはインテルの製品だけを対象にしたプロジェクトというわけではない。例えばDPC++はオープンソースとして提供されており、昨今、さまざまなところで採用されているNVIDIA GPUにoneAPIが対応できるようColdPlayがサポートを発表。さらに、独ハイデルベルグ大学がoneAPIでAMD GPUをサポートすると発表している。「将来的にはこれらの機能をまとめたものを作り上げるのか、また並行して開発していくのかはわからないが、オープンソース版が存在していることが、この技術をさらに成長させてくれるはず」と黒澤氏は語る。

 さらにNVIDIA GPUの開発者にとってうれしいのが、CUDAで記述されているコードをDPC++に移行するための互換性ツールが提供されていることだ。このツールで処理すると、コードの80~90%を自動的に移行できるようになるという。互換性ツールを使えば、若干の調整をするだけで、これまでのCUDAのソースコードをDPC++コードに転換できるのだ。

DPC++ 互換性ツールでコードの移行時間を最小化
DPC++ 互換性ツールでコードの移行時間を最小化

海外の大学機関など、さまざまな開発現場で活用が進む「oneAPI」

 すでにoneAPIはさまざまな開発現場で活用が進んでいる。例えば露ロバチェフスキー州立大学では、大規模なシミュレーション処理向けのCPUやGPU、FPGAに対応したアプリケーション開発に活用。米イリノイ大学では、COVID-19のシミュレーションに活用したり、ハイデルベルグ大学ではCPUやGPU、FPGAに対応したアプリケーションをDPC++で開発してサーバで運用しているという。「インテルのリーズナブルなGPUでも、十分な性能を達成しているという報告は聞こえてきている」(黒澤氏)

 そのため、開発者の関心も非常に高く、黒澤氏によると問い合わせはひっきりなしにきているという。ここまでの話を聞いて、ぜひoneAPIツールキットを試してみたいと思う人もいるだろう。そういう人向けにインテルでは、「DevCloud」という開発サンドボックスを用意している。

DevCloud
DevCloud

 Parallel Studio XEのように、評価版をダウンロードすることなくインテルのCPUやGPUやFPGAが搭載された、多くのノードのクラウドサービスが利用できる。インテルのホームページで評価版を申し込むことはできるが、エクセルソフトの評価版を申し込むと、製品と全く同じ日本語のサポート付で30日間使用できるそうだ。評価版を使用しているときに何か問題があれば、インテルにエクセルソフトからまとめて報告を挙げてくれる。「最高のハードウェアで実行させることができるので、ぜひ、oneAPIの良さを試して実感してほしい」と黒澤氏は言う。

 現在、oneAPIツールキットはC、C++、Fortran、Java、Go、Pythonに対応している。「JavaとGoはそれぞれの実行環境だが、Pythonはインテルが最適化した実行環境が含まれており、インストールするだけでバージョンセットを考えることなく、TensorFlow・PyTorchが利用できるようになっている」と黒澤氏。

 インテルでは、AIやレンダリングなどの分野にも広げていき、より多くの開発者に使ってもらえるようなツール展開をしていくという。エクセルソフトでもoneAPIを幅広い開発者に使ってもらえるよう、トレーニングなどを充実させていくそうだ。AIの分析などで新しいハードウェアを検討している方はもちろん、現在、Parallel Studio XEを使っており、より生産性の高いソフトウェア開発を検討している方も、一度oneAPIを試してみてはいかがだろう。

データ並列 C++ (DPC++) プログラミング・セミナー・シリーズ 
~ インテル oneAPI によるヘテロジニアス環境への移行方法を紹介 ~

 このセミナーでは、インテル oneAPI でダイレクト・プログラミングを実現するためのデータ並列 C++ (DPC++) プログラミング・モデルについて紹介します。 DPC++ の動作の仕組みをはじめ、DPC++ によるプログラミング方法、インテル ライブラリーからインテル oneAPI ライブラリーへの移行方法、ヘテロジニアス環境への移行方法、パフォーマンス・チューニングの取り組み方、そして C および Fortran ユーザー向けのプログラミング方法について説明します。

 パート 1:「さあはじめよう!データ並列 C++ の動作の仕組み」

 [日時] 1月 26日 (火) ~ 1月 28日 (木) [開催方法] オンライン、無料

 パート 2:「さあはじめよう!データ並列 C++ プログラミング」

 [日時] 2月 2日 (火) ~ 2月 4日 (木) [開催方法] オンライン、無料

 詳細、参加申込はこちら

関連リンク

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
開発生産性向上に寄与するツール大研究連載記事一覧

もっと読む

この記事の著者

中村 仁美(ナカムラ ヒトミ)

 大阪府出身。教育大学卒。大学時代は臨床心理学を専攻。大手化学メーカー、日経BP社、ITに特化したコンテンツサービス&プロモーション会社を経て、2002年、フリーランス編集&ライターとして独立。現在はIT、キャリアというテーマを中心に活動中。IT記者会所属。趣味は読書、ドライブ、城探訪(日本の城)。...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/13445 2021/01/28 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング