https://github.com/alpaka-group/alpaka-workshop-slides

Slides for the alpaka Online Tutorial

https://github.com/alpaka-group/alpaka-workshop-slides

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.9%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

Slides for the alpaka Online Tutorial

Basic Info
  • Host: GitHub
  • Owner: alpaka-group
  • License: cc-by-sa-4.0
  • Language: C++
  • Default Branch: oct2024_workshop
  • Size: 59.6 MB
Statistics
  • Stars: 11
  • Watchers: 7
  • Forks: 11
  • Open Issues: 0
  • Releases: 0
Created almost 6 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

Links

The outline of the alpaka and openPMD hands-ons

Section I: Introduction to Alpaka

1. Introduction: What is alpaka, where it is used?

  • Support for heterogeneous architectures (e.g., CPUs, GPUs, FPGAs).
  • Write once, run anywhere—alpaka abstracts hardware specifics for parallel computing.

2. Hands-on 1: Installing alpaka and running an example (LUMI)

  • 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.).

3. Parallel programming concepts and portable parallelization by alpaka

  • Grid Structure and WorkDivision
  • Data Parallelism
  • Indexing

4. Hands-on 2: HelloIndex kernel which prints indexes

Section II: Alpaka Features in Action - 2D Heat Equation

1. Memory management for 1D and 2D data

  • Memory Allocation, Padding and Pitch

2. Filling buffers in parallel

  • Use indexing to match thread to data

3. Hands-on 3: Kernel to fill initial conditions of heat equation

4. Heat Equation

  • Double accelerator-buffers method to solve Heat Equation ## 5. Preparing stencil kernel
  • Difference Equation as a stencil operation

6. Hands-on 4: Heat Equation stencil kernel

7. alpaka programming features and data-structures

  • Accelerator, Device, Queue, Task
  • Buffers and Views: Managing memory across devices
  • alpaka mdspan
  • Setting work division manually

8. Usability and optimization

  • 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

Timing Runs

  • Measure the performance of your kernels and analyze the timing with and without shared memory

Section III: OpenPMD

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.

9. Hands-On 9: OpenPMD Basic Object Model

10. Hands-On 10: Metadata

11. Hands-On 11: OpenPMD Visualisation and Json-Toml

12. Hands-On 12: Streaming IO

13. Hands-On 13: OpenPMD Streaming IO Solution

14. Hands-On 14: OpenPMD Viewer Compression

15. Hands-On 15: Span API

16. Hands-On 16: Span API Solution

17. Hands-On 17: Constant Components Python Example

18. Hands-On 18: Parallel Python Example

19. Hands-On 19: Parallel Python Example Solution

Owner

  • Name: alpaka
  • Login: alpaka-group
  • Kind: organization
  • Location: Dresden, Germany

Abstraction Library for Parallel Kernel Acceleration

GitHub Events

Total
  • Issues event: 5
  • Watch event: 6
  • Issue comment event: 20
  • Push event: 43
  • Pull request review event: 5
  • Pull request event: 89
  • Fork event: 8
Last Year
  • Issues event: 5
  • Watch event: 6
  • Issue comment event: 20
  • Push event: 43
  • Pull request review event: 5
  • Pull request event: 89
  • Fork event: 8

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 7
  • Total pull requests: 102
  • Average time to close issues: about 11 hours
  • Average time to close pull requests: 2 days
  • Total issue authors: 4
  • Total pull request authors: 8
  • Average comments per issue: 2.14
  • Average comments per pull request: 0.28
  • Merged pull requests: 95
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 99
  • Average time to close issues: about 8 hours
  • Average time to close pull requests: about 12 hours
  • Issue authors: 2
  • Pull request authors: 7
  • Average comments per issue: 1.2
  • Average comments per pull request: 0.24
  • Merged pull requests: 93
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mehmetyusufoglu (2)
  • chillenzer (2)
  • KseniaBastrakova (1)
  • franzpoeschel (1)
  • j-stephan (1)
Pull Request Authors
  • mehmetyusufoglu (101)
  • PrometheusPi (10)
  • franzpoeschel (6)
  • ikbuibui (6)
  • chillenzer (4)
  • psychocoderHPC (2)
  • SimeonEhrig (2)
  • j-stephan (1)
Top Labels
Issue Labels
documentation (2) question (1) bug (1)
Pull Request Labels
bug (1) documentation (1)