You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This code implements a 1D advection operator inside a multidimensionnal space. It implements a [semi-Lagrangian scheme](https://en.wikipedia.org/wiki/Semi-Lagrangian_scheme) using the [SYCL 2020](https://registry.khronos.org/SYCL/specs/sycl-2020/html/sycl-2020.html) progamming models.
This code implements a 1D advection operator inside a multidimensionnal space. It implements a [semi-Lagrangian scheme](https://en.wikipedia.org/wiki/Semi-Lagrangian_scheme) using the [SYCL 2020](https://registry.khronos.org/SYCL/specs/sycl-2020/html/sycl-2020.html) progamming models.
11
+
12
+
To reproduce the benchmark, follow the [benchmark README.md](benchmark/README.md) instructions.
11
13
12
14
### SYCL Implementations
13
-
The algorithm is implemented in various ways using different SYCL constructs. It requires local memory allocation via the [local accessor](https://registry.khronos.org/SYCL/specs/sycl-2020/html/sycl-2020.html#sec:accessor.local). The implementations are in the `src/core/impl` directory.
15
+
The algorithm is implemented in various ways using different SYCL constructs. It requires local memory allocation via the [local accessor](https://registry.khronos.org/SYCL/specs/sycl-2020/html/sycl-2020.html#sec:accessor.local). The implementations are in the `src/core` directory.
16
+
17
+
- BasicRange (out of place), no hierarchical parallelism involved
18
+
- NDRange (in-place), work-groups and work-items, direct mapping of the problem dimensions
19
+
- AdaptiveWg (in-place or out-of-place), optimized work-group sizes, streaming, optimal local memory usage
14
20
15
21
# Build the project:
16
22
You can use the `compile.sh` script to compile for various hardware and sycl-implementations. For multi-device compilation flows, build the project manually.
@@ -19,13 +25,13 @@ Use the `./compile.sh --help` to see the options.
19
25
Example usage:
20
26
```sh
21
27
#generate the advection executable and advection.ini file
22
-
./compile.sh --hw x86_64 --sycl intel-llvm
28
+
./compile.sh --hw cpu --sycl dpcpp
23
29
24
-
#create build_intel-llvm_a100 folder with benchmarks
0 commit comments