Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Format tables in README.md #1543

Merged
merged 1 commit into from
Dec 17, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
52 changes: 26 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,39 +49,39 @@ The [source code documentation](https://alpaka-group.github.io/alpaka/) is gener
Accelerator Back-ends
---------------------

|Accelerator Back-end|Lib/API|Devices|Execution strategy grid-blocks|Execution strategy block-threads|
|---|---|---|---|---|
|Serial|n/a|Host CPU (single core)|sequential|sequential (only 1 thread per block)|
|OpenMP 2.0+ blocks|OpenMP 2.0+|Host CPU (multi core)|parallel (preemptive multitasking)|sequential (only 1 thread per block)|
|OpenMP 2.0+ threads|OpenMP 2.0+|Host CPU (multi core)|sequential|parallel (preemptive multitasking)|
|OpenMP 5.0+ |OpenMP 5.0+|Host CPU (multi core)|parallel (undefined)|parallel (preemptive multitasking)|
| ||GPU|parallel (undefined)|parallel (lock-step within warps)|
|OpenACC (experimental)|OpenACC 2.0+|Host CPU (multi core)|parallel (undefined)|parallel (preemptive multitasking)|
|||GPU|parallel (undefined)|parallel (lock-step within warps)|
| std::thread | std::thread |Host CPU (multi core)|sequential|parallel (preemptive multitasking)|
| Boost.Fiber | boost::fibers::fiber |Host CPU (single core)|sequential|parallel (cooperative multitasking)|
|TBB|TBB 2.2+|Host CPU (multi core)|parallel (preemptive multitasking)|sequential (only 1 thread per block)|
|CUDA|CUDA 9.0+|NVIDIA GPUs|parallel (undefined)|parallel (lock-step within warps)|
|HIP(clang)|[HIP 4.0+](https://github.com/ROCm-Developer-Tools/HIP)|AMD GPUs |parallel (undefined)|parallel (lock-step within warps)|
| Accelerator Back-end | Lib/API | Devices | Execution strategy grid-blocks | Execution strategy block-threads |
|------------------------|---------------------------------------------------------|------------------------|------------------------------------|--------------------------------------|
| Serial | n/a | Host CPU (single core) | sequential | sequential (only 1 thread per block) |
| OpenMP 2.0+ blocks | OpenMP 2.0+ | Host CPU (multi core) | parallel (preemptive multitasking) | sequential (only 1 thread per block) |
| OpenMP 2.0+ threads | OpenMP 2.0+ | Host CPU (multi core) | sequential | parallel (preemptive multitasking) |
| OpenMP 5.0+ | OpenMP 5.0+ | Host CPU (multi core) | parallel (undefined) | parallel (preemptive multitasking) |
| | | GPU | parallel (undefined) | parallel (lock-step within warps) |
| OpenACC (experimental) | OpenACC 2.0+ | Host CPU (multi core) | parallel (undefined) | parallel (preemptive multitasking) |
| | | GPU | parallel (undefined) | parallel (lock-step within warps) |
| std::thread | std::thread | Host CPU (multi core) | sequential | parallel (preemptive multitasking) |
| Boost.Fiber | boost::fibers::fiber | Host CPU (single core) | sequential | parallel (cooperative multitasking) |
| TBB | TBB 2.2+ | Host CPU (multi core) | parallel (preemptive multitasking) | sequential (only 1 thread per block) |
| CUDA | CUDA 9.0+ | NVIDIA GPUs | parallel (undefined) | parallel (lock-step within warps) |
| HIP(clang) | [HIP 4.0+](https://github.com/ROCm-Developer-Tools/HIP) | AMD GPUs | parallel (undefined) | parallel (lock-step within warps) |


Supported Compilers
-------------------

This library uses C++17 (or newer when available).

|Accelerator Back-end|gcc 7.5 <br/> (Linux)|gcc 8.5 <br/> (Linux)|gcc 9.4 <br/> (Linux)|gcc 10.3 <br/> (Linux)|gcc 11.1 <br/> (Linux)|clang 5-7 <br/> (Linux)|clang 8-9 <br/> (Linux)|clang 10 <br/> (Linux)|clang 11 <br/> (Linux)|clang 12 <br/> (Linux)| clang 13 <br/> (Linux) |Apple LLVM 11.3.1/12.4.0/12.5.1/13.0.0 <br /> (macOS)|MSVC 2019 <br/> (Windows)|
|---|---|---|---|---|---|---|---|---|---|---|------------------------|---|---|
|Serial|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:| :white_check_mark: |:white_check_mark:|:white_check_mark:|
|OpenMP 2.0+ blocks|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:| :white_check_mark: |:x:|:white_check_mark:|
|OpenMP 2.0+ threads|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:| :white_check_mark: |:x:|:white_check_mark:|
|OpenMP 5.0 (CPU)|:x:|:x:|:x:|:x:|:x:|:x:|:x:|:x:|:white_check_mark:|:white_check_mark:| - |:x:|:x:|
| std::thread |:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:| :white_check_mark: |:white_check_mark:|:white_check_mark:|
| Boost.Fiber |:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:| :white_check_mark: |:x:|:white_check_mark:|
|TBB|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:| :white_check_mark: |:white_check_mark:|:x:|
|CUDA (nvcc)|:white_check_mark: <br/> (CUDA 11.0-11.5) |:white_check_mark: <br/> (CUDA 11.0-11.5) |:white_check_mark: <br/> (CUDA 11.0-11.5)|:white_check_mark: <br/> (CUDA 11.5)|:x:|:x:|:white_check_mark: <br/> (CUDA 11.0-11.5)|:white_check_mark: <br/> (CUDA 11.1-11.5)|:white_check_mark: <br/> (CUDA 11.4-11.5)|:white_check_mark: <br/> (CUDA 11.4-11.5)| - |:x:|:white_check_mark: <br/> (CUDA 11.2-11.5)|
|CUDA (clang) | - | - | - | - | - | - | - | :x: | :white_check_mark: <br/> (CUDA 9.2-10.1) | :white_check_mark: <br/> (CUDA 10.0-10.2) | - | - | - |
|[HIP-4.0.1](https://alpaka.readthedocs.io/en/latest/install/HIP.html) (clang)|:x:|:x:|:x:|:x:|:x:|:x:|:x:|:x:|:x:|:white_check_mark:| - | - | - |
| Accelerator Back-end | gcc 7.5 <br/> (Linux) | gcc 8.5 <br/> (Linux) | gcc 9.4 <br/> (Linux) | gcc 10.3 <br/> (Linux) | gcc 11.1 <br/> (Linux) | clang 5-7 <br/> (Linux) | clang 8-9 <br/> (Linux) | clang 10 <br/> (Linux) | clang 11 <br/> (Linux) | clang 12 <br/> (Linux) | clang 13 <br/> (Linux) | Apple LLVM 11.3.1/12.4.0/12.5.1/13.0.0 <br /> (macOS) | MSVC 2019 <br/> (Windows) |
|-------------------------------------------------------------------------------|-------------------------------------------|-------------------------------------------|-------------------------------------------|--------------------------------------|------------------------|-------------------------|-------------------------------------------|-------------------------------------------|-------------------------------------------|-------------------------------------------|-------------------------|-------------------------------------------------------|-------------------------------------------|
| Serial | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| OpenMP 2.0+ blocks | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: |
| OpenMP 2.0+ threads | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: |
| OpenMP 5.0 (CPU) | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :white_check_mark: | :white_check_mark: | - | :x: | :x: |
| std::thread | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Boost.Fiber | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: |
| TBB | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: |
| CUDA (nvcc) | :white_check_mark: <br/> (CUDA 11.0-11.5) | :white_check_mark: <br/> (CUDA 11.0-11.5) | :white_check_mark: <br/> (CUDA 11.0-11.5) | :white_check_mark: <br/> (CUDA 11.5) | :x: | :x: | :white_check_mark: <br/> (CUDA 11.0-11.5) | :white_check_mark: <br/> (CUDA 11.1-11.5) | :white_check_mark: <br/> (CUDA 11.4-11.5) | :white_check_mark: <br/> (CUDA 11.4-11.5) | - | :x: | :white_check_mark: <br/> (CUDA 11.2-11.5) |
| CUDA (clang) | - | - | - | - | - | - | - | :x: | :white_check_mark: <br/> (CUDA 9.2-10.1) | :white_check_mark: <br/> (CUDA 10.0-10.2) | - | - | - |
| [HIP-4.0.1](https://alpaka.readthedocs.io/en/latest/install/HIP.html) (clang) | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :white_check_mark: | - | - | - |

Other compilers or combinations marked with :x: in the table above may work but are not tested in CI and are therefore not explicitly supported.

Expand Down