• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to previous page

Optimization Techniques and Language Abstractions for GPGPU in Ruby

Research Project

Project/Area Number 18J14726
Research Category

Grant-in-Aid for JSPS Fellows

Allocation TypeSingle-year Grants
Section国内
Research Field High performance computing
Research InstitutionTokyo Institute of Technology

Principal Investigator

SPRINGER MATTHIAS  東京工業大学, 大学院情報理工学研究科, 特別研究員(DC2)

Project Period (FY) 2018-04-25 – 2020-03-31
Project Status Completed (Fiscal Year 2019)
Budget Amount *help
¥1,500,000 (Direct Cost: ¥1,500,000)
Fiscal Year 2019: ¥700,000 (Direct Cost: ¥700,000)
Fiscal Year 2018: ¥800,000 (Direct Cost: ¥800,000)
KeywordsOOP / GPUs / Dynamic Mem. Allocation / Data Layout / SOA / Defragmentation / Obj.-oriented Program. / SMMO
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

令和元年度が最終年度であるため、記入しない。

Report

(2 results)
  • 2019 Annual Research Report
  • 2018 Annual Research Report
  • Research Products

    (10 results)

All 2019 2018 Other

All Journal Article (4 results) (of which Int'l Joint Research: 4 results,  Peer Reviewed: 4 results,  Open Access: 2 results) Presentation (5 results) Remarks (1 results)

  • [Journal Article] DynaSOAr: A Parallel Memory Allocator for Object-oriented Programming on GPUs with Efficient Memory Access2019

    • Author(s)
      Matthias Springer, Hidehiko Masuhara
    • Journal Title

      Leibniz International Proceedings in Informatics (LIPIcs), European Conference on Object-oriented Programming (ECOOP) 2019

      Volume: 134

    • Related Report
      2019 Annual Research Report
    • Peer Reviewed / Open Access / Int'l Joint Research
  • [Journal Article] Massively parallel GPU memory compaction2019

    • Author(s)
      Matthias Springer, Hidehiko Masuhara
    • Journal Title

      Proceedings of the 2019 ACM SIGPLAN International Symposium on Memory Management

      Volume: - Pages: 14-26

    • DOI

      10.1145/3315573.3329979

    • Related Report
      2019 Annual Research Report
    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] DynaSOAr: A Parallel Memory Allocator for Object-Oriented Programming on GPUs with Efficient Memory Access (Artifact)2019

    • Author(s)
      Matthias Springer, Hidehiko Masuhara
    • Journal Title

      Dagstuhl Artifacts Series

      Volume: 5

    • Related Report
      2019 Annual Research Report
    • Peer Reviewed / Open Access / Int'l Joint Research
  • [Journal Article] Inner array inlining for structure of arrays layout2018

    • Author(s)
      Matthias Springer, Yaozhu Sun, Hidehiko Masuhara
    • Journal Title

      Proceedings of the 5th ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming (ARRAY@PLDI 2018)

      Volume: - Pages: 50-58

    • DOI

      10.1145/3219753.3219760

    • Related Report
      2018 Annual Research Report
    • Peer Reviewed / Int'l Joint Research
  • [Presentation] DynaSOAr: A Parallel Memory Allocator for Object-oriented Programming on GPUs with Efficient Memory Access2019

    • Author(s)
      Matthias Springer
    • Organizer
      European Conference on Object-oriented Programming (ECOOP) 2019
    • Related Report
      2019 Annual Research Report
  • [Presentation] Massively parallel GPU memory compaction2019

    • Author(s)
      Matthias Springer
    • Organizer
      2019 ACM SIGPLAN International Symposium on Memory Management
    • Related Report
      2019 Annual Research Report
  • [Presentation] CompactGpu: Massively Parallel Memory Defragmentation on GPUs2019

    • Author(s)
      Matthias Springer
    • Organizer
      ACM Student Research Competition at PLDI 2019
    • Related Report
      2019 Annual Research Report
  • [Presentation] Inner Array Inlining for Structure of Arrays Layout2018

    • Author(s)
      Matthias Springer
    • Organizer
      5th ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming
    • Related Report
      2018 Annual Research Report
  • [Presentation] SoaAlloc: Accelerating Single-Method Multiple-Objects Applications on GPUs2018

    • Author(s)
      Matthias Springer
    • Organizer
      ACM Student Research Competition at SPLASH 2018
    • Related Report
      2018 Annual Research Report
  • [Remarks] DynaSOAr Project Source Code

    • URL

      https://github.com/prg-titech/dynasoar

    • Related Report
      2019 Annual Research Report

URL: 

Published: 2018-05-01   Modified: 2024-03-26  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi