alpaka
ginkgo
alpaka | ginkgo | |
---|---|---|
1 | 2 | |
325 | 373 | |
2.5% | 1.3% | |
9.2 | 9.8 | |
3 days ago | 7 days ago | |
C++ | C++ | |
Mozilla Public License 2.0 | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
alpaka
-
Cross Platform GPU-Capable Framework?
Note that Kokkos uses CUDA, OpenMP and also SYCL in order to have a wide range of targets. I'd also suggest taking a look at Alpaka https://github.com/alpaka-group/alpaka which is similar in some ways.
ginkgo
- AMD HIP + Cuda in same program
-
Incorporating abidiff into CI?
I had exactly the same thought after watching the video (though I wanted to do this for a while anyways) and did exactly that :) I found it interesting to see how different changes impact the ABI of our library, even though we don't promise ABI compatibility or anything. We add the head of the diff part to a PR comment, and store everything else as a build artifact. See the corresponding PR here: https://github.com/ginkgo-project/ginkgo/pull/922
What are some alternatives?
clspv - Clspv is a compiler for OpenCL C to Vulkan compute shaders
HIP - HIP: C++ Heterogeneous-Compute Interface for Portability
GLSL - GLSL Shading Language Issue Tracker
arbor - The Arbor multi-compartment neural network simulation library.
kompute - General purpose GPU compute framework built on Vulkan to support 1000s of cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled, asynchronous and optimized for advanced GPU data processing usecases. Backed by the Linux Foundation.
MatX - An efficient C++17 GPU numerical computing library with Python-like syntax
OpenCLOn12 - The OpenCL-on-D3D12 mapping layer
stdgpu - stdgpu: Efficient STL-like Data Structures on the GPU
clvk - Implementation of OpenCL 3.0 on Vulkan
AdaptiveCpp - Implementation of SYCL and C++ standard parallelism for CPUs and GPUs from all vendors: The independent, community-driven compiler for C++-based heterogeneous programming models. Lets applications adapt themselves to all the hardware in the system - even at runtime!
ParallelReductionsBenchmark - Thrust, CUB, TBB, AVX2, CUDA, OpenCL, OpenMP, SyCL - all it takes to sum a lot of numbers fast!
Halide - a language for fast, portable data-parallel computation