KernelAbstractions.jl
Tullio.jl
Our great sponsors
KernelAbstractions.jl | Tullio.jl | |
---|---|---|
4 | 4 | |
331 | 583 | |
3.0% | - | |
8.0 | 5.2 | |
12 days ago | 5 months ago | |
Julia | Julia | |
MIT License | MIT 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.
KernelAbstractions.jl
-
Why is AMD leaving ML to nVidia?
For myself, I use Julia to write my own software (that is run on AMD supercomputer) on Fedora system, using 6800XT. For my experience, everything worked nicely. To install you need to install rocm-opencl package with dnf, AMD Julia package (AMDGPU.jl), add yourself to video group and you are good to go. Also, Julia's KernelAbstractions.jl is a good to have, when writing portable code.
-
Generic GPU Kernels
>Higher level abstractions
like these?
https://github.com/JuliaGPU/KernelAbstractions.jl
-
Cuda.jl v3.3: union types, debug info, graph APIs
For kernel programming, https://github.com/JuliaGPU/KernelAbstractions.jl (shortened to KA) is what the JuliaGPU team has been developing as a unified programming interface for GPUs of any flavor. It's not significantly different from the (basically identical) interfaces exposed by CUDA.jl and AMDGPU.jl, so it's easy to transition to. I think the event system in KA is also far superior to CUDA's native synchronization system, since it allows one to easily express graphs of dependencies between kernels and data transfers.
Tullio.jl
- A basic introduction to NumPy's einsum
- Generic GPU Kernels
-
Julia: Faster than Fortran, cleaner than Numpy
Julia ships with OpenBLAS, in some cases there are pure-Julia "blas-like" routine that can be as fast:
https://github.com/mcabbott/Tullio.jl
What are some alternatives?
GPUCompiler.jl - Reusable compiler infrastructure for Julia GPU backends.
Zygote.jl - 21st century AD
ROCm - AMD ROCm™ Software - GitHub Home [Moved to: https://github.com/ROCm/ROCm]
CUDA.jl - CUDA programming in Julia.
AMDGPU.jl - AMD GPU (ROCm) programming in Julia
ForwardDiff.jl - Forward Mode Automatic Differentiation for Julia
StaticCompiler.jl - Compiles Julia code to a standalone library (experimental)
TensorOperations.jl - Julia package for tensor contractions and related operations
oneAPI.jl - Julia support for the oneAPI programming toolkit.
JuliaInterpreter.jl - Interpreter for Julia code
Agents.jl - Agent-based modeling framework in Julia
futhark - :boom::computer::boom: A data-parallel functional programming language