{"created":"2025-01-19T01:02:29.621896+00:00","updated":"2025-01-19T22:05:18.595265+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00198163","sets":["1164:2240:9748:9861"]},"path":["9861"],"owner":"44499","recid":"198163","title":["Batched Kernel APIを用いるOpenMPタスク生成"],"pubdate":{"attribute_name":"公開日","attribute_value":"2019-07-17"},"_buckets":{"deposit":"54b9213e-c970-4cb2-b031-4401631e19de"},"_deposit":{"id":"198163","pid":{"type":"depid","value":"198163","revision_id":0},"owners":[44499],"status":"published","created_by":44499},"item_title":"Batched Kernel APIを用いるOpenMPタスク生成","author_link":["476750","476753","476755","476754","476752","476751"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"Batched Kernel APIを用いるOpenMPタスク生成"},{"subitem_title":"OpenMP Task Generation for Batched Kernel APIs","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"タスク並列","subitem_subject_scheme":"Other"}]},"item_type_id":"4","publish_date":"2019-07-17","item_4_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"理化学研究所計算科学研究センター"},{"subitem_text_value":"筑波大学大学院システム情報工学研究科"},{"subitem_text_value":"理化学研究所計算科学研究センター/現在,筑波大学大学院システム情報工学研究科"}]},"item_4_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"RIKEN R-CCS Center for Computational Science","subitem_text_language":"en"},{"subitem_text_value":"Uniersity of Tsukuba Graduate School of Systems and Information Engineering","subitem_text_language":"en"},{"subitem_text_value":"RIKEN R-CCS Center for Computational Science / Presently with Uniersity of Tsukuba Graduate School of Systems and Information Engineering","subitem_text_language":"en"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_publisher":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"情報処理学会","subitem_publisher_language":"ja"}]},"publish_status":"0","weko_shared_id":-1,"item_file_price":{"attribute_name":"Billing file","attribute_type":"file","attribute_value_mlt":[{"url":{"url":"https://ipsj.ixsq.nii.ac.jp/record/198163/files/IPSJ-HPC19170026.pdf","label":"IPSJ-HPC19170026.pdf"},"date":[{"dateType":"Available","dateValue":"2021-07-17"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-HPC19170026.pdf","filesize":[{"value":"911.4 kB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"660","billingrole":"5"},{"tax":["include_tax"],"price":"330","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"14"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"3aaeae7d-2595-4fd1-8f50-12c71fc65869","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2019 by the Information Processing Society of Japan"}]},"item_4_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"李, 珍泌"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"渡部, 裕"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"佐藤, 三久"}],"nameIdentifiers":[{}]}]},"item_4_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Jinpil, Lee","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Yutaka, Watanabe","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Mitsuhisa, Sato","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_4_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AN10463942","subitem_source_identifier_type":"NCID"}]},"item_4_textarea_12":{"attribute_name":"Notice","attribute_value_mlt":[{"subitem_textarea_value":"SIG Technical Reports are nonrefereed and hence may later appear in any journals, conferences, symposia, etc."}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_18gh","resourcetype":"technical report"}]},"item_4_source_id_11":{"attribute_name":"ISSN","attribute_value_mlt":[{"subitem_source_identifier":"2188-8841","subitem_source_identifier_type":"ISSN"}]},"item_4_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"従来の数値計算を行う HPC アプリケーションや近年注目を集めているディープラーニングの分野では独立した小さい計算カーネルを高いスループットで並列処理する技術が活発に研究されている.BLAS カーネルの並列処理を簡単に記述するため,複数の計算カーネルをまとめて一つの API で処理する Batched Kernel API が提案されている.GPU などのメニーコアアーキテクチャは高い電力効率を達成できるが,Batched Kernel API を使うには手動のコード変換が必要である.本研究では OpenMP のタスクプログラミングモデルで Batched Kernel API を利用するコード変換技術の提案を行う.ユーザは数値計算のカーネルを task 指示文で記述する.処理系にはバッチ化できる API が事前に登録されており,そのような計算カーネルが複数並列に実行できるときはバッチ化を行う.NVIDIA GPU 向け cuBLAS を用いてバッチ化を行うプロトタイプ処理系を実装した.DGEMM カーネルを呼び出すタスクを処理系が検知し,Batched DGEMM API に変換する.Blocked Cholesky Decomposition を用いた性能評価では処理系によって複数の DGEMM カーネルがバッチ化されることが確認できた.DGEMM のみの計算性能は行列 4096×4096,小行列 128 のケースで逐次実行の 4 倍に高速化されるが,OpenMP のタスクやバッチの処理のオーバーヘッドのため,全体性能は 36% 向上する.","subitem_description_type":"Other"}]},"item_4_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"8","bibliographic_titles":[{"bibliographic_title":"研究報告ハイパフォーマンスコンピューティング(HPC)"}],"bibliographicPageStart":"1","bibliographicIssueDates":{"bibliographicIssueDate":"2019-07-17","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"26","bibliographicVolumeNumber":"2019-HPC-170"}]},"relation_version_is_last":true,"weko_creator_id":"44499"},"id":198163,"links":{}}