-
Time Table for alpaka and OpenPMD Workshop on 23-25 October 2024
-
Presentations
-
Repository for hands-on exercises and presentations
-
Repositories:
-
alpaka Documentation:
-
OpenPMD Documentation
-
Others
- Support for heterogeneous architectures (e.g., CPUs, GPUs, FPGAs).
- Write once, run anywhere—alpaka abstracts hardware specifics for parallel computing.
- Install alpaka with correct cmake backend options
- Compile and run an alpaka example from the repository.
- Verify it runs on the available hardware (CPU, GPU, etc.).
- Grid Structure and WorkDivision
- Data Parallelism
- Indexing
- Memory Allocation, Padding and Pitch
- Use indexing to match thread to data
- Double accelerator-buffers method to solve Heat Equation
- Difference Equation as a stencil operation
- Accelerator, Device, Queue, Task
- Buffers and Views: Managing memory across devices
- alpaka mdspan
- Setting work division manually
- Hands-on 5: Using alpaka mdspan for easier indexing
- Hands-on 6: Domain Decomposition, chunking or tiling
- Hands-on 7: Using multiple Queues to increase performance. Explore overlap between computation and data transfer
- Hands-on 8: Using Shared Memory for chunksExplore overlap between computation and data transfer
- Measure the performance of your kernels and analyze the timing with and without shared memory
This session will introduce the participants to the scientific metadata format openPMD. The practical sessions and exercises will include the basic modeling of scientific data via the openPMD-api, possibilities for visualizing openPMD data, streaming I/O workflows, data compression, parallel I/O and more.