SaaSHub helps you find the best software and product alternatives Learn more β
Top 15 Julia GPU Projects
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Oceananigans.jl
π Julia software for fast, friendly, flexible, ocean-flavored fluid dynamics on CPUs and GPUs
-
ParallelStencil.jl
Package for writing high-level code for parallel high-performance stencil computations that can be deployed on both GPUs and CPUs
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
DiffEqGPU.jl
GPU-acceleration routines for DifferentialEquations.jl and the broader SciML scientific machine learning ecosystem
-
FiniteDiff.jl
Fast non-allocating calculations of gradients, Jacobians, and Hessians with sparsity support
-
ImplicitGlobalGrid.jl
Almost trivial distributed parallelization of stencil-based GPU and CPU applications on a regular staggered grid
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
It would also mean learning Julia, but you can write GPU kernels in Julia and then compile for NVidia CUDA, AMD ROCm or IBM oneAPI.
https://juliagpu.org/
I've written CUDA kernels and I knew nothing about it going in.
I think itβs also the design philosophy. JuMP and ForwardDiff are great success stories and are packages very light on dependencies. I like those.
The DiffEq library seems to pull you towards the SciML ecosystem and that might not be agreeable to everyone.
For instance a known Julia project that simulates diff equations seems to have implemented their own solver
https://github.com/CliMA/Oceananigans.jl
Project mention: auto-07p VS BifurcationKit.jl - a user suggested alternative | libhunt.com/r/auto-07p | 2024-02-11A Julia alternative with methods for automatic bifurcation diagrams. I can work for very large systems.
Indeed, and this year we created a system for compiling ODE code not just optimized CUDA kernels but also OneAPI kernels, AMD GPU kernels, and Metal. Peer reviewed version is here (https://www.sciencedirect.com/science/article/abs/pii/S00457...), open access is here (https://arxiv.org/abs/2304.06835), and the open source code is at https://github.com/SciML/DiffEqGPU.jl. The key that the paper describes is that in this case kernel generation is about 20x-100x faster than PyTorch and Jax (see the Jax compilation in multiple ways in this notebook https://colab.research.google.com/drive/1d7G-O5JX31lHbg7jTzz..., extra overhead though from calling Julia from Python but still shows a 10x).
The point really is that while deep learning libraries are amazing, at the end of the day they are DSL and really pull towards one specific way of computing and parallelization. It turns out that way of parallelizing is good for deep learning, but not for all things you may want to accelerate. Sometimes (i.e. cases that aren't dominated by large linear algebra) building problem-specific kernels is a major win, and it's over-extrapolating to see ML frameworks do well with GPUs and think that's the only thing that's required. There are many ways to parallelize a code, ML libraries hardcode a very specific way, and it's good for what they are used for but not every problem that can arise.
Julia GPU related posts
-
Ask HN: Best way to learn GPU programming?
-
2023 was the year that GPUs stood still
-
Julia and Mojo (Modular) Mandelbrot Benchmark
-
how to visulaise motions and vectors in 3 dimensions?
-
GPU vendor-agnostic fluid dynamics solver in Julia
-
Julia lib to get vector paths of font glyphs?
-
Julia and GPU processing, how does it work?
-
A note from our sponsor - SaaSHub
www.saashub.com | 1 Jun 2024
Index
What are some of the best open-source GPU projects in Julia? This list will help you:
Project | Stars | |
---|---|---|
1 | Makie.jl | 2,296 |
2 | CUDA.jl | 1,144 |
3 | Oceananigans.jl | 887 |
4 | TensorFlow.jl | 879 |
5 | Metal.jl | 331 |
6 | ParallelStencil.jl | 288 |
7 | BifurcationKit.jl | 285 |
8 | DiffEqGPU.jl | 270 |
9 | FiniteDiff.jl | 241 |
10 | oneAPI.jl | 177 |
11 | ImplicitGlobalGrid.jl | 153 |
12 | GPUCompiler.jl | 148 |
13 | Vulkan.jl | 106 |
14 | FoldsCUDA.jl | 54 |
15 | BoundaryValueDiffEq.jl | 41 |
Sponsored