2019 Fiscal Year Annual Research Report
Optimization Techniques and Language Abstractions for GPGPU in Ruby
Project/Area Number |
18J14726
|
Research Institution | Tokyo Institute of Technology |
Principal Investigator |
SPRINGER MATTHIAS 東京工業大学, 大学院情報理工学研究科, 特別研究員(DC2)
|
Project Period (FY) |
2018-04-25 – 2020-03-31
|
Keywords | OOP / GPUs / Dynamic Mem. Allocation / Data Layout / SOA / Defragmentation |
Outline of Annual Research Achievements |
Our research was centered around bringing fast object-oriented programming (OOP) to GPUs. We improved our previously developed CUDA framework "DynaSOAr". One of DynaSOAr's main components is a dynamic memory manager for object-oriented Single-Method Multiple-Objects (SMMO) applications.
The main improvement to DynaSOAr was "CompactGpu", a memory defragmentation system. CompactGpu can improve the performance of memory-bound GPU applications by storing allocations in a denser format. CompactGpu physically rearranges objects in memory, so that they are stored in few, compact blocks of memory. With dynamic memory allocation, such fragmentation is often caused by unfavorable allocate-deallocate pattern.
Memory defragmentation proved to be particularly useful for two kinds of applications: (1) Applications that use only a small amount of memory and fit largely into the L1/L2 cache if stored densely. (2) Applications that already benefit from a Structure of Array (SOA) memory layout get even faster, because vector load/stores are more efficient if data is stored in a compact form. Our work, published at ISMM 2019, achieved a speedup of up to 16% in our benchmark applications.
|
Research Progress Status |
令和元年度が最終年度であるため、記入しない。
|
Strategy for Future Research Activity |
令和元年度が最終年度であるため、記入しない。
|
Remarks |
The latest research artifacts are publicly available on GitHub.
|