Project/Area Number |
13680397
|
Research Category |
Grant-in-Aid for Scientific Research (C)
|
Allocation Type | Single-year Grants |
Section | 一般 |
Research Field |
計算機科学
|
Research Institution | The University of Tokyo |
Principal Investigator |
SATO Hiroyuki The University of Tokyo, Information Technology Center, Associate Professor, 情報基盤センター, 助教授 (20225999)
|
Co-Investigator(Kenkyū-buntansha) |
KURODA Hisayasu The University of Tokyo, Information Technology Center, Research Associate, 情報基盤センター, 助手 (60323507)
KANADA Yasumasa The University of Tokyo, Information Technology Center, Professor, 情報基盤センター, 教授 (90115551)
|
Project Period (FY) |
2001 – 2003
|
Project Status |
Completed (Fiscal Year 2003)
|
Budget Amount *help |
¥3,500,000 (Direct Cost: ¥3,500,000)
Fiscal Year 2003: ¥600,000 (Direct Cost: ¥600,000)
Fiscal Year 2002: ¥1,600,000 (Direct Cost: ¥1,600,000)
Fiscal Year 2001: ¥1,300,000 (Direct Cost: ¥1,300,000)
|
Keywords | Compiler Optimization / Loop Unrolling / Performance Predication / Type System / Verification of Optimization / Optimization Verifying Compiler / Grid / Distributed Environment / 性能の定量的解析 / データフロー方程式 / 型理論 / 形式的記述 / ループアンローミング / イディオム認識 / プログラミング言語環境 / 自動チューニング |
Research Abstract |
This research aims at Adaptive Optimization in compilation. Today, computing platforms are diverging. They include uniprocessor computer of Pentium and RISC' s, small scale SMP, large scale parallel systems, and heterogeneous GRID environment. It is strongly required that we can make programs in uniform programming model, and that compilers can take care of getting. best performance on each platform. As its result, optimizers in a compiler is heavily responsible for good performance. However, in today's complexity of computer/network/software architecture, heavy analysis is necessary to improve performance. In this research, we have studied (1) a performance model that has accuracy in performance analysis. Specifically, we have built unrolling shape, a symbolic and quantitative performance model for loop unrolling, for both in-order and out-of-order processors. This model is proved to be accurate enough to capture CPU behaviors in loop unrolling such as effect of software pipelining and memory latency hiding. (2) adaptive selection of algorithms in accordance with characteristics of numerical data structure This selection is applied in installation time, compile time, and runtime. We observed performance improvement using this adaptive algorithm selection. As two essential requirements to optimizations, we can list that they do not change program semantics and that they truly improve performance. As Optimization Verifying Compiler Project, we are trying to guarantee the two requirements. The fact that we have studied adaptation for improving performance in this research can be a stepping stone to this end.
|