numba
gtc2017-numba
numba | gtc2017-numba | |
---|---|---|
1 | 1 | |
5 | 493 | |
- | 0.6% | |
0.0 | 0.0 | |
7 days ago | 9 months ago | |
Python | Jupyter Notebook | |
BSD 2-clause "Simplified" 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.
numba
-
Unifying the CUDA Python Ecosystem
that project might be abandoned but this strategy is used in nvidia and nvidia adjacent projects (through llvm):
https://github.com/rapidsai/cudf/blob/branch-0.20/python/cud...
https://github.com/gmarkall/numba/blob/master/numba/cuda/com...
>but we also need high level expressibility that doesn't require writing kernels in C
the above are possible because C is actually just a frontend to PTX
https://docs.nvidia.com/cuda/parallel-thread-execution/index...
fundamentally you are not going to ever be able to have a way to write cuda kernels without thinking about cuda architecture anymore so than you'll ever be able to write async code without thinking about concurrency.
gtc2017-numba
-
Unifying the CUDA Python Ecosystem
here is writing a similar kernel in python with numba: https://github.com/ContinuumIO/gtc2017-numba/blob/master/4%2...
I think the contrast is less about the language, and more about the scope and objective of the project. the blog is describing low-level interfaces in python - probably more comparable is the old CUDAdrv.jl package (now merged into CUDA.jl): https://github.com/JuliaGPU/CUDAdrv.jl/blob/master/examples/...
What are some alternatives?
cunumeric - An Aspiring Drop-In Replacement for NumPy at Scale
amaranth - A modern hardware definition language and toolchain based on Python
CUDA.jl - CUDA programming in Julia.
CudaPy - CudaPy is a runtime library that lets Python programmers access NVIDIA's CUDA parallel computation API.
grcuda - Polyglot CUDA integration for the GraalVM
wgpu-py - Next generation GPU API for Python
copperhead - Data Parallel Python
cudf - cuDF - GPU DataFrame Library
CUDAdrv.jl - A Julia wrapper for the CUDA driver API.