Array padding in the functional language SAC

被引:0
|
作者
Grelck, C [1 ]
机构
[1] Univ Kiel, Dept Comp Sci, D-24098 Kiel, Germany
关键词
array padding; spatial locality; temporal locality; compiler optimization; functional programming language; SAC;
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
SAC is a functional array processing language that tries to combine generic, high-level program specifications with efficient runtime behavior. Being particularly designed for numerical applications, runtime performance critically depends on the effective utilization of the memory hierarchy. For many programs, however, it can be observed that the achieved performance significantly changes with small variations in the problem size. Array padding is a well-known optimization technique that adjusts the data layout of arrays in order to make better usage of caches. The paper presents art algorithm that derives a customized data layout from an array access pattern and a cache specification. Cache phenomena such as spatial and temporal reuse are taken into account as well as different cache architectures. The effectiveness is demonstrated by investigations on the runtime performance of the PDE1 benchmark on a shared memory multiprocessor.
引用
收藏
页码:2553 / 2559
页数:7
相关论文
共 50 条
  • [1] SAC—A Functional Array Language for Efficient Multi-threaded Execution
    Clemens Grelck
    Sven-Bodo Scholz
    International Journal of Parallel Programming, 2006, 34 : 383 - 427
  • [2] SAC - A functional array language for efficient multi-threaded execution
    Grelck, Clemens
    Scholz, Sven-Bodo
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2006, 34 (04) : 383 - 427
  • [3] Functional array programming in SAC
    Scholz, Sven-Bodo
    CENTRAL EUROPEAN FUNCTIONAL PROGRAMMING SCHOOL, 2006, 4164 : 62 - 99
  • [4] On programming scientific applications in SAC - a functional language extended by a subsystem for high-level array operations
    Scholz, SB
    IMPLEMENTATION OF FUNCTIONAL LANGUAGES, 1997, 1268 : 85 - 104
  • [5] Shared memory multiprocessor support for functional array processing in SAC
    Grelck, C
    JOURNAL OF FUNCTIONAL PROGRAMMING, 2005, 15 : 353 - 401
  • [6] Maximum and sorted cache occupation using array padding
    Herruzo, Ezequiel
    Zapata, Emilio L.
    Plata, Oscar
    IC-SAMOS: 2007 INTERNATIONAL CONFERENCE ON EMBEDDED COMPUTER SYSTEMS: ARCHITECTURES, MODELING AND SIMULATION, PROCEEDINGS, 2007, : 178 - +
  • [7] Efficient Differentiable Programming in a Functional Array-Processing Language
    Shaikhha, Amir
    Fitzgibbon, Andrew
    Vytiniotis, Dimitrios
    Jones, Simon Peyton
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (ICFP):
  • [8] Merging compositions of array skeletons in SAC
    Grelck, Clemens
    Scholz, Sven-Bodo
    PARALLEL COMPUTING, 2006, 32 (7-8) : 507 - 522
  • [9] The Effect of Metatarsal Padding on Pain and Functional Ability in Metatarsalgia
    Mannikko, K.
    Sahlman, J.
    SCANDINAVIAN JOURNAL OF SURGERY, 2017, 106 (04) : 332 - 337
  • [10] Compiling a functional array language with non-semantic memory information
    Munksgaard, Philip
    Oancea, Cosmin
    Henriksen, Troels
    PROCEEDINGS OF THE 2022 34TH SYMPOSIUM ON IMPLEMENTATION AND APPLICATION OF FUNCTIONAL LANGUAGES, IFL 2022, 2022,