ニュース
自動車向けの開発ソリューションを加速するNVIDIAのQuadro/Tesla
GPUの仮想化で開発効率の向上やコスト低減も提供
(2014/12/11 00:00)
半導体メーカーNVIDIAの日本法人となるエヌビティア ジャパンは、自社の自動車向けソリューションを顧客に対して紹介するプライベートイベントを開催した。現在自動車産業では急速なIT化が進んでおり、自動車を開発する過程でのIT化、そして自動車に搭載されているIVI(In-Vehicle Infotainment)やメーターパネルなどのIT化といった車両側のIT化という2つの側面でIT化が進んでいる。このため、世界中の半導体メーカーが日本の自動車メーカーに対して熱心に売り込みをかけている状況だ。
そうした中でNVIDIAは、開発過程のIT化、車両そのもののIT化の両方の市場に対して半導体を提供するユニークなポジションにある。開発過程のIT化という観点では、Quadro(クアドロ)やTesla(テスラ)といった演算能力の高い半導体を、CAE(Computer Aided Engineering)と呼ばれるコンピュータを利用した製品設計の支援業務向けに提供しており、非常に高いマーケットシェアを獲得している。車両そのもののIT化という観点では、Tegra(テグラ)と呼ばれる半導体を自動車メーカーに対して提供しており、同社の強みの1つであるGPU(Graphics Processing Unit、画像処理装置)という並列演算が得意なプロセッサを利用したCUDAというプログラミングモデルなどを利用して、ADAS(Advanced Driving Assistant System、先進運転支援システム)などで必要とされる高い画像処理能力を実現することが可能になっている。
本リポートでは、そうしたエヌビティア ジャパンが開催したプライベートイベントで紹介された自動車向けソリューションのうち、主にCAEなど自動車の開発過程でのIT化に向けたソリューションを紹介していきたい。
CAEを活用した研究、開発を行う自動車メーカーで重要性を増すGPU
多くの読者にとっての自動車開発といえば、デザイナーが図面で絵を描き、それを元にスケールモデルを作って風洞に入れて開発をしていく……そういうものではないだろうか。だが、もはやそれは過去のものになりつつある。現在の自動車開発には、どんどんとコンピュータが取り入れられている。
最初のデザインから最終的なイメージモデル、そして風洞の代わりにCFD(Computational Fluid Dynamics、数値流体力学)と呼ばれるシミュレーションが利用されて、最初から最後までコンピュータを利用してデザインされるというのも珍しくなくなりつつある。
このようにコンピュータを利用して製品の設計開発を支援することはCAEと呼ばれ、自動車メーカーにとってはスケールモデル(実車の数分の一の大きさとなる模型のこと)を作るコストや手間、時間などを削減できるため、よりタイムツーマーケットで製品を投入でき、各社とも導入を進めている。
そうしたCAEを利用する自動車メーカーにとっての課題は、CAEの効率改善だ。というのも、競合他社よりも効率のよいCAEシステムを構築することができれば、他社に比べて開発期間を短縮することができたり、開発コストを引き下げることができるので、結果として価格競争力で優位に立つことができるからだ。従って、各社ともCAEシステムの効率改善に日々取り組んでいるような状況だ。
そうした自動車メーカーが最近注目しているのが、NVIDIAのようなGPUメーカーが提供する、GPUコンピューティング(あるいはGPGPUなど)と呼ばれるGPUを利用した汎用演算だ。一般的なPCだけでなく、企業内のサーバー、あるいはクラウドサーバーでは、これまで一般的に演算に利用されてきたのはCPU(Central Processing Unit、中央演算装置)だ。CPUはプログラムのコードを次々に実行していくような従来の演算方式では高い処理能力を持っているのだが、複数の処理を並列演算するような場合は、効率はあまりよくないというのが現状だ。
それに対してNVIDIAなどが提唱しているのがGPUを利用した汎用演算であるGPUコンピューティングでは、そうした並列処理をCPUを利用して行う替わりにGPUを利用して処理を行う。GPUというのは、その名のとおり、本来はグラフィックスを専用に処理するために開発されたプロセッサだ。しかし、グラフィックスの処理というのは、同じような処理を並列して行う仕組みだったため、内部の構造がプログラムを並列実行するのに適した構造になっていた。そこで、このGPUをグラフィックスだけでなく汎用(General Purpose)に利用していこうという取り組みがGPUコンピューティングの基本的な考え方になる。処理によってはCPUで処理する場合に比べて「倍精度浮動小数点演算で2~5倍程度」(エヌビディア ジャパン プラットフォームビジネス本部 部長 林憲一氏)の処理能力で実行することが可能になる場合もあるのだ。
CPUで処理する場合よりも高い処理能力を発揮するGPUを利用したCAE
もちろん、そうしたCAEに利用するアプリケーションがGPUを利用した処理に対応していなければ意味がないが、エヌビディア ジャパンの林氏は「すでに主要なCAEアプリがGPUを利用した処理に対応しつつある。Abaqus、ANSYS FLUENT、ANSYS Mechanicalなどといった製品がすでにGPUを利用して演算に対応している」と紹介し、CAEに利用されるプロユースのアプリケーションの多くもGPUを利用した処理への対応が進んでいるという。
自動車メーカーなどでよく利用されているCAEソフトウェアのAbaqus/Standardでは、2011年の6月にリリースされた6.11でGPU演算のサポートが追加され、2012年6月の6.12でマルチGPUなどの機能が追加になり、2013年6月の6.13で最新GPUサポートの追加などどんどんと機能が増えていっているという。そして、実際の処理を利用したベンチマーク結果では、1DMP処理の場合にはCPUだけとCPU+GPUという処理を比較すると後者が3.3倍高速に処理でき、2DMP+Split処理の場合にはCPUだけとCPU+GPU処理を比較すると3倍ほど後者が高速だという。
GPUを演算に利用するもう1つのメリットは消費電力だと林氏は指摘する。「GPUを追加すると、CPUだけに比べて見た目の消費電力は増えるが、その分だけ処理が速く終わり、結果的に消費電力が下がることになる」として、処理能力が向上しつつ、消費電力が低下することこそがGPUを導入するメリットであると説明した。
ゲストとして招待されていたダッソー・システムズは、RTT(Realtime Technology)から買収した3DCGツールの製品群“3DXcite”の紹介を行った。3DXciteを利用すると、写実品質でのCGを作成し、それを製品開発に役立てることができるほか、製品開発後、マーケティング段階に入ったときにも、3DXciteを利用して作成したCGイメージを元に実車イメージの広告を作るなど、さまざまな使い方が考えられると説明した。
ダッソー・システムズのブースでは、作成したCGのイメージをNVIDIAのGPUを利用してレンダリングすることで、高速に動かすことができる様子がデモされていたほか、データをクラウドサーバーに置き、ユーザーや販売店のタブレット端末からイメージを動かしたりという使い方が考えられるとの説明があった。
また、3DXciteを利用して作成された衝突実験のシミュレーションの様子もデモされた。言うまでもなく自動車メーカーにとって、安全性の確保は最大のテーマであり、自動車が衝突した時にどのように壊れていくかを調べることができる実験は欠かせない。しかし、実車を作ってテストしなければならないため、多大なコストがかかることになる。3DXciteのようなシミュレーションを使えば、かかるコストはIT関連のコストだけですむことになり、何度も試験をやり直したり、少しずつ条件を変えながら、すぐにテストを行うことができるので要注目と言える。
ワークステーション効率化を実現するGPUの仮想化
エヌビディア ジャパン エンタープライズソリューションプロダクト事業部 ソリューションアーキテクスト 澤井理紀氏は、NVIDIAが推進するGRID vGPUのソリューションについての説明を行った。
現在IT業界では、仮想化技術の導入が、特にサーバーを中心に進んでいる。仮想化技術というのは、本来、ソフトウェアというのはある特定のハードウェアに限定して作られているのだが、そのソフトウェアとハードウェアの中間に仮想化ソフトウェアと呼ばれる層を1つ増やすことで、ソフトウェア(具体的にはOSと呼ばれる基本ソフトのこと)がどのハードウェアでも動くようにする技術のことだ。VMware(ヴィエムウェア)やCitrix(シトリックス)などがその代表的なソフトウェアで、現在企業のデータセンターに設置されているサーバーなどで普及が進んでいる。
一般的には仮想化技術はサーバー側に利用されることが多いが、最近ではクライアントと呼ばれるユーザーが利用するPC環境にも利用される例が増えている。その代表的な使い方がVDI(Virtual Desktop Infrastructure)で、データセンターに仮想的なPC(仮想マシン)を作成し、それをユーザーの手元にあるクライアント(PCに限らず、タブレットやシンクライアントなどを含む)からリモートアクセスして利用する使い方の導入を進める企業が出てきている。
そうしたVDIで課題になっているのが、GPUの仮想化をどうするかだ。一般的に仮想化ソフトウェアの上で動作する仮想マシンというのは、仮想化ソフトウェアに対して処理のリクエストを出して、それを仮想化ソフトウェアが変換して物理的なCPUや、GPUなどに処理を投げるという形になっている。すでにCPUに関しては、仮想マシンとハードウェアのやりとりをバイパスして処理させる方法が一般的になっているのだが、GPUに関してはこれまでそうした方式が用意されておらず、例えばワークステーションのように、CPUよりもGPUを使うことが多いというマシンは仮想化に対応させることができていなかった。
しかし、NVIDIAが導入するGRID vGPUは、そうしたグラフィックスの処理を直接ハードウェアに対して依頼できる仕組みが用意されている。仮想マシンにはNVIDIAが提供するグラフィックスドライバがインストールされ、エンドユーザーは物理的なGPUがあるのと同じ感覚で利用することができる。澤井氏は「物理的なGPUとしては4つのGPUが搭載されているGRID K1と、ハイエンドのGPUが2つ搭載されているGRID K2の2つのラインアップがある。その1つのGPUを複数の仮想マシンからリソースをシェアすることも可能で、プロファイルによるが1:1から1:8まで対応が可能だ」と述べ、1つのGRIDカードをデータセンターに投入するだけで最大で32の仮想マシンからGPUを利用することが可能だと説明した。
つまり、従来は各々のユーザーの机に置いてあった巨大なワークステーションPCを、データセンターのブレードサーバーの中に仮想化して移動、かつ1つのGPUを複数ユーザーでシェアすることができるという。これまでならユーザーがワークステーションを使っていないときには、そのワークステーションに搭載されているGPUの処理能力は無駄に死蔵されていたが、GRID vGPUを使って仮想化すればリソースの有効利用という観点でも大きな意味がある。
すでにこのGPU仮想化のソリューションはデンソー ディーゼル噴射事業部で導入事例があり、vGPUではなく、vDGA(GPUパススルー方式、物理的なGPUとの割り当てが1:1に限定されるGPU仮想化)によるシステムが構築されているという。それにより、大幅な運用効率の改善が実現できている。
澤井氏によれば、現在NVIDIAは仮想化ソフトウェアベンダのVMwareと協力して、VMwareが2015年にリリース予定の仮想化ソフトウェア「VMware vSphere」でのvGPUサポートをいち早くテストする機会を提供しており、すでにNVIDIA GRIDを搭載したサーバーを運用している企業であれば早期アクセスプログラムに参加できるということだった。
エンドユーザーのレンダリング速度を向上させることができるVCA
また、エヌビディア ジャパンの澤井氏はNVIDIAが推進するVCA(Visual Computing Appliance)についての説明を行った。VCAとはNVIDIAが発表した複数のGPUをラックサーバーにまとめて提供するアプライアンスサーバーで、エンドユーザーはリモートからVCAにアクセスすることで、GPUの演算能力をCGのレンダリング(描画)に利用することができる。
自動車メーカーにとっては、CAEが一般的になる中、エンジニアのワークステーションにより性能の高いGPUを導入することは、エンジニアの仕事の効率化にとって重要になりつつある。なぜかと言えば、GPUの処理能力が高ければ高いほどレンダリングにかかる時間が短くなり、それだけエンジニアが次の仕事を行うまでの待ち時間が減ることになるからだ。しかし、仮想化のところで説明した通り、それぞれのエンジニアのワークステーションに高価なGPUを導入するのは性能的には最もよい解決方法だが、課題はコストと資産の有効活用という点にある。あるエンジニアが出張に行っている間、そのエンジニアのワークステーションに入っているGPUは、何にも使われていないことになってしまうからだ。そこで、GPUの仮想化と同じように、レンダリングに利用する複数GPUを1つのラックサーバーにまとめて、レンダリング処理だけをネットワーク経由で渡すという使い方をできるようにして、複数のユーザーがGPUの処理能力を共有できるようにしたのがVCAということになる。
澤井氏によれば、3D CGアプリケーションなどからVCAを利用してレンダリングする場合には、アプリケーション側にVCAに対応したIrayないしはV-Rayプラグインが必要で、それを利用することでレンダリングをリモートに行うことができるということだった。例えばV-Rayプラグインは3ds MAX、Mayaに関しては既に提供されており、Rhino、SketchUpに関しては対応予定であることがすでに明らかにされているという。
なお、デモコーナーでは、Dassault Systemesの3D CADアプリケーションのCATIA V6から、VCAを利用したリアルタイムレンダリングの様子が実際にデモされており、来場者が触って試せるようになっていた。