SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Gpgpu Open-Source 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.
-
john
John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs
-
FluidX3D
The fastest and most memory efficient lattice Boltzmann CFD software, running on all GPUs via OpenCL.
-
ComputeSharp
A .NET library to run C# code in parallel on the GPU through DX12, D2D1, and dynamically generated HLSL compute and pixel shaders, with the goal of making GPU computing easy to use for all .NET developers! 🚀
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
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.
-
Arraymancer
A fast, ergonomic and portable tensor library in Nim with a deep learning focus for CPU, GPU and embedded devices via OpenMP, Cuda and OpenCL backends
-
gpu-io
A GPU-accelerated computing library for running physics simulations and other GPGPU computations in a web browser.
-
TornadoVM
TornadoVM: A practical and efficient heterogeneous programming framework for managed languages
-
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!
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: Hacking WiFi 101: basic concepts, terminology, and a real-life example | dev.to | 2024-04-03Hashcat Cracking WPA/WPA2 Spacehuhn's Deauther
You might already be familiar, but a GPU.js backend can provide some speedups via good old WebGL -- no need for WebGPU just yet!
[0]: https://github.com/gpujs/gpu.js/
John The Ripper
Loads of people have stated why easy GPU interfaces are difficult to create, but we solve many difficult things all the time.
Ultimately I think CPUs are just satisfactory for the vast vast majority of workloads. Servers rarely come with any GPUs to speak of. The ecosystem around GPUs is unattractive. CPUs have SIMD instructions that can help. There are so many reasons not to use GPUs. By the time anyone seriously considers using GPUs they're, in my imagination, typically seriously starved for performance, and looking to control as much of the execution details as possible. GPU programmers don't want an automagic solution.
So I think the demand for easy GPU interfaces is just very weak, and therefore no effort has taken off. The amount of work needed to make it as easy to use as CPUs is massive, and the only reason anyone would even attempt to take this on is to lock you in to expensive hardware (see CUDA).
For a practical suggestion, have you taken a look at https://arrayfire.com/ ? It can run on both CUDA and OpenCL, and it has C++, Rust and Python bindings.
Project mention: Confused in terms of where to start with framework/technology etc. Need help picking between learning ShaderToy v/s OpenGL v/s WebGL | /r/GraphicsProgramming | 2023-06-20If you specifically want to learn shader programming then https://shadered.org/ is a lot more practical than Shadertoy.
Project mention: ILGPU VS ComputeSharp - a user suggested alternative | libhunt.com/r/ILGPU | 2023-10-27
Project mention: What downsides exist to Futhark? Seems almost too good to be true? | /r/CUDA | 2023-06-29Why Futhark? (futhark-lang.org)
Thanks, @subharmonicon!
While Chapel can run on many different systems, the main goal is making HPC programming much easier. Therefore, we are currently focusing on hardware that you can find in HPC systems (NVIDIA, AMD and Intel). Metal doesn't fall into that category, unfortunately. So far, the name came up infrequently in our discussions IIRC (especially targetting SPIRV), but we haven't heard from any [potential] user who may be interested in it. I would encourage you or anybody else interested in it to create an issue asking for the feature: https://github.com/chapel-lang/chapel/issues/new. Seeing public interest in that direction can change our prioritization.
One thing that I wanted to add that's not in the blogpost is the "cpu-as-device" mode. With that mode, you can use any machine, even one without a GPU, to write applications using Chapel's GPU features. That mode is for those who want to do initial development/debugging on their personal laptops before putting their application on an HPC system. In other words, while you can't use Metal directly, you can still write GPU-enabled applications in your Mac using Chapel, if the end goal is to run it on an HPC system. More details on cpu-as-device: https://chapel-lang.org/docs/main/technotes/gpu.html#cpu-as-...
Project mention: Intel CEO: 'The entire industry is motivated to eliminate the CUDA market' | news.ycombinator.com | 2023-12-14The two I know of are IREE and Kompute[1]. I'm not sure how much momentum the latter has, I don't see it referenced much. There's also a growing body of work that uses Vulkan indirectly through WebGPU. This is currently lagging in performance due to lack of subgroups and cooperative matrix mult, but I see that gap closing. There I think wonnx[2] has the most momentum, but I am aware of other efforts.
[1]: https://kompute.cc/
[2]: https://github.com/webonnx/wonnx
It is a small DSL written using macros at https://github.com/mratsim/Arraymancer/blob/master/src/array....
Nim has pretty great meta-programming capabilities and arraymancer employs some cool features like emitting cuda-kernels on the fly using standard templates depending on backend !
Project mention: An efficient C++17 GPU numerical computing library with Python-like syntax | /r/programming | 2023-10-05
You don't need to use C++ to interface with CUDA or even write it.
A while ago NVIDIA and the GraalVM team demoed grCUDA which makes it easy to share memory with CUDA kernels and invoke them from any managed language that runs on GraalVM (which includes JIT compiled Python). Because it's integrated with the compiler the invocation overhead is low:
https://developer.nvidia.com/blog/grcuda-a-polyglot-language...
And TornadoVM lets you write kernels in JVM langs that are compiled through to CUDA:
https://www.tornadovm.org
There are similar technologies for other languages/runtimes too. So I don't think that will cause NVIDIA to lose ground.
Project mention: Intel Graphics Compute Runtime for OneAPI Level Zero and OpenCL | news.ycombinator.com | 2023-08-02
Project mention: ILGPU VS ComputeSharp - a user suggested alternative | libhunt.com/r/ILGPU | 2023-10-27
Project mention: What Every Developer Should Know About GPU Computing | news.ycombinator.com | 2023-10-21Sapphire Rapids is a CPU.
AMD's primary focus for a GPU software ecosystem these days seems to be implementing CUDA with s/cuda/hip, so AMD directly supports and encourages running GPU software written in CUDA on AMD GPUs.
The only implementation for sycl on AMD GPUs that I can find is a hobby project that apparently is not allowed to use either the 'hip' or 'sycl' names. https://github.com/AdaptiveCpp/AdaptiveCpp
Gpgpu related posts
- DCompute: Native execution of D on GPUs and other Accelerators
- Show HN: Shadeup – A language that makes WebGPU easier
- Metal-flash-attention: Faster alternative to Metal Performance Shaders
- password decryption help
- How to get hash from encrypted .vbox file?
-
ILGPU VS ComputeSharp - a user suggested alternative
2 projects | 27 Oct 2023
- An efficient C++17 GPU numerical computing library with Python-like syntax
-
A note from our sponsor - SaaSHub
www.saashub.com | 26 Apr 2024
Index
What are some of the best open-source Gpgpu projects? This list will help you:
Project | Stars | |
---|---|---|
1 | hashcat | 19,873 |
2 | gpu.js | 14,953 |
3 | john | 9,267 |
4 | ArrayFire | 4,404 |
5 | SHADERed | 4,177 |
6 | FluidX3D | 3,193 |
7 | ComputeSharp | 2,537 |
8 | futhark | 2,291 |
9 | MetalPetal | 1,822 |
10 | chapel | 1,739 |
11 | Emu | 1,590 |
12 | Boost.Compute | 1,497 |
13 | kompute | 1,486 |
14 | Arraymancer | 1,304 |
15 | gpu-io | 1,168 |
16 | MatX | 1,116 |
17 | TornadoVM | 1,105 |
18 | stdgpu | 1,085 |
19 | compute-runtime | 1,066 |
20 | ILGPU | 1,059 |
21 | neanderthal | 1,043 |
22 | AdaptiveCpp | 1,040 |
23 | arrayfire-rust | 804 |
Sponsored