Exploiting parallelism in memory operations for code optimization

被引:0
|
作者
Paek, Y [1 ]
Choi, J
Joung, J
Lee, J
Kim, S
机构
[1] Seoul Natl Univ, Sch Elect Engn, Seoul 151744, South Korea
[2] Samsung Adv Inst Technol, Yongin 449712, Gyeonggi Do, South Korea
[3] Korea Univ, Dept Elect & Comp Engn, Seoul 136701, South Korea
关键词
D O I
10.1007/11532378_11
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Code size reduction is ever becoming more important for compilers targeting embedded processors because these processors are often severely limited by storage constraints and thus the reduced code size can have a positively significant impact on their performance. Various code size reduction techniques have different motivations and a variety of application contexts utilizing special hardware features of their target processors. In this work, we propose a novel technique that fully utilizes a set of hardware instructions, called the multiple load/store (MLS) or parallel load/store (PLS), that are specially featured for reducing code size by minimizing the number of memory operations in the code. To take advantage of this feature, many microprocessors support the MLS instructions, whereas no existing compilers fully exploit the potential benefit of these instructions but only use them for some limited cases. This is mainly because optimizing memory accesses with MLS instructions for general cases is an NP-hard problem that necessitates complex assignments of registers and memory offsets for variables in a stack frame. Our technique uses a couple of heuristics to efficiently handle this problem in a polynomial time bound.
引用
收藏
页码:132 / 148
页数:17
相关论文
共 50 条
  • [21] A GPGPU Compiler for Memory Optimization and Parallelism Management
    Yang, Yi
    Xiang, Ping
    Kong, Jingfei
    Zhou, Huiyang
    ACM SIGPLAN NOTICES, 2010, 45 (06) : 86 - 97
  • [22] DSP code optimization methods utilizing addressing operations at the codes without memory accesses
    Sugino, N
    Miyazaki, H
    Nishihara, A
    IEICE TRANSACTIONS ON FUNDAMENTALS OF ELECTRONICS COMMUNICATIONS AND COMPUTER SCIENCES, 1997, E80A (12) : 2562 - 2571
  • [23] Exploiting CoDe Modeling for the Optimization of OLAP Queries
    Pisano, Valentina Indelli
    Risi, Michele
    Tortora, Genoveffa
    2016 ELEVENTH INTERNATIONAL CONFERENCE ON DIGITAL INFORMATION MANAGEMENT (ICDIM 2016), 2016, : 62 - 67
  • [24] Exploiting mixed-mode parallelism for matrix operations on the HERA architecture through reconfiguration
    Wang, X.
    Ziavras, S. G.
    IEE PROCEEDINGS-COMPUTERS AND DIGITAL TECHNIQUES, 2006, 153 (04): : 249 - 260
  • [25] Exploiting Compute Caches for Memory Bound Vector Operations
    Vieira, Joao
    Ienne, Paolo
    Roma, Nuno
    Falcao, Gabriel
    Tomas, Pedro
    2018 30TH INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD 2018), 2018, : 197 - 200
  • [26] Exploiting wavefront parallelism on large-scale shared-memory multiprocessors
    Manjikian, N
    Abdelrahman, TS
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2001, 12 (03) : 259 - 271
  • [27] Cuckoo Trie: Exploiting Memory-Level Parallelism for Efficient DRAM Indexing
    Zeitak, Adar
    Morrison, Adam
    PROCEEDINGS OF THE 28TH ACM SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES, SOSP 2021, 2021, : 147 - 162
  • [28] The impact of exploiting instruction-level parallelism on shared-memory multiprocessors
    Pai, VS
    Ranganathan, P
    Abdel-Shafi, H
    Adve, S
    IEEE TRANSACTIONS ON COMPUTERS, 1999, 48 (02) : 218 - 226
  • [29] CLU: A Near-Memory Accelerator Exploiting the Parallelism in Convolutional Neural Networks
    Das, Palash
    Kapoor, Hemangee K.
    ACM JOURNAL ON EMERGING TECHNOLOGIES IN COMPUTING SYSTEMS, 2021, 17 (02)
  • [30] Exploiting Irregular Memory Parallelism in Quasi-Stencils through Nonlinear Transformation
    Escobedo, Juan
    Lin, Mingjie
    2019 27TH IEEE ANNUAL INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES (FCCM), 2019, : 236 - 244