WEKO3
アイテム
boost::protoを用いた融合変換機能付きライブラリの作成
https://ipsj.ixsq.nii.ac.jp/records/96945
https://ipsj.ixsq.nii.ac.jp/records/969450112ff4b-eff1-4811-8b82-2975cbb49ca0
名前 / ファイル | ライセンス | アクション |
---|---|---|
![]() |
Copyright (c) 2013 by the Information Processing Society of Japan
|
|
オープンアクセス |
Item type | Trans(1) | |||||||
---|---|---|---|---|---|---|---|---|
公開日 | 2013-12-20 | |||||||
タイトル | ||||||||
タイトル | boost::protoを用いた融合変換機能付きライブラリの作成 | |||||||
タイトル | ||||||||
言語 | en | |||||||
タイトル | Implementing a Fusion-equipped Library with boost::proto | |||||||
言語 | ||||||||
言語 | jpn | |||||||
キーワード | ||||||||
主題Scheme | Other | |||||||
主題 | [発表概要] | |||||||
資源タイプ | ||||||||
資源タイプ識別子 | http://purl.org/coar/resource_type/c_6501 | |||||||
資源タイプ | journal article | |||||||
著者所属 | ||||||||
高知工科大学情報学群 | ||||||||
著者所属 | ||||||||
東京大学大学院情報理工学系研究科 | ||||||||
著者所属(英) | ||||||||
en | ||||||||
School of Information, Kochi University of Technology | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Graduate School of Information Science and Technology, The University of Tokyo | ||||||||
著者名 |
松崎, 公紀
× 松崎, 公紀
|
|||||||
著者名(英) |
Kiminori, Matsuzaki
× Kiminori, Matsuzaki
|
|||||||
論文抄録 | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | 融合変換は,複数の関数や繰返しを1つにまとめることにより中間データを除去するプログラム変換である.小さな部品を組み合わせるようなプログラミングスタイルにおいて,融合変換を行うことで中間データを除去することにより,プログラムの効率を向上させることができる.C++ 言語においてこの融合変換を実現する手法の1つに,式テンプレートを用いたメタプログラミング手法がある.しかし,従来の式テンプレートを直接記述するメタプログラミングでは,式から抽象構文木を構成する部分と最適化を行う部分が混在してしまうため,プログラムが複雑になってしまう.近年,式テンプレートを用いたプログラムを記述しやくするライブラリとしてboost::protoが作られ,利用できるようになった.boost::protoを用いることで,融合変換などの最適化機能付きライブラリを容易にかつ見通し良く作成できることが期待される.発表者らは,並列計算における計算パターン(並列スケルトン)を提供する並列スケルトンライブラリを作成している.その中で,並列スケルトンの融合変換機能をboost::protoを用いて,より高い拡張性を持つように書き換えたいと考えている.本発表では,融合変換機能を持つライブラリをboost::protoを用いて作成することで得られる利点や問題点などについて報告する. | |||||||
論文抄録(英) | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | Fusion transformation is a program transformation that composes functions or loops into a single one to remove intermediate data. In a programming style in which we compose small program pieces, we can gain the performance of a program with fusion transformation. An approach for implementing fusion transformation in C++ is to use a metaprogramming technique called expression templates. However, if we develop programs directly with expression templates, programs are often complicated due to mixed program pieces for constructing abstract syntax trees and for applying optimization to them. Recently, a template library called boost::proto has been developed for clear implementation of expression templates. We expect that we can develop a fusion-equipped library easily and clearly by using boost::proto. We have been developing a parallel skeleton library that provides computation patterns for parallel programming (called parallel skeletons). We try to rewrite the fusion optimization mechanism in the library using boost::proto so that it has high extendability. In this presentation, we report the advantages and problems in the implementation of a fusion-equipped library with boost::proto. | |||||||
書誌レコードID | ||||||||
収録物識別子タイプ | NCID | |||||||
収録物識別子 | AA11464814 | |||||||
書誌情報 |
情報処理学会論文誌プログラミング(PRO) 巻 6, 号 3, p. 49-49, 発行日 2013-12-20 |
|||||||
ISSN | ||||||||
収録物識別子タイプ | ISSN | |||||||
収録物識別子 | 1882-7802 | |||||||
出版者 | ||||||||
言語 | ja | |||||||
出版者 | 情報処理学会 |