@techreport{oai:ipsj.ixsq.nii.ac.jp:00237563, author = {三木, 洋平 and 塙, 敏博}, issue = {2}, month = {Aug}, note = {近年 GPU は代表的な演算加速器としての地位を確立しており,国内外のスーパーコンピュータへの搭載事例が相次いでいる.GPU スパコンの増加に伴いユーザーコードの GPU 移植が必要となり,移植工数を抑えるために OpenACC や OpenMP target といった指示文ベースの GPU 化がなされることも多い.この際には先行して開発されてきたため機能やドキュメントがより充実している OpenACC が採用されることが多いが,OpenACC は実質的に NVIDIA 製 GPU のみを対象とした指示文になりつつあるため,ベンダーロックインに陥るリスクもある.OpenMP target はNVIDIA/AMD/Intel 全社の GPU に対応しているためベンダーロックインに陥ることはないが,OpenACC と完全対応はしておらず,また既存の OpenACC ユーザにとって見れば追加の学習コストが生じるという弱点もある.そこで本研究では,GPU 向け指示文をプリプロセッサマクロ化したヘッダーオンリーライブラリ Solomon(Simple Off-LOading Macros Orchestrating multiple Notations)を開発し,バックエンドで使用する指示文として OpenACC と OpenMP target を簡易に切り替える機能を実現した.また,Solomon のインターフェースとして OpenACC 的な記述や OpenMP target 的な記述も提供することでコード開発者の学習コストや既存の OpenACC/OpenMP target コードからの移植コストを低減している.NVIDIA H100 SXM 80GB,AMD Instinct MI210,Intel Data Center GPU Max 1100 上で N 体計算および 3 次元拡散方程式の性能測定コードを用いた機能検証を行ない,OpenMP target をバックエンドとした動作モードが全 GPU 上で正常に動作し,また OpenACC をバックエンドとした際には NVIDIA H100 SXM 80GB上で正常に動作することが確認できた.}, title = {GPU向け指示文統合マクロの実装}, year = {2024} }