@techreport{oai:ipsj.ixsq.nii.ac.jp:00081847, author = {坂本, 龍一 and 望月, 秋人 and 小林, 弘明 and 高橋, 昭宏 and 佐藤, 未来子 and 天野, 英晴 and 中村, 宏 and 並木, 美太郎 and Ryuichi, Sakamoto and Akito, Motiduki and Hiroaki, Kobayashi and Akihiro, Takahashi and Mikiko, Sato and Hideharu, Amano and Hiroshi, Nakamura and Mitaro, Namiki}, issue = {2}, month = {Apr}, note = {計算機システムにおける性能向上の一つの方法として,アクセラレータを搭載し,高性能化を実現することは重要である.筆者らの研究においては,Cube-1 と呼ぶホスト CPU(Geysre-Cube) と複数のアクセラレータ (CMA-Cube) から構成されるシステムを実チップとして実装し,高性能かつ省電力な計算機の構築を行っている.しかし,CMA-Cube アクセラレータのプログラミングでは,アクセラレータ間との同期やデータ転送,入出力と全体の制御を行う Geyser-Cube ホスト CPU との連携など,煩雑な制御を効率よく行う必要がある.本研究では,CMA-Cube アクセラレータの実行制御として OpenCL を用い,ユーザプログラムから簡便な実行環境を提供する.OpenCL を CMA 向けに実現し,OpenCL の API の枠組みの中で CMA をユーザプログラムに提供する.同期のタイミングなどを OpenCL に隠蔽し,低レベルの煩雑な制御をプログラマが書かなくて良いシステムとした.同時に,CMA 用 OpenCL を実現するために,組込み OS に CMA の資源管理機構を導入し,複数のアクセラレータで同期を取りながら計算を実行するためのスケジューラを実現した.この結果,CMA 資源管理機構の実装を行い,3% 程度の実行時間のオーバヘッドのみで CMA-Cube を効率良く実行できる枠組みを提供できた., It is important to achieve high performance using accelerators in a computer system. In this study, Cube-1 processor is designed and implemented to realize a high-performance and low-power computer system, which consist of a CPU (Geyser-Cube) and three accelerators (CMA-Cubes). The programming for a CMA-Cube accelerator needs to perform complicated controls efficiently, that are the synchronization between accelerators, the data transfer to an accelerator, and the cooperation with the host CPU Geyser-Cube which performs input /output and control the whole system. This paper describes execution environment in which OpenCL is used to control the CMA-Cube accelerator. OpenCL is implemented for CMA-Cube and the framework of OpenCL API provides CMA-Cube to a user program. Since timing control of synchronization is covered with OpenCL, the programmer does not need to write the execution control at a low level. Furthermore, in order to realize OpenCL for CMA-Cube, the resource management mechanism of CMA-Cube is added to the embedded OS and the task scheduler is realized in order to calculate taking the synchronization between accelerators. The framework for efficiently executing CMA-Cube has been provided only by the increase in about 3% of execution time.}, title = {組込み向けメニーコアアクセラレータ用OpenCLの設計と組込みOSの実装}, year = {2012} }