{"updated":"2025-01-20T07:01:21.451147+00:00","links":{},"metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00174139","sets":["1164:2240:8543:8882"]},"path":["8882"],"owner":"11","recid":"174139","title":["タスクの依存性を用いたOpenMPプログラムのNUMA最適化"],"pubdate":{"attribute_name":"公開日","attribute_value":"2016-08-01"},"_buckets":{"deposit":"9b8296ee-5a85-4898-bfd7-ae77a19aff4c"},"_deposit":{"id":"174139","pid":{"type":"depid","value":"174139","revision_id":0},"owners":[11],"status":"published","created_by":11},"item_title":"タスクの依存性を用いたOpenMPプログラムのNUMA最適化","author_link":["356269","356270","356268","356267"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"タスクの依存性を用いたOpenMPプログラムのNUMA最適化"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"並列処理","subitem_subject_scheme":"Other"}]},"item_type_id":"4","publish_date":"2016-08-01","item_4_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"理化学研究所計算科学研究機構"},{"subitem_text_value":"筑波大学"},{"subitem_text_value":"理化学研究所計算科学研究機構"},{"subitem_text_value":"理化学研究所計算科学研究機構/筑波大学"}]},"item_4_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"RIKEN Advanced Institute for Computational Science","subitem_text_language":"en"},{"subitem_text_value":"University of Tsukuba","subitem_text_language":"en"},{"subitem_text_value":"RIKEN Advanced Institute for Computational Science","subitem_text_language":"en"},{"subitem_text_value":"RIKEN Advanced Institute for Computational Science / University of Tsukuba","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/174139/files/IPSJ-HPC16155025.pdf","label":"IPSJ-HPC16155025.pdf"},"date":[{"dateType":"Available","dateValue":"2018-08-01"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-HPC16155025.pdf","filesize":[{"value":"659.2 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":"b6dcc93b-866c-4d1e-b7ae-66d207ff82f3","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2016 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":[{}]},{"creatorNames":[{"creatorName":"佐藤, 三久"}],"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":"現在の多くの高性能計算機システムにおいて,プロセッサのコア数の増加に伴い,NUMA アーキテクチャの普及および複雑化が進んでいる.最新の Intel プロセッサなどは一つのチップの中でも複数の NUMA ノードを持つアーキテクチャが登場し,それを使いこなす並列プログラミング手法が求められている.OpenMP の仕様の発展によりループ文のワークシェアリングなどによるデータ並列化においては NUMA アーキテクチャを使いこなす技法が整備されつつあるが,task 指示文などによるタスク並列化においてはまだメモリ局所化を明示的に意識したプログラミングができない.本研究では OpenMP 4.0 から導入された task 指示文の depend 節を用いて NUMA ノードの判定を行うことでプログラマが NUMA ノードを意識したタスク並列化を記述できるように GCC OpenMP ランタイムの拡張を行った.データ初期化時に NUMA API を用いた明示的なメモリ割り当てを行い,ランタイムによってタスクの実行ノードをメモリ割り当てに合わせることで無用なノード間のメモリ転送を減らし,並列性能を向上させる.KASTORS ベンチマークを用いた性能評価の結果,memory-intensive な Jacobi カーネルの場合,元の GCC コンパイラに比べて 2 倍の性能向上が得られた.","subitem_description_type":"Other"}]},"item_4_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"7","bibliographic_titles":[{"bibliographic_title":"研究報告ハイパフォーマンスコンピューティング(HPC)"}],"bibliographicPageStart":"1","bibliographicIssueDates":{"bibliographicIssueDate":"2016-08-01","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"25","bibliographicVolumeNumber":"2016-HPC-155"}]},"relation_version_is_last":true,"weko_creator_id":"11"},"id":174139,"created":"2025-01-19T00:44:22.265866+00:00"}