AmazonがAWSのアップグレードに選んだのは二世代前のKeplerアーキテクチャだった、Maxwell、Pascalと比較しその理由を探る

AmazonがAWSのGPGPUプランをアップグレード、選ばれたのはTesla K80

Amazonの運営するクラウドコンピューティングサービス「AWS」のGPGPUプランに「P2」インスタンスファミリーが加わりました。これは既存のGPGPUインスタンス「G2」の上位となるインスタンスファミリーです。P2にはTesla K80が使われていて、同じくTesla K80が使われているMicroSoftのクラウドコンピューティングサービス「Azure」を追いかける形となりました。

Tesla K80と言うと現行のPascalアーキテクチャから数えて二世代も前のKeplerアーキテクチャのボードです。一体なぜ古いアーキテクチャにも関わらずTesla K80が採用されるのか、そこを探っていきたいと思います。

過去の記事についての訂正「P4 P40」はHPC向けのアップグレードパスになり得ない

まず、過去記事について一つ訂正をさせてください。TeslaのP40とP4はP100と同じPascalアーキテクチャで、倍精度演算が速いボードであると書いていましたが、この2つはPascalアーキテクチャの中でも倍精度演算の速度を制限したGP102及びGP104アーキテクチャでした。訂正してお詫び申し上げます。

過去記事

nVidiaのGPUコプロセッサTeslaの新モデルP4とP40はとてつもない

さて、GP102及びGP104アーキテクチャのP4とP40ですが、倍精度演算が極端に遅いようでは汎用的なHPC用途のサーバーのコプロセッサとしては使えません。これはK80が売れている大きな原因の一つだと思われます。PCIeボードとしてリリースされているPascalアーキテクチャのTeslaが事実上無いのです。つまりコプロセッサを接続するためのPCIeポートを備える通常のサーバーを、Pascalアーキテクチャにアップグレードすることは現状では不可能だということです。二世代も前と言いましたが、問題はなぜMaxwell世代では無いのかと言う一点に絞られました。

Maxwell VS Kepler

実はMaxwellにも倍精度演算が速いボードが無いのが現状です。そもそもMaxwellアーキテクチャはGeforceに向けて作られたようなアーキテクチャで、理論的に単精度演算の1/32倍の倍精度演算しか出ません。様々なタイプの計算に対応しなければならないクラウドのGPGPUサービスでは選択肢になり得ないのです。Kepler世代は単精度演算の1/3倍の倍精度演算が出る設計ですので、少なくともHPCにおいてはKepler世代の方が圧倒的に強いです。

つまり「消去法」

Pascalアーキテクチャは単精度の1/2倍の倍精度を達成していますが、倍精度に制限が無いPascalアーキテクチャのTeslaはPCIeボードとしてリリースされていません。MaxwellはそもそもHPCに向いていないので選択肢に入りません。消去法で二世代も前のKeplerアーキテクチャしか選べないのが現状です。これは、Pascalが単精度の半分の倍精度演算という究極の効率を達成している以上、技術的な問題では無いと考えて良いと思います。HPCの雄であるnVidiaが、経営戦略上そういう舵取りをしていると考えられます。

Tesla K80にはライバルが不在か

Tesla K80ですが、このボードは非常に優秀です。単精度で9TFLOPS近く出ますし、倍精度で3TFLOPS近く出ます。現行のより微細なプロセスで製造した第二世代Intel Xeon Phiが単精度7TFLOPS、倍精度3.5TFLOPS程度であることを考えると、未だに最前線で戦えるスペックを有しています。消費電力はTDPで比較してTesla K80が300W、第二世代Intel Xeon Phiが245WとXeon Phiに分がありますが、CUDAできちんと性能の出るソフトとPhiの512bit SIMD命令をフル活用して性能の出るソフトでは前者の方が圧倒的に多いので汎用性という面ではTesla K80に軍配が上がります。

とにかくTeslaは強すぎるのです。14nmプロセスで製造した最新設計のコプロセッサを28nmプロセスのKepler世代のGPUで相手に出来てしまいます。HPC向けのコプロセッサがnVidiaの独壇場で、そのnVidiaがPascalを出し惜しみしているが故に、各社Tesla K80を採用しなければいけないと言う状況だと分析出来ます。

計算需要は高まる

計算需要はディープラーニングの流行りと共に高まりを見せています。ディープラーニングとは画像の自動判別の精度を大量に機械学習を積ませることで高めるというもので、機械的に不良品を弾いたりする用途にて精度を上げ、全体の不良品率を下げるというような効果が期待される計算手法です。産業に直結するこの計算は近年爆発的に需要が伸びています。簡単でも量をこなせば最高の精度が得られるという発想なので、単精度演算の得意なGPUに分のある分野です。GPGPUのコンピューティングリソースのアップグレードを急ぐのにはそういった背景があるのでは無いかと考えられます。

nVidiaを脅かす存在が出てきて欲しい

世界一の座にあぐらをかいている状態というのは、少なくとも私は面白くありません。技術を出し惜しみ出来てしまうほど、HPC界でライバルが居ないというのは問題でしょう。nVidiaを脅かすような存在が早く登場して欲しいものです。

Add a Comment

メールアドレスの入力は任意です。(公開されることはありません)