• トップ
  • G-DEPについて
  • ご購入ガイド
  • サポート
  • お問い合わせ

G-DEPトップ  >  G-DEPの高速演算記  >  高速演算記 第11回 ウルフラム・リサーチ・アジア・リミテッド 中村英史 様

高速演算記 第11回 ウルフラム・リサーチ・アジア・リミテッド 中村英史 様

高速演算記第11回 「特別寄稿」 
セールス・エンジニア
テクノロジー、エヴァンジュリスト
ウルフラム・リサーチ・アジア・リミテッド 中村英史  プロフィール

Mathematica8 と HPC

本稿では、Mathematica V8 から見た GPU の他、先端的な技術としての GPU について論じてみたいと思います。
(*本記事は、中村英史氏の個人的な見解を示したものであり、ウルフラム本社の公式見解とは無関係です。)
 

[1] Mathematica とは

1-1) 若干の歴史
Mathematica は 1988 年の V1 リリース以降、大学での研究・教育用の科学技術計算ツールとして、幸いなことに大きな支持を得て参りました。創始者兼 CEO である Stephen Wolfram は、その神童ぶりを、かの Feynman から褒められたほどの、いわゆる天才であり、素粒子論の摂動展開の計算を自動化する目的で作ったソフトウェが、Mathematica の原型だと言われています。

優れた数式処理ソフトウェアとして出発した Mathematica は、その後、数式処理機能を深化させながらも、グラフィックスや数値計算など他の様々な機能を取り込み、対象ユーザも、自然科学・工学の専門家だけでなく、大学の理工系教育のツールとして確たる地位を得るに至りました。

V7 からは、インターネット接続を通じ、米国の Wolfram Research の本社のサーバから、化学、ライフ・サイエンス、遺伝子、天文、気象、経済、金融、言語、などの幅広い分野の情報を、計算可能データとして取得することが出来ます。これらのデータは、Mathematica に組み込まれた専用のデータ加工関数を用いて処理した結果を、同じく可視化関数を用いて効果的・効率的に表示することが出来ます。

このように、Mathematica は、理工系のみならず人文・社会科学までカバーする、キャンパスを横断するツールと進化するに至りました。しかしながら、Mathematica の進化はまだ続きます。

V8 では、自然形式入力が採用されています。もはや、Mathematica のコマンドを覚える必要すらありません。言語は英語ですが  "plot sin from -2pi to 2pi" という日常会話の形式で入力すると、インターネットを介して本社の Wolfram|Alpha と呼ばれる知識エンジンが解釈して、Mathematica コマンド "Plot[Sin[x], {x, -2 Pi, 2 Pi}] を生成して送り返してきます。その結果を表示するのです。Wolfram|Alpha は、既にウェブで無償で公開されていて、世界中の人が様々な質問を入力しています。本社では専属の技術者が、これらの質問に対して意味のある結果を表示するように、知識エンジンや結果を生成するのに必要なデータを日々調整・拡充し続けています。

Wolfram|Alpha は、通常の検索エンジンのように関連するウェブ・ページの一覧を表示しません。一歩踏み込んで、質問に対する回答として適切な情報を独自の基準でフォーマットして、1 つのコンテンツとして出力します。さらに、質問が厳密に数学的な問題でなくとも、数学的なコンテクストを類推して回答を生成します。例えば、"glass of beer + bigmac" と入力すると、コップ 1 杯のビールと、ビッグマック 1 個の各栄養成分の合計を表にして出力するのです。Stephen Wolfram は、「将来は、例えば、電子回路を新たに設計する際に、必要なスペックを入力すれば、過去に作成した関連する回路の設計図を基にして、適切と思われる設計図を合成できるようにしたい」と、その野望を語っています。

人間の言葉を理解して答える技術としては、IBM の Watson というコンピュータがあります。以前、チェスの名人に勝った DeepBlue というコンピュータを開発した IBM が今度は、テレビのクイズ番組 (Jeopardy!) で、人間のチャンピオンに勝ったのです。Stephen も Watson には注目しています。ただし、Wolfram|Alaph と Watson の目指すところは多少違います。Watson は、正解がある質問に対しピンポイントで正しく答えようと努力します。一方 Wolfram|Alpha は、曖昧な質問に対して、関連する情報をまとめてコンテンツの形で提供するのです。質問者は、それを出発点にして自分の納得のいくコンテンツを磨き上げることが出来ます。すなわち、人間の知的活動のサポートをする、とも言えます。 


1-2) Mathematica と GPGPU
 Mathematica V8 では、もう 1 つ興味深い拡張がなされています。それが GPU サポートです。前項でちょっと触れましたが、Mathematica は、数式処理だけではなく数値計算も優秀に実行します。標準的な数値演算パッケージをいくつも内蔵しており、問題によって一番適切と思われるパッケージを使って結果を出します。ここに GPU パワーを活かそうというのが、今回のサポートの目的です。もちろん、将来的には数式処理そのものにも GPU パワーが使われることになるでしょうが、現状では、数値計算が主なアプリケーションです。

このコラムでもいろいろ報告されていますが、GPU のパワーを引き出すだめには GPU のアーキテクチャに合ったプログラミングをする必要があります。GPU のセットアップや、データ転送など、オーバヘッドの部分も重要です。V8 では、先ず、通常の GPU プログラミングのオーバヘッドの部分を提供しユーザの負担を軽くしています。今後、Mathematica は、様々な GPU コンピューティングの成果を取り入れながら、強大な計算パワーを自らの機能のベースとして実現して行く予定です。

  

[2] ありがちな質問:GPU をサポートした V8 では、実行時間が驚くほど短縮される?

2-1) 正直な回答
現状では、ある種の問題については Yes、その他は No です。ある種の問題とは、大量の数値データを繰り返し計算するような問題です。直ぐに思いつくのは、巨大な Fourier 変換のような計算です。一方で、原始関数を求めるような問題には、残念ながら GPU パワーを利用することは出来ていません。Mathematica の設計思想は、「計算方法についてユーザが気にする必要がない」ということですので、将来的には、GPU パワーが実装された PC では、自動的に、そのパワーをフルに活用出来るようになるでしょう。 

2-2) 補足
繰り返しになりますが、Mathematica は、基本的には無限精度の計算結果を出力します。一方で、GPU の計算はあくまで機械精度の数値計算結果です。
 

 
[3] 今後の展開

3-1) GPU のパワーを引き出すアプリケーション分野またはテーマの創出
例えば、画像処理については、いろいろと研究されています。3D はどうでしょうか? 昨今の 3D は、ステレオ・グラム立体視なので、見え方に個人差があり、また健康上の心配も言われています。現在ステレオ・グラムが主流なのは、実装のし易さが主な理由です。完璧な立体視としては、光の場を再現するホログラムがあります。原理的にはデジタル化も可能で、既に研究されています。ただし、いくつか問題もあります。先ずは、ホログラム・パターンを映し出す超高解像度 (0.1 ミクロン四方のピクセルが、最低でも 10cm 四方に並んでいる) の表示装置。総ピクセル数は幾つになるか計算してみて下さい。次に、ホログラム・パターンを生成する計算パワー。前記の総ピクセルに対して、光学の基本方程式を厳密に計算してホログラム・パターンをリアル・タイムに得るには、スパコン並みの計算力が必要です。GPU の出番です。
 あるいは Wolfram|Alpha が、Stephen の野望の通り「電子回路を設計」出来るようになったとしましょう。このコラムを読んでいらっしゃる方はお分かりかと思いますが、半導体チップを設計する 際、シミュレーションやテストは、長時間と多大なコストが必要な作業です。何層にも重ねての配線設計は、むしろ計算幾何学の問題としても興味があ ります。このような問題を、スマートに解くのではなく、強力な計算パワーを使って全探査的に計算して、比較的よさそうな結果を出力するというアプ ローチも成り立ちます。やはり GPU の出番です。

 このように、「計算さえ速く出来れば、、、」という問題は、まだまだありそうですが、むしろ、強力な計算パワーをベースとする新しいテーマそのものを作ってしまうくらいの情熱が必要だと思います。昨今は、技術の価値を評価する際、既存のビジネスをどのくらい効率化するか、という議論が主流になっていますが、逆に技術起点のビジネスがもっと存在した方が面白いですよね。

Mathematica は V8 では、画像処理系の計算の高速化が主な用途ですが、前記のように、キャンパス横断的な機能を持つに至った現在、これまで想定していなかったユーザが、強大な計算パワーを必要とする予想外のアプリケーションを考え出してくれるのではないか、と注目しています。 

3-2) GPU 自身の進化
今年の CES 2011 で、NVIDIA 社の CEO であるフアン氏が、Project Denver という ARM ベースの CPU の紹介を行ないました。皆様ご存知と思いますので、あらためて説明はしませんが、モバイルを中心としたマーケットで主流となっている ARM ベースの CPU に GPU 機能を統合しようと試みです。面白いのは、これまで CPU そのものを作ろうとしなかった同社が、ついに (ARM ベースとは言え) 自前の CPU を、それも強力な計算パワーを誇る GPU を取りこんだ形で、開発するということと、OS を提供する Microsoft 社が ARM を含む SoC をサポートする予定であることを、同カンファレンスで発表したことです。これまで、孤高を保っていた NVIDIA (昔、RIVA 128 か TNT とか買ったことがあると記憶しています、、、) が、ついに、メイン・ストリームに躍り出て来るのか、とちょっとワクワクしています。

 

[4] 最後に

他に類を見ない高い技術そのものが商材であるという点では、昨今のサービス・ビジネスに流れて提供価値が多様化してやや不明確になっている IT 企業の中にあって、NVIDIA は異色の存在です。優秀な技術が、世間一般に受け入れられるには、時間が掛かります。その目指すところを広く理解してもらい、その恩恵が広く誰の手にも行き渡り、そして、誰もが気軽に使えるように周辺技術をも整える、という地道な作業を NVIDIA 社は今後どのように行なっていくのでしょうか? 今回、同様に独自の技術で Mathematica という製品一本で 20 年以上続いている Wolfram 社が、NVIDIA 社と組んで、どのような付加価値を提供できるのでしょうか? 短期視点ではなく、中長期の視点で判断して頂きたいと思います。 



中村英史

理学博士。専門は流体力学。大手 IT ベンダーの研究開発部門にてコンピュータ・グラフィックのアーキテクチャと製品開発に従事した後、サービス・ビジネス分野に転向。ビジネス・コンサルティング、IT コンサルティング、データ解析コンサルティングなどの各プロジェクトに参画する一方、サービスの基礎研究にも従事した後、Wolfram Research に転職。20 年来の Mathematica ユーザ。自身の研究で使用する以外に、大学非常勤で教えた経験も持つ。