SHOEISHA iD

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

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

イベントレポート(AD)

マルチコアのパフォーマンスを最大限に引き出すスレッド化と、インテルのスレッド化ロードマップ

「インテル ソフトウェア・カンファレンス」イベントレポート

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

3. 並列プログラミング推進のための投資

 Reinders氏は「我々はCtに注目しています。TBBやOpenMPといった並列化のためのツールは既にあり、それらは強力ですが、『並列化だけに特化したものはどうか』と調査をしたら決定論的にスケーリングするものが作れるということが分かりました。Ctのコードはデッドロックもないし、レースコンディションも起こらず、スケーリングできます」と、Ctを採用した新製品(名称未決定)のベータ版を今年末に公開予定だとした。

今年末にベータ版が公開される予定のCtテクノロジーを採用した新製品(講演資料より抜粋)
今年末にベータ版が公開される予定のCtテクノロジーを採用した新製品(講演資料より抜粋)

 このCtテクノロジー・ベースの製品は、簡単なプログラミングでパフォーマンスを向上する生産性と、マルチコアからメニーコアまでスケールできるという特徴を持つ。標準C++コンパイラーには変更はなくTBBと同様に利用できるという。

再コンパイルや専用コーディングなく、マルチコアやメニーコアに対して自動的にスケール(講演資料より抜粋)
再コンパイルや専用コーディングなく、マルチコアやメニーコアに対して自動的にスケール(講演資料より抜粋)

 さらにReinders氏はCtのシミュレーション結果を提示した。8コアのSSE4.2(bit幅162のインストラクション)ではおよそ8倍、8コアのAVX(bit幅256)では16倍のパフォーマンスと、コアを最大限に使い切ることができるとし、さらに、メニーコアCPU「Larrabee(ララビー)」(bit幅512)でも同じソースコードで再コンパイルすることなく起動する。「異なる構成でも完全にスケールし、デットロックやデータレースもないので、医学分野の画像処理や金融・地震などの分析など高度な処理を実現できると期待している」と、強い期待を語った。

 最後にReinders氏は「この並列化の分野でトップリーダーとなっていきたい。他の会社にも並列化に取り組んでもらい、ともにこの分野を盛り上げたい」と、今後の展望についてのプレゼンテーションを終えた。

イベント参加者との質疑応答

 プレゼンテーション後には参加者からReinders氏への質疑応答が応答が行われた。

質問1: 「Haskell」「F#」「Erlang」などの関数型プログラミングにフォーカスする予定はありますか?

回答: 関数型言語には期待していますし、個人的には好きです。ただ、CやC++で書かれたプログラムがあまりにもたくさんあります。これらと比較すると関数型言語は近い将来の主流になるとは想定しないので、インテルとしてはまずCやC++にフォーカスします。現在は、大学などと協力して行う研究の予算をつけている段階です。また関数型言語での並列化には、違ったマインドセットで望まなくてはならないと思います。

質問2: CtとOpenCLの両者に興味がありますが、どちらを選ぶべきでしょうか?

回答: OpenCLは興味深いので、もう少し人気が出てもよいと思います。ハードウェアのコントロールができるのが特徴ですが、パフォーマンスの保障がありません。Ctというのは高位レベルで、OpenCLは低位レベルであると思います。ハードウェア寄りのプログラムを考えるとOpenCLを採用し、アルゴリズム寄りではCtを採用すればよいと思います。もしかすると、Ctのプログラムにおいてハードウェアを制御する際にOpenCLを活用する可能性もあります。また、何らかの環境でOpenCLをコンパイルすることも可能になるのではないかと思います。

質問3: Ctをオープンソース化して普及する予定はありますか?

回答: 最終的にはさまざまなOS、プラットフォームで使っていきたいと思います。現状の予定ではC、C++のみですが、PythonやJava、C#にも展開していきたいと考えていますので、ぜひCtを使ってフィードバックしていただきたいと思います。

質問4: Linuxだけでなく、UNIXユーザーもいます。オープンソースOS用の製品をもっと開発してほしいです。

回答: オープンソース化による恩恵はTBBの公開で学びました。今後もそのような展開を検討していきたいと考えています。それがUNIX、Solaris、AIXなど、すべてのコミュニティの益になるからです。

質問5: インテルのCPUリソースを使う意味でCtを使うのは分かります。メニーコアを超えたインターノードの並列処理ではどうでしょう? 現在事実上のデファクトであるMPIは使いやすくありませんが、インテルとしてはどうお考えですか?

回答: 分散メモリマシンは、まだまだ課題があります。しかし、Ctはそれに対応する可能性があるので強く支持しているのです。MPIはよいとは言えませんが、現在ではベストなソリューションであり、今後まだまだ使われると思います。我々もMPIに今後も投資をしていき、ブロードキャストや同報コミュニケーションなどに使われていくでしょう。Ctも状況によってはMPIを使うことも考えています。シンプルな解決策はありませんが、まずはMPIに頼らずCtでやっていきたいと思います。

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

  • このエントリーをはてなブックマークに追加
イベントレポート連載記事一覧

もっと読む

この記事の著者

森 英信(モリ ヒデノブ)

就職情報誌やMac雑誌の編集業務、モバイルコンテンツ制作会社勤務を経て、2005年に編集プロダクション業務やWebシステム開発事業を展開する会社・アンジーを創業。編集プロダクション業務においては、IT・HR関連の事例取材に加え、英語での海外スタートアップ取材などを手がける。独自開発のAI文字起こし・...

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

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4487 2009/10/20 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング