Cache-conscious run-time decomposition of data parallel computations

Hervé Paulino, Nuno Delgado

Research output: Contribution to journalArticlepeer-review

Abstract

Multi-core architectures feature an intricate hierarchy of cache memories, with multiple levels and sizes. To adequately decompose an application according to the traits of a particular memory hierarchy is a cumbersome task that may be rewarded with significant performance gains. The current state-of-the-art in memory hierarchy-aware parallel computing delegates this endeavour on the programmer, demanding from him deep knowledge of both parallel programming and computer architecture. In this paper, we propose the shifting of these memory hierarchy-related concerns to the run-time system, which then takes on the responsibility of distributing the computation’s data across the target memory hierarchy. We evaluate our approach from a performance perspective, comparing it against the common cache-neglectful data decomposition strategy.

Original languageEnglish
Pages (from-to)1-25
Number of pages25
JournalJournal of Supercomputing
DOIs
Publication statusAccepted/In press - 11 May 2016

Keywords

  • Cache optimizations
  • Data locality
  • Data parallelism
  • Parallel computing
  • Run-time support

Fingerprint

Dive into the research topics of 'Cache-conscious run-time decomposition of data parallel computations'. Together they form a unique fingerprint.

Cite this