-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #11 from CExA-project/refactor_exercises
Refactor exercises
- Loading branch information
Showing
62 changed files
with
1,140 additions
and
676 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
[submodule "exercises/vendor/kokkos"] | ||
path = exercises/vendor/kokkos | ||
url = https://github.com/kokkos/kokkos | ||
branch = master |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# Contributing to the tutorials | ||
|
||
## Add a new exercise | ||
|
||
### Exercise structure | ||
|
||
``` | ||
new_exercise/ | ||
+-- exercise/ | ||
| +-- CMakeLists.txt | ||
| +-- main.cpp | ||
+-- solution/ | ||
| +-- CMakeLists.txt | ||
| +-- main.cpp | ||
+-- CMakeLists.txt | ||
+-- README.md | ||
``` | ||
|
||
### Testing | ||
|
||
Exercises should be tested in the CI. | ||
To do so, edit `exercises/CMakeLists.txt` to append your exercise directory with `add_subdirectory`: | ||
|
||
```cmake | ||
add_subdirectory(my_exercise) | ||
``` | ||
|
||
In your `solution/CMakeLists.txt`, add your solution target as a test. | ||
|
||
```cmake | ||
add_test( | ||
NAME my_exercise | ||
COMMAND my_exercise | ||
) | ||
``` | ||
|
||
The new exercise will be automatically built and tested by the CI. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,43 @@ | ||
# Kokkos-cexa-tutorial | ||
# CExA Kokkos Tutorials | ||
|
||
![CI](https://github.com/CExA-project/cexa-kokkos-tutorials/actions/workflows/courses.yml/badge.svg) | ||
![CI](https://github.com/CExA-project/cexa-kokkos-tutorials/actions/workflows/exercises.yml/badge.svg) | ||
![CI](https://github.com/CExA-project/cexa-kokkos-tutorials/actions/workflows/projects.yml/badge.svg) | ||
|
||
This repository contains tutorials, exercises, and projects to learn Kokkos. | ||
This course is intended for beginners and intermediate users not experts in C++ and GPU programming. | ||
This course is intended for beginners and intermediate users who are not expert in C++ and GPU programming. | ||
This course is part of the [CExA project](https://cexa-project.github.io/). | ||
|
||
<p align="center"> | ||
<img src="./images/kokkos.png" alt="Kokkos" width="100"/> | ||
<img src="./images/cexa_logo.png" alt="CExA" width="100"/> | ||
</p> | ||
|
||
## Courses | ||
## Content | ||
|
||
- [Introduction to Kokkos](courses/01_beginners/README.md) | ||
### Courses | ||
|
||
> **Important:** You can get the slides from the [releases](https://github.com/CExA-project/cexa-kokkos-tutorials/releases) page. | ||
- [Course 1: Introduction to Kokkos](courses/01_beginners/README.md) | ||
|
||
## Exercises | ||
> [!NOTE] | ||
> You can get the slides from the [releases](https://github.com/CExA-project/cexa-kokkos-tutorials/releases) page. | ||
- [Exercise 1: Compiling Kokkos](exercises/01_compiling_kokkos/README.md) | ||
- [Exercise 2: First Kokkos Program](exercises/02_first_program/README.md) | ||
- [Exercise 3: Learn how to use and manage basic Kokkos View](exercises/03_basic_view/README.md) | ||
- [Exercise 4: Mirror view and deep copy](exercises/04_deep_copy/README.md) | ||
- [Exercise 5: Parallel Loop](exercises/05_parallel_loop/README.md) | ||
- [Exercise 6: Parallel Reduce](exercises/06_parallel_reduce/README.md) | ||
### Exercises | ||
|
||
## Projects | ||
- [Exercise 1: First Kokkos Program](exercises/02_first_program/README.md) | ||
- [Exercise 2: Learn how to use and manage basic Kokkos View](exercises/03_basic_view/README.md) | ||
- [Exercise 3: Mirror view and deep copy](exercises/04_deep_copy/README.md) | ||
- [Exercise 4: Parallel Loop](exercises/05_parallel_loop/README.md) | ||
- [Exercise 5: Parallel Reduce](exercises/06_parallel_reduce/README.md) | ||
|
||
### Projects | ||
|
||
- [Project 1: Wave Propagation](projects/wave/README.md) | ||
|
||
## Get the repository | ||
|
||
To get the repository, clone it recursively: | ||
|
||
```sh | ||
git clone --recurse-submodules https://github.com/CExA-project/cexa-kokkos-tutorials.git | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.