oneAPI が私をインテルに引き戻した理由

同カテゴリーの次の記事

oneAPI GPU 最適化ガイド日本語版公開

この記事は、LinkedIn で公開されている James Reinders 氏の「How oneAPI enticed me back to Intel」を同氏の許可を得て翻訳した日本語参考訳です。


oneAPI は、2019 年に私の興味をかき立て、最終的に私をインテルに引き戻しました。*

私は、ソフトウェアとハードウェアが一体となって緻密に作られたマシンを見るのが好きです。ハードウェアの多様性が爆発的に高まっている今日、この緻密な組み合わせの実現には何らかの助けが必要です。これが oneAPI イニシアチブが創設された理由であり、非常に重要なことです。

oneAPI には解決すべき多くの価値ある技術的課題があり、インテル社内外の多くの優秀なエンジニアの注目を集めています。私たちエンジニアにとって、これ以上望むものはないでしょう。

oneAPI のビジョン

oneAPI は、「プログラミングを完全なヘテロジニアス・プログラミングに変える」という明確なビジョンを持っています。システム内の「すべての xPU」を活用することと言う人もいます。xPU (英語) は、CPU、DSP、FPU、FPGA、GPU などを指します。**

これは、プログラミングにとって自然な次のステップです。今日、「すべてのプログラミングは並列プログラミングである」と言えます。並列性について考慮しているかどうかは、問題ではありません。並行処理を含めた並列性はどこにでもあります。パラレルワールドはすべてのアプリケーションに関係します。

今後 10 年以内に、すべてのプログラミングは xPU プログラミングになるでしょう。言い換えれば、すべてのプログラミングは、与えられたシステムのどこでも計算処理能力を活用できるようになります。1 種類の処理ユニットですべての計算を行うことを想定してプログラムを書く時代 (ホモジニアス・コンピューティング) は終わります。

成熟は良いこと

このような変革が必要とされているのは、多くの理由からコンピューティングが成熟し、非常に多様なコンピューティング技術が含まれるようになってきたからです。CACM***の最新号では、「The Decline of Computers as a General Purpose Technology (汎用技術としてのコンピューターの衰退)」 (英語) と題した記事で、その傾向と根本的な原因を探っています。個人的には「コンピューティングの成熟」と考えていますが、おそらくこのタイトルでは雑誌があまり売れないでしょう。

xPU が日常的に使用される世界へと完全に成熟するためには、以下を実現する努力が必要です。

  1. 自由: ソフトウェア・ツールに拘束されることなく、自由に xPU を選択できる柔軟性。
  2. 価値: 選択した xPU を最大限に利用できること (必要なパフォーマンスが得られる!)。
  3. 信頼: 多様なハードウェア (xPU) を利用することでコストとリスクを低減できること。

私は oneAPI に興味を持ち、この活動に参加することにしました。参加して数カ月が経過した今、これは価値ある挑戦であり、すべてのソフトウェア開発者が ヘテロジニアス コンピューターを最大限に活用できるようになると確信しています。

まだ始まったばかり

このビジョンを説明し、実現するには、まだ言うべきこと、やるべきことがたくさんあります。私たちが成功した暁には、最初からこのようになることが決まっていたかのように見えるでしょう。

私の「XPU ブログ」 (ビデオシリーズ (英語) と記事 (英語)) では、時間が許す限り、この取り組みについて解説していきます。今後の参考にさせていただきますので、コメントをぜひお寄せください。

James Reinders

2021 年 4 月

追記: Pat Gelsinger 氏がインテルに復帰し CEO に就任したことは、何よりも素晴らしいことです。インテルの多くの社員と同様に、私も長年にわたって Pat 氏と一緒に仕事ができたこと、そしてこれからできることを非常に光栄に思っています。

* 2016 年半ば、私は 10,001 日間インテルに在籍した後、インテルを退職してセミリタイア生活に入りました。溶接、3D プリント、CNC 加工、木工、そして家族との時間を楽しみ、最高の日々を送っていました。また、TBB に関する本と、DPC++ コンパイラーを使用した SYCL* に関する本の 2 冊を執筆しました。oneAPI には素晴らしい可能性があり、見過ごすことはできませんでした。

** FPGA や DSP など、xPU に適合しないプロセシング・ユニットの名称は、xPU 名前空間を拡張する上で重要です。APU、BPU、CPU、DPU、EPU、FPU、GPU、… ZPU までの名前 (アルファベットの 26 文字だけを考慮) をインターネットで検索すると、YPU だけが利用可能です (Yarn Processing Unit がありますが、この場合 Unit は企業の一部門を意味します)。

*** The Decline of Computers as a General Purpose Technology, N. Thompson, and Svenja Spanuth, Communications of the ACM, March 2021, vol. 64, no. 3.

関連記事