Xeon Phi は Cell B.E系アクセラレータ と同じ道を辿るのか、それとも・・・

以前より注目しつつ記事()にしているKnights系アクセラレータがXeon Phiとしてついに正式発表された様ですね。

この数日IT系ニュースを見ていなかった筆者は読者の方に教えて頂き発表された事に気付きました。

以前の記事でも書きましたが、Knights系プロセッサ(コプロセッサ/アクセラレータ)はPCIe接続のタイプと、XEONと同じCPUソケットに挿すタイプが計画されていた様ですが、今回発表されたものは無難なPCIe接続で登場させる様です。つまり、もしCPUソケットに挿すならマザーボード側が個々にBIOSやEFIでヘテロ構成に対応しなければいけないという壁を超える必要が有るのだと思います。加えてOSにも変更が必要かもしれません。PCIe接続のクラスタならばBIOSはカード上に1種類だけ作れば良く、無数にあるマザーボードのBIOSやEFIを修正するより容易です。

ところで、外見はグラフィックカード(というかTeslaの様な)と同一ですが、仕組みとしてはGigaAccel 180(同 CAB2 他IBM製のOEM品が複数企業より販売された)Cell B.E系アクセラレータと同様にカード上でホストとは独立したOSが動作する製品の様です。

まぁ、そういう意味ではGPGPUでもカード上にBIOS/Firmwareが有りますので、広義には類似していますが、Cell B.E系アクセラレータと同様にLinuxが動作し、その上で開発も出来るという点で最近のGPGPUとは若干異なりPS3を含めたCell系のアクセラレータに近い印象です。

古くはPC-8801用の8086カードや、PC-9801用のi860カードなども有りましたが、それらとは異なり、既に動作実績の有るソフトウエアを移植無しに動作させる事が(OpenCLなどを介して)可能に成ると思いますので、少なからず普及すると思います。

Cell B.E系アクセラレータは OpenCLの様な汎用的で移植性の高いプログラミングアプローチの実装系が無かった(当時はまだOpenCLの策定期であった)事などもあり、GPGPUに圧される形でマーケティングに行き詰っていた印象が有りましたが、Xeon Phi はどうなるでしょうね?というか某社はOpenCL実装系の構築が出来る技術力が有る(とは言え技術者の絶対数は不足しているのか?)ので、OpenCLの実装系を他のGPGPU同様に無償配布していれば、もう少し普及したのでは?と少し疑問に思っています。といいますかOpenCLにはCell B.Eを想定したと思われるアクセラレータという定義がありますが、これを使った実装系が実在するのか?あるいは実装系が完成する前にGPGPUに性能的に差を付けられて世に出る事が無かったと言う可能性も・・・実際どうなんでしょうね?

GigaAccel 180 は発売当時に100万円前後だったのに対し、最近は1万円程度で流通していますので、もしOpenCLが動作するなら2個買ってベンチしてみたいのですが、独自のプログラミングスタイルで移植する必要が有るので筆者的には触手が伸びてゆきません。(もしOpenCLの実装系をαやβでも構わないので御持ちの方が居ましたら、欲しいです・・・)

ところで Xeon Phi の倍精度のピーク性能は既存の AMD Tahiti (RadeonHD 7970 や 後発のFirePro) と同等ですので、OpenCLで競った場合は性能差が出るかどうか判りません。そうなると、癖の違いやチューニングの難易度が重要になってきます。具体的にはx86である事が足枷に成るか、それとも促進剤になるか、と言う事です。アセンブラで全てを組む訳では無いとは思いますが、とは言え、XEON Phi は最近珍しいインオーダーですからアセンブラでのチューニングも想定されているかもしれません。あとは性能や技術的な事とは全く関係ない土俵でIntelやXEONといったブランド名と、同時発表されたスパコン性能がマーケティング的に強力な武器に成りそうです。

普及の1つの鍵ともいえるプログラミングの難易度ですが、OpenCLの様なプログラミングスタイルは、プログラマに一定の能力を求める為、プログラミングの難易度が高く普及の足枷に成っているといった内容をGPGPU関連の記事で目にした記憶が有ります。筆者がOpenCLで実際にプログラミングした感想としては、SQLを書く事に近い感覚です。SQLでは初めにDBMSとのコネクションを確保し、それをプールするスタイルが有りますが、自分でフレームワークを組む際に全く同じ手法をとる事が出来ます。フレームワークの次はプログラムロジックですが、これもSQL同様にSQL言語に相当する部分にOpenCL言語(C系言語そのまま)で記述します。SQLにはDBMSの基本的な知識が必要な様に、OpenCLには並列演算の基本的な知識が必要です。SQLでは初めからDBMS依存のSQLを書く人と、可能な限り標準的なSQLで構成して移植性を高めつつ最終的なチューニングでDBMS依存のコードを検討する人が居ます(筆者は後者です)それと同様に、OpenCLでもGPUに依存/最適化したコードを書く事が出来ますし、GPUに依存しない汎用的で移植性の高いコードで組むことも可能です。話が少しそれましたが、そんな感じでSQLを組める方ならOpenCLは問題ないと思います。筆者が思うに、今回発表された様な XEON Phi の仕組み=クラスタを前提とするプログラミングスタイルが(たとえx86であったとしても)OpenCLより簡単にプログラミング出来るという訳ではなく、非常に似通った問題を内包していると思います。そもそもx86であっても、ホスト側がアウトオブオーダーの巨大コア、アクセラレータ側がインオーダの小型コア、命令セットも微妙に異なり、アウトオブオーダ用にコンパイルされた同一バイナリの実行は非効率ですし逆も然り、メモリ空間も異なる・・・という事を考えるとOpenCLよりプログラミングが容易というのは疑問です。コンパイラ自体の実装で、どれだけ上手にハード的な難易度を隠蔽しつつ安定稼動できるかが、プログラミングの難易度に関わってくると思います。出たばかりの実装系にはバグが付き物ですから、プログラマには一切落ち度が無くとも、実装系にバグが有るとデスマーチを誘発し難易度を累乗的に押し上げます。

もう1つの側面として、この手の演算デバイスは、とにかく性能最優先な面が有りますが Cell B.Eの様にPS3以外に目立った用途が無いと世代交代の間隔がひらいてしまいます。つまり、次の世代を開発する為のリソースを贅沢に用意する事が難しくなり、必然的に単価も上がり益々優位性が薄れます。対して一般に普及しているGPU市場が主なターゲットのGPUはnVidiaとAMD(ATi)の競争もありCPUをも超える速度で世代交代が進み、XEON Phi の登場前に既にピーク性能ではGPGPUが上回っています。AMDは既存のTahitiで倍精度TFLOPSを達成(先日1GHz版が登場)、nVidiaもKepler世代のGK110でそれを上回ると思われ、既に発売時期を模索する段階まで来ていると思います。Cell B.E系アクセラレータが恐らくGPGPUに(世代交代と性能向上ペースが速すぎて)駆逐されたであろう事を考えると、XEON Phi も同じ経路を辿る可能性を孕んでいると思います。そういった面でも命令セットが自由=世代交代で前世代の命令セットを意識する必要が無いGPGPUに比べて、常にx86命令セットによる制限が架せられた為に世代交代が難しくなる可能性もあります。

とは言え、これからが楽しみです。というか、筆者の手元に来る事があるか?を楽しみに待ちたいと思います。

それよりも、本題からズレますが Tahiti のECCイネーブル版?は、どうなるんでしょうね?
関連記事
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

DualSocketTheWorld

Author:DualSocketTheWorld
自作を始めて20台目くらいになりますが、最初からデュアルソケット限定(始めた当時はデュアルスロット)で自作しており、近年になってAMD K6を試したくなりSocket7でK6-2+のシングル構成で組んだのがシングル初です。

シングルマザー(含:シングルソケットマルチコア)や4ソケット以上の自作は基本的にしませんし、メーカー製PCの改造も基本的にはしません(ノートPCのSSD化くらいはしますが・・・)

基本路線はワークステーションと呼ばれる分野での自作で、OSもWindows系であればProfesionalが主な対象に成ります。

ゲーマーの様なOverClockは行わず、WS路線としてハイエンドCPUとハイエンドGPUの組み合わせで定格或いはDownClockで発熱を抑えつつ、その時のアーキテクチャに置いて爆速かつ静音を目指し、30年以上の長期に渡り稼動状態をキープする事を目指します。

※基本的にリンクフリーです。どこでも自由にどうぞ。

※画像は時々変ります。

※お決まりの文章ですが、改造は個人の責任で行ってください。ここに記載された情報は間違いを含んでいる可能性が有り、それを元に製作や改造などをして失敗しても筆者は一切責任持てませんので悪しからず。

筆者略歴:
小学生時代にゴミ捨て場で拾ったジャンクテレビ数台を分解して部品を取り出し真空管アンプを自作、中学生時代にPC8801mkⅡsrでZ80アセンブラを始める。社会人になって初のプログラムは弾道計算、後に医療系・金融系プログラマ~SEを経て100~200人規模プロジェクトのジェネラルマネジャを数年経験、独立して起業。現在は不動産所得で半引退生活。
(人物特定を避ける目的で一部経歴を変更しています)

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
アクセスカウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR