JuliaGPU/CUDA.jl
CUDA programming in Julia.
What it solves
CUDA.jl provides a comprehensive programming interface for using NVIDIA CUDA GPUs within the Julia language, removing the need for users to manually install the CUDA Toolkit and simplifying the GPU-accelerated computing experience.
How it works
It acts as a meta-package that integrates several specialized subpackages:
- CUDACore: Handles the main CUDA API wrappers and provides a compiler that allows developers to write CUDA kernels directly in Julia.
- CUDATools: Provides developer utilities such as a profiler, NVML, and CUPTI.
- Library Wrappers: Includes wrappers for essential NVIDIA libraries like cuBLAS, cuFFT, cuRAND, cuSPARSE, and cuSOLVER, with optional support for cuTENSOR, cuStateVec, cuTensorNet, and CUDNN.
The package automatically manages the CUDA Toolkit versioning, downloading a compatible version based on the NVIDIA driver and hardware available on the system.
Who it’s for
Developers and researchers using Julia who need to leverage NVIDIA GPUs for high-performance computing, custom kernel development, and linear algebra or signal processing tasks.
Highlights
- Julia-native kernels: A compiler that allows writing CUDA kernels in Julia rather than C++.
- Automated toolkit management: Automatically downloads and configures the suitable CUDA Toolkit version.
- user-friendly array abstraction: Simplifies GPU memory and data management.
- Extensive library support: Integrated wrappers for a wide range of NVIDIA's specialized mathematical and system libraries.
Related
- Project
- Project
- Project
- Project
- Project