GTC 2015 - 巨大電波望遠鏡「SKA」でパルサーを見つける
回のサンプリングを行ってFFTを行う。これに加えて、加速と分散の想定が400万通りあるので、8M点のFFTを400万回計算する必要がある。さらにSKAは1本のビームではなく、1,111カ所を同時に観測できるマルチビームのアンテナであるので、システム全体では40億回あまりのFFTを計算しなければならない。
そして、FFT前の信号は右側の上の図のように、ノイズしか見えないが、下のFFT後の信号では、いくつかのピークが見えるようになる。しかし、この信号は基本波だけでなく、いくつもの高調波があるので、これらの合計を求める必要がある。
これらの計算量は膨大であるので、GPUを計算に使う予定であり、NVIDIAのK40Cを使って開発を行っているという。
電波の到着時刻の揺らぎを補正するリサンプルの部分は、メモリバウンドになる処理である。このリサンプルの部分は、チューニングの結果性能を1.6倍に改善したが、8M点のFFTと合わせた全体の性能改善は1.1倍に留まり、1回のFFTに1.58ms掛かっている。
高調波の合計の計算は、メモリアクセスが飛び飛びになり、メモリリミットで演算性能が出ない。これをコンパイラのアンロールが効くようにソースを書くことと、通常はアプリでは使えないL1キャッシュに読み出したグローバル変数を格納することで7倍に性能を向上したという。