「GTC 2015 - 巨大電波望遠鏡「SKA」でパルサーを見つける」の関連記事

【レポート】GTC 2015 - MPIを使ったマルチGPUのプログラミング「基礎編」
【レポート】GTC 2015 - MPIを使ったマルチGPUのプログラミング「高性能化編」
→ そのほかのGTC 2015の記事はコチラ

「Square Kilometer Array(SKA)」は巨大な電波望遠鏡である。チリのAtacama高地に作られたALMA電波望遠鏡の全パラボラアンテナの受信面積の合計は約650平方メートルであるが、SKAはその名の通り、1平方キロメートルの受信面積を目指している。

当初は南アフリカとオーストラリアが誘致を競っていたが、SKA Midと呼ばれる350MHz~14GHzをカバーする部分は南アフリカ、SKA Lowと呼ばれる50MHz~350MHzをカバーする部分はオーストラリアに建設されることに決まった。

フェーズ1ではMidは33,000平方メートル、Lowは0.4平方キロメートルで1平方キロメートルという最終目標の半分弱となっている。フェーズ1の建設は2018年から2023年という計画になっており、部分的な運転による観測開始は2020年の予定になっている。

SKAはMidが南アフリカ、Lowがオーストラリアに建設される

オーストラリアに建設されるSKA Lowは約13万台のアンテナを持ち、500カ所に処理ステーションを設ける。これらのアンテナからの生データは毎秒157TBに上り、年間に4.9ゼッタバイト(Zetta ByteはPeta Byteの1,000,000倍)という膨大な量になる。

SKA Lowのアンテナ群。実物は、まだ無いので予想図

超新星の残骸の高速回転するパルサー中性子星が、他の中性子星、あるいはブラックホールと連星になっている系では、強力な重力場が形成されているので、このような極限の環境でもアインシュタインの一般相対性理論が成り立っているかを検証することができる。このため、SKAで、連星のパルサーを見つけようとしている。

次の図は縦軸が時間で、横軸が周波数で、受信電波の強さが色で表されている。共通重心の周りをパルサーが回るので、地球に近づく方向に動いている時は、ドップラー効果で受信される周波数が高くなり、遠ざかる方向に動いているときは周波数が低くなる。このため、左側の図のように弧を描いて見える。このため、パルサー自体が出す電波を正しく測定するためには右の図のようになるように、回転の効果を補正する必要がある。

連星のパルサーからの電波は、左の図のようにドップラー効果で周期的に周波数が変わる。本当のパルサーからの電波を求めるためには、回転の効果を補正して右の図のようにする必要がある

この回転による加減速の影響や電波が飛んでくる間に電子などとの相互作用で周波数が揺らぐ分散が起こるが、これがどれだけあるかは分からない。このため、これに210の加速度と212通りの分散を想定したデータを作って処理を行ってみて、一番もっともらしいデータがでる値を選ぶ。

サンプリング間隔は50μsで、7分間の受信で223(8M)回のサンプリングを行ってFFTを行う。これに加えて、加速と分散の想定が400万通りあるので、8M点のFFTを400万回計算する必要がある。さらにSKAは1本のビームではなく、1,111カ所を同時に観測できるマルチビームのアンテナであるので、システム全体では40億回あまりのFFTを計算しなければならない。

受信電波は色々なノイズが混ざっており、FFTで周波数領域の信号に変換して信号を見つける

そして、FFT前の信号は右側の上の図のように、ノイズしか見えないが、下のFFT後の信号では、いくつかのピークが見えるようになる。しかし、この信号は基本波だけでなく、いくつもの高調波があるので、これらの合計を求める必要がある。

これらの計算量は膨大であるので、GPUを計算に使う予定であり、NVIDIAのK40Cを使って開発を行っているという。

電波の到着時刻の揺らぎを補正するリサンプルの部分は、メモリバウンドになる処理である。このリサンプルの部分は、チューニングの結果性能を1.6倍に改善したが、8M点のFFTと合わせた全体の性能改善は1.1倍に留まり、1回のFFTに1.58ms掛かっている。

K40C GPUを使ってリサンプルとFFT計算を行う。リサンプル部分の性能は1.6倍になったが、FFTを含む全体では1.1倍の性能

高調波の合計の計算は、メモリアクセスが飛び飛びになり、メモリリミットで演算性能が出ない。これをコンパイラのアンロールが効くようにソースを書くことと、通常はアプリでは使えないL1キャッシュに読み出したグローバル変数を格納することで7倍に性能を向上したという。

コンパイラがうまくアンロールでくるようなコードの書き換えとL1キャッシュの使用で、性能を7倍に改善

結果として、Resample 8%、FFT 27%、Harmonic Sum 65%の実行時間比率であったのであるが、下記のように一番処理の複雑なFFTの時間が66%になった。そして、全体性能は最初のコードと比べて2.5倍になったが、まだ、450TFlopsである。メモリリミットなので、Pascalから採用されるHBMは性能向上に貢献しそうである。

各部の比率は、複雑なFFTが66%の比率となり、全体性能は2.5倍になったが、まだ、450GFlops程度しか出ていない

SKA Midのデータをリアルタイムで解析するためには、分散を取り除くDedispersionで0.5ExaFlops、ResamplingとFFTで1.3ExaFlops、Harmonic Sumで0.5ExaFlops、その他0.1ExaFlopsで、合計2.4ExaFlopsの演算能力が必要という計算になる。稼働開始時期を考えると、これはTop500の1位に近い性能である。

SKA Midが観測する電波をリアルタイム(7分間)で処理するには2.4ExaFlopsの演算能力が必要

この時期にはNVIDIAのVolta GPUが使え、1個のVoltaで実効6PFlopsが実現できるとすると、500ノード(ステーション)でそれぞれ2個のGPUがあれば良いと述べているが、6PFlopsは2~3桁楽観的な見通しではないかと思われる。

GTC 2015の記事一覧

【レポート】GTC 2015 - スタートアップの興味深い展示
【レポート】GTC 2015 - MPIを使ったマルチGPUのプログラミング「基礎編」
【レポート】GTC 2015 - MPIを使ったマルチGPUのプログラミング「高性能化編」
【レポート】GTC 2015 - 東大/筑波大のTightly Coupled Accelerator「TCAの性能編」
【レポート】GTC 2015 - 東大/筑波大のTightly Coupled Accelerator「システム構成編」
【レポート】GTC 2015 - 米国の次世代スパコン「Summit」
【レポート】GTC 2015 - ヘテロジニアスHPCとNVLINK
【レポート】GTC 2015 - DDNのバーストバッファテクノロジ
【レポート】GTC 2015 - Deep Learning用のCUDAライブラリ「cuDNN」
【レポート】GTC 2015 - GPUはどの程度エラーするのか?
【レポート】GTC 2015 - Deep Learningを理解する(後編)
【レポート】GTC 2015 - Deep Learningを理解する(中編)
【レポート】GTC 2015 - Deep Learningを理解する(前編)
【レポート】GTC 2015 - NVIDIAの新製品発表とDeep Learning
【レポート】GTC 2015 - Baidu(百度)のDeep Learning
【レポート】GTC 2015 - GoogleのDeep Learning
【レポート】GTC 2015 - Deep Learning一色となった基調講演
【レポート】GTC 2015 - NVIDIA、7TFlopsの演算性能を実現したハイエンドGPU「Titan X」を発表