2023
DOI: 10.1002/cpe.7870
|View full text |Cite
|
Sign up to set email alerts
|

A portable C++ library for memory and compute abstraction on multi‐core CPUs and GPUs

Abstract: We present a C++ library for transparent memory and compute abstraction across CPU and GPU architectures. Our library combines generic data structures like vectors, multi‐dimensional arrays, maps, graphs, and sparse grids with basic generic algorithms like arbitrary‐dimensional convolutions, copying, merging, sorting, prefix sum, reductions, neighbor search, and filtering. The memory layout of the data structures is adapted at compile time using C++ tuples with optional memory double‐mapping between host and d… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1

Citation Types

0
1
0

Year Published

2024
2024
2024
2024

Publication Types

Select...
2
1

Relationship

1
2

Authors

Journals

citations
Cited by 3 publications
(1 citation statement)
references
References 14 publications
0
1
0
Order By: Relevance
“…We use the open-source C++ library OpenFPM for parallelizing the simulations [59]. OpenFPM data structures, which are generated at compile time using template meta-programming, hide communication from the application and are portable across CPU and GPU architectures [58].…”
Section: Methodsmentioning
confidence: 99%
“…We use the open-source C++ library OpenFPM for parallelizing the simulations [59]. OpenFPM data structures, which are generated at compile time using template meta-programming, hide communication from the application and are portable across CPU and GPU architectures [58].…”
Section: Methodsmentioning
confidence: 99%