適切なプログラミング環境に欠けるも
Cilk Plusの実装でx86互換が功を奏す
ということで、Xeon Phiの今後の展開についての説明が終わったところで、冒頭に書いた「欠けている要素」の話をしよう。
それはなにかといえば開発環境である。もともとインテルは自社で長くコンパイラを開発・提供していた。
x86以外にも多くの8bit CPUを開発していたし、その後はi860やi960、Itaniumなど各種の32/64bitアーキテクチャーに基づく製品をリリースするにあたり、「アセンブラで書け」ともいえず、かといってコンパイラメーカーの対応を待っていたらいつになるかわからないからだ。
もっとも、PCの市場ならマイクロソフトのCコンパイラ(後のVisual Studio)が有名だし、HPC向けには(現在はNVIDIAに買収された)PGIという会社が提供するコンパイラも広く使われている。
ただ数値演算に関しては、インテルが2003年から提供を開始したMKL(Math Kernel Library)にあわせてこれをサポートする形で最適化をより高めていった。
さらにVTuneという最適化分析ツールやTrace Analyzerなどのマルチスレッド化支援ツールなど様々なツールも同時に提供しており、ことx86/x64の最適化に関してはマイクロソフトのVisual Studioよりも充実しているというのが昨今の評判である。
こうした開発ツール群を抱えているのだから、もちろんXeon Phiに関しても手を打った。2010年頃からKnights Ferryベースの開発ボードを配布した先には評価版をあわせて提供したが、2011年にはIntel Parallel Building Blockという形で開発キットとして提供するようになる。
この中で特に大きなのは、Cilk Plusと呼ばれる言語拡張機能である。もともとはMITが開発していたCilkという言語拡張があり、これをベースに拡張したCilk++なるものも登場したが、これらをインテルがまとめて買収、Cilk Plusとして実装した。
CilkにしてもCilk Plusにしても、骨子はC/C++にマルチスレッドの対応を容易に記述できるものであるが、インテルはこれをMICアーキテクチャーに拡張した。ここで初めて、各コアがx86互換であることが生きてくる状況になった。
というのはCilk Plusを利用してマルチスレッド化したアプリケーションは、Xeonベースのマルチコア、Xeon+Xeon Phi、あるいは大規模なクラスターであってもそのまま変更せずに走らせられるからだ。
イメージ的にはOpenCLの先取りという感じだが、提供されるAPIはOpenCLとなんの互換性もない。OpenCLに対する強みは手厚い開発環境であり、これを早期から提供したことにより、急速にXeon Phi対応アプリケーションが増えることになった。
なにせCUDAにせよOpenCLにせよ、基本的には書き直しになるのに対し、Cilk Plusでは既存のアプリケーションコードにスレッド制御を追加するだけで対応できるため、移行の手間が大幅に減ることになる。
チップそのものの性能強化に加え、このソフトウェア環境の厚みがHPC市場におけるXeon Phiの存在を急速に高めた要因の1つであることは間違いないと考えてよいだろう。
この連載の記事
-
第770回
PC
キーボードとマウスをつなぐDINおよびPS/2コネクター 消え去ったI/F史 -
第769回
PC
HDDのコントローラーとI/Fを一体化して爆発的に普及したIDE 消え去ったI/F史 -
第768回
PC
AIアクセラレーター「Gaudi 3」の性能は前世代の2~4倍 インテル CPUロードマップ -
第767回
PC
Lunar LakeはWindows 12の要件である40TOPSを超えるNPU性能 インテル CPUロードマップ -
第766回
デジタル
Instinct MI300のI/OダイはXCDとCCDのどちらにも搭載できる驚きの構造 AMD GPUロードマップ -
第765回
PC
GB200 Grace Blackwell SuperchipのTDPは1200W NVIDIA GPUロードマップ -
第764回
PC
B100は1ダイあたりの性能がH100を下回るがAI性能はH100の5倍 NVIDIA GPUロードマップ -
第763回
PC
FDD/HDDをつなぐため急速に普及したSASI 消え去ったI/F史 -
第762回
PC
測定器やFDDなどどんな機器も接続できたGPIB 消え去ったI/F史 -
第761回
PC
Intel 14Aの量産は2年遅れの2028年? 半導体生産2位を目指すインテル インテル CPUロードマップ -
第760回
PC
14nmを再構築したIntel 12が2027年に登場すればおもしろいことになりそう インテル CPUロードマップ - この連載の一覧へ