gpu-programming

Top 20 gpu-programming Open-Source Projects

  • taichi

    Productive, portable, and performant GPU programming in Python.

  • Project mention: This Week In Python | dev.to | 2024-03-17

    taichi – Productive, portable, and performant GPU programming in Python

  • codon

    A high-performance, zero-overhead, extensible Python compiler using LLVM

  • Project mention: Should I Open Source my Company? | news.ycombinator.com | 2024-01-22

    https://github.com/exaloop/codon/blob/develop/LICENSE

    Here are some others: https://github.com/search?q=%22Business+Source+License%22+%2...

  • 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.

    InfluxDB logo
  • scalene

    Scalene: a high-performance, high-precision CPU, GPU, and memory profiler for Python with AI-powered optimization proposals

  • Project mention: Memray – A Memory Profiler for Python | news.ycombinator.com | 2024-02-10

    I collected a list of profilers (also memory profilers, also specifically for Python) here: https://github.com/albertz/wiki/blob/master/profiling.md

    Currently I actually need a Python memory profiler, because I want to figure out whether there is some memory leak in my application (PyTorch based training script), and where exactly (in this case, it's not a problem of GPU memory, but CPU memory).

    I tried Scalene (https://github.com/plasma-umass/scalene), which seems to be powerful, but somehow the output it gives me is not useful at all? It doesn't really give me a flamegraph, or a list of the top lines with memory allocations, but instead it gives me a listing of all source code lines, and prints some (very sparse) information on each line. So I need to search through that listing now by hand to find the spots? Maybe I just don't know how to use it properly.

    I tried Memray, but first ran into an issue (https://github.com/bloomberg/memray/issues/212), but after using some workaround, it worked now. I get a flamegraph out, but it doesn't really seem accurate? After a while, there don't seem to be any new memory allocations at all anymore, and I don't quite trust that this is correct.

    There is also Austin (https://github.com/P403n1x87/austin), which I also wanted to try (have not yet).

    Somehow this experience so far was very disappointing.

    (Side node, I debugged some very strange memory allocation behavior of Python before, where all local variables were kept around after an exception, even though I made sure there is no reference anymore to the exception object, to the traceback, etc, and I even called frame.clear() for all frames to really clear it. It turns out, frame.f_locals will create another copy of all the local variables, and the exception object and all the locals in the other frame still stay alive until you access frame.f_locals again. At that point, it will sync the f_locals again with the real (fast) locals, and then it can finally free everything. It was quite annoying to find the source of this problem and to find workarounds for it. https://github.com/python/cpython/issues/113939)

  • Taskflow

    A General-purpose Parallel and Heterogeneous Task Programming System

  • Project mention: Improvements of Clojure in his time | /r/Clojure | 2023-06-16

    For parallel programming nowadays, personally I reach for C++ Taskflow when I really care about performance, or a mix of core.async and running multiple load balanced instances when I’m doing more traditional web backend stuff in Clojure.

  • rust-gpu

    🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧

  • Project mention: Vcc – The Vulkan Clang Compiler | news.ycombinator.com | 2024-01-09

    Sounds cool, but this requires yet another language to learn[0]. As someone who only has limited knowledge in this space, could someone tell me how comparable is the compute functionality of rust-gpu[1], where I can just write rust?

    [0] https://github.com/Hugobros3/shady#language-syntax

    [1] https://github.com/EmbarkStudios/rust-gpu

  • Emu

    The write-once-run-anywhere GPGPU library for Rust

  • geomstats

    Computations and statistics on manifolds with geometric structures.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • cccl

    CUDA C++ Core Libraries

  • Project mention: GDlog: A GPU-Accelerated Deductive Engine | news.ycombinator.com | 2023-12-03

    https://github.com/topics/datalog?l=rust ... Cozo, Crepe

    Crepe: https://github.com/ekzhang/crepe :

    > Crepe is a library that allows you to write declarative logic programs in Rust, with a Datalog-like syntax. It provides a procedural macro that generates efficient, safe code and interoperates seamlessly with Rust programs.

    Looks like there's not yet a Python grammar for the treeedb tree-sitter: https://github.com/langston-barrett/treeedb :

    > Generate Soufflé Datalog types, relations, and facts that represent ASTs from a variety of programming languages.

    Looks like roxi supports n3, which adds `=>` "implies" to the Turtle lightweight RDF representation: https://github.com/pbonte/roxi

    FWIW rdflib/owl-rl: https://owl-rl.readthedocs.io/en/latest/owlrl.html :

    > simple forward chaining rules are used to extend (recursively) the incoming graph with all triples that the rule sets permit (ie, the “deductive closure” of the graph is computed).

    ForwardChainingStore and BackwardChainingStore implementations w/ rdflib in Python: https://github.com/RDFLib/FuXi/issues/15

    Fast CUDA hashmaps

    Gdlog is built on CuCollections.

    GPU HashMap libs to benchmark: Warpcore, CuCollections,

    https://github.com/NVIDIA/cuCollections

    https://github.com/NVIDIA/cccl

    https://github.com/sleeepyjack/warpcore

    /? Rocm HashMap

    DeMoriarty/DOKsparse:

  • taichi.js

    Modern GPU Compute and Rendering in Javascript

  • Project mention: Deep Learning in JavaScript | news.ycombinator.com | 2024-03-28

    FWIW also taichi is quite popular in python and seems has some javascript related implementation (I haven't used it though), taichi.js [0]

    [0] https://github.com/AmesingFlank/taichi.js

  • vuh

    Vulkan compute for people

  • ministark

    🏃‍♂️💨 GPU accelerated STARK prover built on @arkworks-rs

  • Gpufit

    GPU-accelerated Levenberg-Marquardt curve fitting in CUDA

  • OpenCL-Wrapper

    OpenCL is the most powerful programming language ever created. Yet the OpenCL C++ bindings are cumbersome and the code overhead prevents many people from getting started. I created this lightweight OpenCL-Wrapper to greatly simplify OpenCL software development with C++ while keeping functionality and performance.

  • Project mention: What 8x AMD Instinct MI200 GPUs can do with a combined 512GB VRAM: Bell 222 Helicopter in FluidX3D CFD - 10 Billion Cells, 75k Time Steps, 71TB vizualized - 6.4 hours compute+rendering with OpenCL | /r/pcmasterrace | 2023-06-24

    In case you go with OpenCL, start here: https://github.com/ProjectPhysX/OpenCL-Wrapper

  • Webgl-Erosion

    Interactive Erosion simulation in Web Browser

  • moonlibs

    Lua libraries for graphics and audio programming

  • VectorVisor

    VectorVisor is a vectorizing binary translator for GPUs, designed to make it easy to run many copies of a single-threaded WebAssembly program in parallel using GPUs

  • Project mention: Parallelizing WebAssembly Execution on GPUs | news.ycombinator.com | 2023-10-06
  • simba-ps

    Fast deterministic all-Python Lennard-Jones particle simulator that utilizes Numba for GPU-accelerated computation.

  • Project mention: Simba: A Python GPU-accelerated particle simulator | news.ycombinator.com | 2023-07-20
  • tensorexperiments

    Boilerplate for GPU-Accelerated TensorFlow and PyTorch code on M1 Macbook

  • Project mention: Show HN: GPU Desktop Calculator | news.ycombinator.com | 2023-12-03
  • ConwaysGameOfLife

    A super fast GPU and more specifically WebGL based version of Conway's game of life. (by RandomGamingDev)

  • Project mention: Random Conway's Game of Life implementation | /r/p5js | 2023-05-11
  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

gpu-programming related posts

  • Taichi: Accessible GPU programming, embedded in Python

    1 project | news.ycombinator.com | 11 Mar 2024
  • Parallelizing WebAssembly Execution on GPUs

    1 project | news.ycombinator.com | 6 Oct 2023
  • VectorVisor --- Accelerate (mostly) unmodified WebAssembly programs using GPUs (Made with Rust)

    1 project | /r/rust | 6 Oct 2023
  • What's the coolest Rust project you've seen that made you go, 'Wow, I didn't know Rust could do that!'?

    5 projects | /r/rust | 3 Jul 2023
  • [rust-gpu] How do I run/build my own shaders locally?

    3 projects | /r/rust | 6 Jun 2023
  • Posh: Type-Safe Graphics Programming in Rust

    1 project | news.ycombinator.com | 6 Jun 2023
  • Introducing posh: Type-Safe Graphics Programming in Rust

    6 projects | /r/rust | 4 Jun 2023
  • A note from our sponsor - SaaSHub
    www.saashub.com | 2 May 2024
    SaaSHub helps you find the best software and product alternatives Learn more →

Index

What are some of the best open-source gpu-programming projects? This list will help you:

Project Stars
1 taichi 24,779
2 codon 13,840
3 scalene 11,174
4 Taskflow 9,552
5 rust-gpu 6,952
6 Emu 1,590
7 geomstats 1,150
8 cccl 771
9 taichi.js 415
10 vuh 340
11 ministark 323
12 Gpufit 300
13 OpenCL-Wrapper 257
14 Webgl-Erosion 215
15 moonlibs 204
16 VectorVisor 137
17 simba-ps 69
18 tensorexperiments 36
19 gpu-desktop-calculator 7
20 ConwaysGameOfLife 0

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com