Teslaの創業者でCEOのイーロン・マスクが率いるもうひとつの会社、SpaceXには、意欲的な目標があります。火星への移民です。
聞いた瞬間、難しいと思われるかもしれませんね。実現は想像以上に難しいと思われます。人を火星に連れていくだけでは不十分で、人が暮らすのに必要なインフラストラクチャも火星に持っていかなければならないのですから。大型のロケットが必要になります。本当に大きなロケットです。
GTC 2015で大人気となったセッションで、SpaceXの研究担当ディレクタ、アダム・リヒト(Adam Lichtl)は、北米大陸に移住したパイオニアたちは小屋を建てたり食べ物をみつけたりしなければならなかったけれど、「空気の心配はありませんでした」と会場の笑いを誘いました。
また、火星は地球よりずっと寒いため、熱を生みだし氷を融かすために発電設備が必要になります。そのような機材を運べるほどパワフルなロケットを作るのは、信じられないほど難しいことが判明したそうです。
火星に行くのはとにかく大変です。そこでGPUがどう役に立つのか、SpaceXは紹介してくれました。
単純なシミュレーションをするにも複雑な物理演算が必要で、世界最大のスーパーコンピュータでも処理しきれません。SpaceXでは、GPUの活用でこの問題を回避することに成功しました。人知を超えるスケールの計算を概算できるようになったわけですが、この成果は、自動車業界に販売できる可能性を秘めています。
リヒトは、GTC 2015のセッションで次のように述べています。「これは、これまで取り組まれたことのない計算力学の問題に取り組めるようになる画期的な技術です。GPUアクセラレーションがなければ、ごく簡単なシミュレーションをするだけでも、何千個ものコアを何カ月も動かし続ける必要があります。でも、GPUが、指数関数的なアクセラレーションを実現してくれたのです。」
ヨタバイト規模のデータ
問題となっている点を紹介しましょう。燃料と酸化剤を別々の流れとして燃焼場に供給すると「乱流非予混合燃焼」と呼ばれる現象が起きますが、その現象の計算はめまいがするほどスケールが大きくなってしまうのです。
この反応からは、10の24乗というヨタバイト単位で表されるほどのデータが得られます。SpaceXの主任ソフトウェア・エンジニア、ステファン・ジョーンズ(Stephen Jones)がGTCで語ったように、そういう規模のメモリを持ち、それほどのデータ量を管理できるマシンは存在しません。
ジョーンズによると、燃焼反応からどのような乱流が生まれるのかなど、必要な知見が得られる実用的なシミュレーションとするためには、画像を圧縮しないですべての計算を行わなければならないそうです。
MP3との共通点
コードをGPUで実行することにより、SpaceXは、データを圧縮して管理できる規模に抑えた状態で、必要となる詳細情報が得られる適応型グリッドを生成することに成功しました。このテクノロジは、音楽を楽しむために必要な周波数は保持したまま、圧縮に不要な周波数は削除するというMP3で使われているものによく似ています。
コンピューティングの部分に集中するため、ウェーブレット法を活用しているとの話もありました。つまり、GPUのおかげで、SpaceXでは、燃焼反応に重要な部分を集中的に狙って計算する、例外は除去する、そして、より大きなデータ・セットへ外挿するというやり方で、膨大すぎるはずのデータの計算が可能になったわけです。