Přeskočit na obsah

Repozitář publikační činnosti

    • čeština
    • English
  • čeština 
    • čeština
    • English
  • Přihlásit se
Zobrazit záznam 
  •   Repozitář publikační činnosti UK
  • Fakulty
  • Matematicko-fyzikální fakulta
  • Zobrazit záznam
  • Repozitář publikační činnosti UK
  • Fakulty
  • Matematicko-fyzikální fakulta
  • Zobrazit záznam
JavaScript is disabled for your browser. Some features of this site may not work without it.

Abstractions for C++ code optimizations in parallel high-performance applications

původní článek
Creative Commons License IconCreative Commons BY Icon
vydavatelská verze
  • žádná další verze
Thumbnail
File can be accessed.Získat publikaci
Autor
Klepl, JiříORCiD Profile - 0000-0002-2231-4073WoS Profile - GVS-9445-2022Scopus Profile - 58114352100
Šmelko, AdamORCiD Profile - 0000-0001-8334-2783WoS Profile - ABM-4816-2022Scopus Profile - 57262990200
Rozsypal, Lukáš
Kruliš, MartinORCiD Profile - 0000-0002-0985-8949WoS Profile - D-6454-2017Scopus Profile - 36450838500

Zobrazit další autory

Datum vydání
2024
Publikováno v
Parallel Computing
Ročník / Číslo vydání
121 (September 2024)
ISBN / ISSN
ISSN: 0167-8191
ISBN / ISSN
eISSN: 1872-7336
Metadata
Zobrazit celý záznam
Kolekce
  • Matematicko-fyzikální fakulta

Tato publikace má vydavatelskou verzi s DOI 10.1016/j.parco.2024.103096

Abstrakt
Many computational problems consider memory throughput a performance bottleneck, especially in the domain of parallel computing. Software needs to be attuned to hardware features like cache architectures or concurrent memory banks to reach a decent level of performance efficiency. This can be achieved by selecting the right memory layouts for data structures or changing the order of data structure traversal. In this work, we present an abstraction for traversing a set of regular data structures (e.g., multidimensional arrays) that allows the design of traversal-agnostic algorithms. Such algorithms can easily optimize for memory performance and employ semi-automated parallelization or autotuning without altering their internal code. We also add an abstraction for autotuning that allows defining tuning parameters in one place and removes boilerplate code. The proposed solution was implemented as an extension of the Noarr library that simplifies a layout-agnostic design of regular data structures. It is implemented entirely using C++ template meta-programming without any nonstandard dependencies, so it is fully compatible with existing compilers, including CUDA NVCC or Intel DPC++. We evaluate the performance and expressiveness of our approach on the Polybench-C benchmarks.
Klíčová slova
Autotuning, Code optimization, Parallel programming, Plain C++, Regular data structure, Traversal
Trvalý odkaz
https://hdl.handle.net/20.500.14178/2705
Zobraz publikaci v dalších systémech
WOS:001299241000001
SCOPUS:2-s2.0-85201453256
Licence

Licence pro užití plného textu výsledku: Creative Commons Uveďte původ 4.0 International

Zobrazit podmínky licence

xmlui.dri2xhtml.METS-1.0.item-publication-version-

DSpace software copyright © 2002-2016  DuraSpace
Kontaktujte nás | Vyjádření názoru
Theme by 
Atmire NV
 

 

O repozitáři

O tomto repozitářiAkceptované druhy výsledkůPovinné popisné údajePoučeníCC licence

Procházet

Vše v DSpaceKomunity a kolekcePracovištěDle data publikováníAutořiNázvyKlíčová slovaTato kolekcePracovištěDle data publikováníAutořiNázvyKlíčová slova

DSpace software copyright © 2002-2016  DuraSpace
Kontaktujte nás | Vyjádření názoru
Theme by 
Atmire NV