@techreport{oai:ipsj.ixsq.nii.ac.jp:00222651, author = {川崎, 真之 and 大島, 聡史 and 八巻, 隼人 and 三輪, 忍 and 本多, 弘樹}, issue = {8}, month = {Nov}, note = {近年,GPU コンピューティング向けプログラムモデルの一つとして,その記述の容易さから OpenACC が注目されている.しかし,OpenACC には,計算処理を分割し CPU-GPU 間で負荷分散を行うための仕組みが提供されておらず,GPU による計算中に CPU の計算資源が無駄になってしまう問題がある.そこで本研究では,プログラマが指示文を用いて CPU-GPU 間の負荷分散を容易に記述できるよう,OpenMP/OpenACC ハイブリッド並列化のためのコード変換フレームワークを提案する.本研究ではハイブリッド並列化の対象を C 言語の for ループとし,CPU と GPU それぞれで実行するタスクの量をプログラマが指定するための OpenACC 拡張指示文を導入する.上記の指示文の内容に基づき,提案フレームワークでは OpenMP と OpenACC でハイブリッド並列化されたコードへの自動変換を目指す.本稿では,提案フレームワークにおけるハイブリッド並列化の有効性を確認するため,行列積と 2 種の N 体問題に対し OpenMP と OpenACC によるハイブリッド並列化コードに対して評価を行った.その結果,OpenACC を用いた GPU のみによる計算に対し,最大で 1.57 倍の高速化を確認した.}, title = {OpenMP/OpenACCハイブリッド並列化のためのコード変換フレームワークの提案}, year = {2022} }