世界のスーパーコンピュータとそれを動かす人々


9月 3, 2019

「富岳」、OpenACCのサポートで他機種からの移植性を向上

HPCwire Japan

GPU向けのプログラミング環境と言えば、当初グラフィックス用途だったGPUを、NVIDIA社が汎用コンピューティング向けに利用できるようにするために開発した言語「CUDA」が主流となっている 。その成り立ち上、CUDAは他のアクセラレータへの適用がなく、アプリケーションの高速化などGPUの性能を最大限引き出すことができる一方で、複数の計算基盤を利用することを前提としたアプリケーション開発者にとっては、アーキテクチャごとに異なる開発をする必要があり、開発とメンテナンスのコストが増加してしまう。さらにCUDAのようなハードウェアに特化したプログラミング言語は、性能を出すためにターゲットとなるハードウェア・アーキテクチャの知識が必要となり、プログラムがハードウェアを効率的に使うように意図してコーディングする必要がある。

その他の選択肢の一つがOpenACCがある。OpenACC やOpenMPは、ディレクティブベースのプログラミングであり、ハードウェアに依存する部分はコンパイラに任せることができる。OpenACC はプログラムソースにディレクティブを記述するだけなので、ハードウェア間の移植性とメンテナンス性が向上する。そのためOpenACCは各種ハードウェアに対応する必要があり、広く利用者に使われるようにするためには仕様の標準化が必要だ。(OpenACCは現在、OpenACC.orgによって標準規格化されている。)今回神戸で開催されるOpenACC Annual MeetingではNVIDIA社を含む開発の主要メンバーとユーザが一堂に会し、技術の向上と標準化について議論する。今回のイベントは主催者であるOpenACC.orgと理化学研究所計算科学研究センターとの共催となっており、日本での開催は初となる。世界中から約70名が参加した。

OpenACCコミュニティの目的はOpenACCの仕様を議論する場であり、メンバーにはAMD、CRAY、NVIDIAなどのメーカーの他に、アカデミック機関も加盟しており、日本からは大阪大学、東京工業大学、筑波大学、そして今回から理化学研究所が加盟している。因みにインテルは加盟していない。また、特に米国のオークリッジ国立研究所はかなりOpenACCに力を入れており、Dr.Jack Wells氏がOpenACC.orgのVice presidentも務めている。現在Top500第一となっているSummitにはすでにOpenACCが採用されており、Summitで走るアプリケーションの約25%がOpenACCによりGPU化されている 。米国最初のエクサスケールマシンとなるFrontierでは、OpenACCとOpenMPが全面的に採用される予定だ。オ ークリッジ国立研究所はそのためにFrontierで動作するGNU C Compiler(GCC)におけるOpenACCの動作を確実にするためのプロジェクトを開始しており、この8月にRFP(Request for Proposal)を出している。/p>

 
   

今回の会議では冒頭に理化学研究所計算科学研究センター副センター長の佐藤三久氏の挨拶があり、佐藤氏は「理化学研究所は今回OpenACCのコミュニティに入会致しました。理研では「京」コンピュータを先週シャットダウン致しましたが、来年には次期マシンが入ります。GPGPUのようなアクセラレータは搭載していませんが、ARM SVEを利用したOpenACCの可能性、および、将来のHPCに向けたアーキテクチャに必要なアクセラレータに向けたプログラミングについて、OpenACCとともに検討していきたいと考えています。」と述べ、日本で初となる開催の意義について説明した。

 
   

最初の基調講演では、理化学研究所計算科学研究センターの松岡聡センター長が現在理化学研究所が主体となって富士通と開発を進めているスーパーコンピュータ「富岳」の説明を行い、OpenACCに対して次のように述べた。「富岳でOpenACCが動作するのを楽しみにしています。富岳がOpenACCをサポートすることで、OpenACCで記述されたプログラムが富岳(ARM)上でもSVEを利用して効率的に動作できるようにすることが重要なのです。」

その後、各研究者からの講演が行われ、各方面でのOpenACCに関する事例などが紹介された。OpenACC Annual Meeting2019は9月5日木曜日まで開催される。
https://www.openacc.org/events/openacc-annual-meeting-2019