{"created":"2025-01-18T22:50:01.682546+00:00","updated":"2025-01-22T23:37:41.620499+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00016878","sets":["934:935:973:976"]},"path":["976"],"owner":"1","recid":"16878","title":["並列KLIC処理系上での配列演算の最適化"],"pubdate":{"attribute_name":"公開日","attribute_value":"2001-03-15"},"_buckets":{"deposit":"570a23f6-e655-4b2f-a526-12460c6de5f1"},"_deposit":{"id":"16878","pid":{"type":"depid","value":"16878","revision_id":0},"owners":[1],"status":"published","created_by":1},"item_title":"並列KLIC処理系上での配列演算の最適化","author_link":["0","0"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"並列KLIC処理系上での配列演算の最適化"},{"subitem_title":"Optimizing Array Processing of Parallel KLIC","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"通常論文","subitem_subject_scheme":"Other"}]},"item_type_id":"3","publish_date":"2001-03-15","item_3_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"早稲田大学大学院理工学研究科"},{"subitem_text_value":"早稲田大学大学院理工学研究科"},{"subitem_text_value":"早稲田大学理工学部"}]},"item_3_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"Graduate School of Science and Engineering, Waseda University","subitem_text_language":"en"},{"subitem_text_value":"Graduate School of Science and Engineering, Waseda University","subitem_text_language":"en"},{"subitem_text_value":"School of Science and Engineering, Waseda University","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/16878/files/IPSJ-TPRO4203002.pdf"},"date":[{"dateType":"Available","dateValue":"2003-03-15"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-TPRO4203002.pdf","filesize":[{"value":"224.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":"15"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"e3a21a13-dff5-499b-adc6-c53393ba0096","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2001 by the Information Processing Society of Japan"}]},"item_3_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"坂本, 幸司"},{"creatorName":"松宮, 志麻"},{"creatorName":"上田, 和紀"}],"nameIdentifiers":[{}]}]},"item_3_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Koji, Sakamoto","creatorNameLang":"en"},{"creatorName":"Shima, Matsumiya","creatorNameLang":"en"},{"creatorName":"Kazunori, Ueda","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_3_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AA11464814","subitem_source_identifier_type":"NCID"}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_6501","resourcetype":"journal article"}]},"item_3_source_id_11":{"attribute_name":"ISSN","attribute_value_mlt":[{"subitem_source_identifier":"1882-7802","subitem_source_identifier_type":"ISSN"}]},"item_3_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"本研究の目標は,並行論理型言語KL1のUNIX上の処理系KLIC上で,単一代入変数の特徴を生かしたまま効率の良い並列配列計算を実現することである.KL1の変数の特性を実現するために,KLICでは様々な工夫がなされており,配列はマルチバージョンベクタとして実装されている.この配列は任意のデータを要素として保持できるが,その代償として数値演算向きの最適化は十分なされていない.浮動小数点数がジェネリック・オブジェクトであるため,時間的・空間的に非効率である.特に共有メモリ型並列計算機(SMP)上の数値並列処理を考えると,KLICのベクタはSMP上で配列の共有がなされていない.そのためノード間で配列の大きさに比例する量の通信が発生して並列効果があまり望めない状態であった.そこで本研究では,破壊的代入,タグ判別の省略などで高速に読み書きできる数値演算用の配列をジェネリック・オブジェクトとして実装した.制約ベースの静的解析系による変数のモード/型/参照数情報と具体化状態に関する性質を併用して,プログラム中のベクタを数値演算用配列に安全に置き換えることにより効率改善を行った.また,新たに多次元配列を導入することで数値演算プログラムのより自然な記述が可能となった.これらの配列は,本体をSMPの共有メモリ上に配置することで,配列に対する並列アクセスの安全性をプログラムレベルで明示したまま高度な並列化が実現できた.さらに,末尾呼び出しループに対して最適化の技法を併用することでさらに5?8倍の性能向上を実現でき,手続き型プログラムに近い目的コードの生成を可能とした.","subitem_description_type":"Other"}]},"item_3_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"13","bibliographic_titles":[{"bibliographic_title":"情報処理学会論文誌プログラミング(PRO)"}],"bibliographicPageStart":"1","bibliographicIssueDates":{"bibliographicIssueDate":"2001-03-15","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"SIG03(PRO10)","bibliographicVolumeNumber":"42"}]},"relation_version_is_last":true,"weko_creator_id":"1"},"id":16878,"links":{}}