メニーコアに備える
Tiffany Trader
DOEの計算科学大学院生フェローシップから出てきた洞察力に富んだプレゼンテーションのひとつが、ローレンスバークレー国立研究所国立エネルギー研究科学計算センターのサービス部門のヘッドであるKatie Antypasによって提供された。
「Preparing Your Application for Advanced Manycore Architectures(先進メニーコアアーキテテクチャのためにアプリケーションを備える)」の中で、AntypasはHPCにおける主要なアーキテクチャのトレンドのユーモラスでポイントを絞った概要を説明しており、何故それが起きているのか、ユーザはメニーコア時代に向けて自分のコードに対して何を準備できるか話している。
これらの用語は正確な定義を持っていはいないが、マルチコアからメニーコアに進むのは約半分程度の違いがあるとAntypasは示唆している。メニーコアは基本的に多くの軽量コアを伴うアーキテクチャを指している。(ヒント:軽量とは低速であることを意味する) 「メニーコア・アーキテクチャでは、コア数が与えられらコアの速度よりも重要です。マルチコアの時代においては、シングルコアとシングルスレッドの性能を考えればいいのです。」と彼女は述べている。
Antypasはパラダイム変化に寄与する要因に対処していく、と続ける。コミュニティはいくつもの壁に直面しつつある。最も顕著なのはメモリの壁、電力の壁、そして並列の壁だ。ユーザにとってはこれはジョブがもっと困難になることを意味している。それは高性能を達成するためにアプリケーションコードを変更する責任は彼らにあるからだ。Antypasは、ドメイン並列、スレッド並列、データ並列および命令レベルの並列を含むいくつかの並列のソースを調べ、それぞれを使う理由を挙げている。また、改めてベクトル化へフォーカスすることも議論している。
「プロセッサ・アーキテクチャに関わらず、性能を達成するためにはユーザはアプリケーションを変更する必要があります。」とAntypasは続ける。これはユーザが次のことをする必要がある:
+アプリケーションにおけるさらなるノード内並列の実施
+アプリケーションのベクトル化特性の向上
+階層型メモリ管理
+コプロセッサ・アーキテクチャについては、局所性ディレクティブの追加が必須
プレゼンテーションには、最新Phi「Knights Landing」プロセッサを搭載する今後のNERSCのシステムであるCoriの概要も含まれている。出荷時期は2016年中旬とされている。
Antypasは理論最大性能(3ペタフロップス)を知ることはあまり役に立たないが、アクセラレータでなく自己ホスト型プロセッサであるという事実は、「さらなるスレッド化と並列化を模索することに多くの悩みを持ち、コプロセッサにオフロードすることに悩まなくて良い」ユーザにとってとても良いこととなるだろう。
彼女の1時間のプレゼンテーションとスライドはここにある。