10月14日から15日にかけて開催されたソフトウェア開発者向けのイベント『インテル ソフトウェア・カンファレンス 2010』。インテルソフトウェア製品に関する詳しいセッションが講演された他、インテルParallel Studioの上位版の新バージョンリリースや製品ラインナップの一新が近日行われる予定、といった新しい情報も一部リークされた。そこで、講演で来日したインテル コーポレーションのジェームス・レインダース氏にこの辺りの情報を詳しく聞いてみた。
開発ツールの提供はマイクロプロセッサの設計にも役立った
――御社で開発者向けのツールを手がけている背景を教えてください。
1990年代にマイクロプロセッサの性能が非常に向上し、スーパーコンピューターやワークステーションといった本格的なコンピューティング分野において、インテルはハイパフォーマンス用のコンパイラやライブラリ、解析ツールなどを提供する必要が出てきました。もともとは無償で提供する予定でしたが、実際取り組んでみると開発者からのニーズや評価が高かったため、製品として販売するようになった経緯があります。
今日、これらのツール群の開発を続けている理由は大きく2つあります。一つは、先ほど述べたように非常に開発ツールが好まれていて、マイクロプロセッサを有効活用していただく助けになること。もう一つは、お客様からいただくフィードバックがツールだけなく、マイクロプロセッサの設計にも役立つ点です。今日のように高性能のマイクロプロセッサを開発できたのは、そのような貴重な情報を開発ツールを提供することで得られたからとも言えるでしょう。今後も重要であると考えています。
――プログラミングモデルについてはどうでしょうか。
プログラミングモデルについては、ツールと少し状況が異なります。
インテルThreading Building Blocks(以下、TBB)やインテルCilk Plus(以下、Cilk Plus)、インテルArray Building Blocks(以下、ABB)といったさまざまな並列プログラミングモデルが存在するのは、やはりマルチコア対応はソフトウェア開発者にとって難易度の高い(Challenging)問題ということです。
そのような状況において当社はプログラミングモデルを提供することで、ソフトウェア開発者がマルチコアに取り組むお手伝いをしてきました。特に、ある意味他社ではやってこなかったことですが、OSやプラットフォームに関係なく業界全体に役立ちたいと心掛けてきました。
例えば、Apple社は「Grand Central Dispatch」という非常に興味深い技術を提供していますが、あくまでAppleのプラットフォーム専用のもの。同様に、Microsoft社のVisual Studio 2010における並列プログラミング対応も興味深いですが、これもWindows専用のものです。
実は5年前にTBBに取り組み始めたときも社内で「これはIntel専用にした方がよいのでは」という意見がありました。しかし、我々はよりよいアイデアとして、インテルだけではなくさまざまな環境をサポートするという業界全体を重視した方針を選択しました。結果としてその考え方が正解だったわけですが、現在さまざまなところで使われて人気を博しています。
このプログラミングモデルのよいところは、インテルプラットフォームの拡大に役立つこともありますが、やはり業界全体の将来を考える上でも、我々のソリューションがオープンであるという意味が大きいと思います。
そして我々の究極の目標である「マルチコアの利用を促進する」に対しても、こういったソフトウェア開発ツールやプログラミングモデルは非常に役立っていると考えています。