{"updated":"2025-01-19T20:35:42.759830+00:00","links":{},"id":203307,"created":"2025-01-19T01:05:44.475553+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00203307","sets":["1164:2036:10071:10144"]},"path":["10144"],"owner":"44499","recid":"203307","title":["OSCARコンパイラのC++プログラム対応の検討"],"pubdate":{"attribute_name":"公開日","attribute_value":"2020-02-20"},"_buckets":{"deposit":"a3d31d85-5016-4468-af20-dd5cf7165bbc"},"_deposit":{"id":"203307","pid":{"type":"depid","value":"203307","revision_id":0},"owners":[44499],"status":"published","created_by":44499},"item_title":"OSCARコンパイラのC++プログラム対応の検討","author_link":["500758","500762","500760","500759","500763","500755","500756","500761","500757"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"OSCARコンパイラのC++プログラム対応の検討"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"コンパイラ","subitem_subject_scheme":"Other"}]},"item_type_id":"4","publish_date":"2020-02-20","item_4_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"早稲田大学"},{"subitem_text_value":"早稲田大学"},{"subitem_text_value":"早稲田大学"},{"subitem_text_value":"早稲田大学"},{"subitem_text_value":"早稲田大学"},{"subitem_text_value":"オスカーテクノロジー株式会社"},{"subitem_text_value":"オスカーテクノロジー株式会社"},{"subitem_text_value":"早稲田大学"},{"subitem_text_value":"早稲田大学"}]},"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/203307/files/IPSJ-SLDM20191024.pdf","label":"IPSJ-SLDM20191024.pdf"},"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-SLDM20191024.pdf","filesize":[{"value":"2.9 MB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"0","billingrole":"10"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_login","version_id":"2c7126ef-7662-449e-b1b4-9ee81e761d93","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2020 by the Institute of Electronics, Information and Communication Engineers This SIG report is only available to those in membership of the SIG."}]},"item_4_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"川角, 冬馬"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Tilman, Priesner"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"野口, 真聖"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"韓, 吉新"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"見神, 広紀"}],"nameIdentifiers":[{}]},{"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":"AA11451459","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-8639","subitem_source_identifier_type":"ISSN"}]},"item_4_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"オブジェクト指向の機能や各種データ構造を提供するクラスライブラリを標準でサポートするコンパイラ言語として C++ が広く用いられており,これまで C により多くのプログラムが記述されてきた分野でも C++ による開発が進められるようになってきている.これら C++ で記述されたプログラムの高速化の手段として,プログラムの並列化は依然として有効である.その一方で,実装の詳細が隠蔽されがちな C++ プログラムでプログラム全域に渡る手動並列化は困難であり,自動並列化に対する期待が高い.しかしながら,仮想関数呼び出しやポインタ変数の過度の使用が C++ プログラム自動並列化に必要なプログラム解析の阻害要因となる.本稿では,OSCAR 自動並列化コンパイラの C++ 対応のための拡張について述べる.C++ 対応の最初のステップとして,C++ フロントエンドの開発及び OSCAR コンパイラの中間表現拡張を行った.さらに,コンパイラの解析器に対して仮想関数呼び出しの解析機能の追加を行った.上記拡張を行った OSCAR コンパイラを,SPECCPU 2006 に含まれる 447.dealII の CG ソルバを基にしたテストプログラムで評価を行ったところ,g++ を用いた逐次実行と比較して 6 コア並列実行で 3.27 倍の速度向上が得られた.","subitem_description_type":"Other"}]},"item_4_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"6","bibliographic_titles":[{"bibliographic_title":"研究報告システムとLSIの設計技術(SLDM)"}],"bibliographicPageStart":"1","bibliographicIssueDates":{"bibliographicIssueDate":"2020-02-20","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"24","bibliographicVolumeNumber":"2020-SLDM-191"}]},"relation_version_is_last":true,"weko_creator_id":"44499"}}