C++ Gpgpu

Open-source C++ projects categorized as Gpgpu

Top 23 C++ Gpgpu Projects

  • ArrayFire

    ArrayFire: a general purpose GPU library.

    Project mention: Learn WebGPU | news.ycombinator.com | 2023-04-27

    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.

  • SHADERed

    Lightweight, cross-platform & full-featured shader IDE

    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-20

    If you specifically want to learn shader programming then https://shadered.org/ is a lot more practical than Shadertoy.

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • FluidX3D

    The fastest and most memory efficient lattice Boltzmann CFD software, running on all GPUs via OpenCL.

    Project mention: Fast and Memory efficient lattice Boltzmann CFD software, running on all GPUs | news.ycombinator.com | 2023-07-27
  • Boost.Compute

    A C++ GPU Computing Library for OpenCL

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

    Project mention: [P] - VkFFT version 1.3 released - major design and functionality improvements | /r/MachineLearning | 2023-08-03

    Great to see the positive momentum of this framework! Best wishes and upvotes from the Vulkan Kompute team :)

  • MatX

    An efficient C++17 GPU numerical computing library with Python-like syntax

    Project mention: An efficient C++17 GPU numerical computing library with Python-like syntax | /r/programming | 2023-10-05
  • stdgpu

    stdgpu: Efficient STL-like Data Structures on the GPU

  • Onboard AI

    Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.

  • compute-runtime

    Intel® Graphics Compute Runtime for oneAPI Level Zero and OpenCL™ Driver

    Project mention: Intel Graphics Compute Runtime for OneAPI Level Zero and OpenCL | news.ycombinator.com | 2023-08-02
  • 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!

    Project mention: What Every Developer Should Know About GPU Computing | news.ycombinator.com | 2023-10-21

    Sapphire 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

  • vulkan_minimal_compute

    Minimal Example of Using Vulkan for Compute Operations. Only ~400LOC.

    Project mention: Vulkan for Image Processing? Good choice? | /r/vulkan | 2022-12-20
  • VexCL

    VexCL is a C++ vector expression template library for OpenCL/CUDA/OpenMP

  • cuda-api-wrappers

    Thin C++-flavored header-only wrappers for core CUDA APIs: Runtime, Driver, NVRTC, NVTX.

    Project mention: VUDA: A Vulkan Implementation of CUDA | news.ycombinator.com | 2023-07-01

    1. This implements the clunky C-ish API; there's also the Modern-C++ API wrappers, with automatic error checking, RAII resource control etc.; see: https://github.com/eyalroz/cuda-api-wrappers (due disclosure: I'm the author)

    2. Implementing the _runtime_ API is not the right choice; it's important to implement the _driver_ API, otherwise you can't isolate contexts, dynamically add newly-compiled JIT kernels via modules etc.

    3. This is less than 3000 lines of code. Wrapping all of the core CUDA APIs (driver, runtime, NVTX, JIT compilation of CUDA-C++ and of PTX) took me > 14,000 LoC.

  • amgcl

    C++ library for solving large sparse linear systems with algebraic multigrid method

  • vuh

    Vulkan compute for people

  • BabelStream

    STREAM, for lots of devices written in many programming models

  • RayTracing

    Realtime GPU Path tracer based on OpenCL and OpenGL (by AlexanderVeselov)

  • opencl-intercept-layer

    Intercept Layer for Debugging and Analyzing OpenCL Applications

  • gpuowl

    GPU Mersenne primality test.

  • OpenCL-Benchmark

    A small OpenCL benchmark program to measure peak GPU/CPU performance.

    Project mention: I have open-sourced my OpenCL-Benchmark utility | /r/OpenCL | 2023-04-30
  • UE4_GPGPU_flocking

    Doing flocking/Boids in UE4 using GPGPU

  • ParallelReductionsBenchmark

    Thrust, CUB, TBB, AVX2, CUDA, OpenCL, OpenMP, SyCL - all it takes to sum a lot of numbers fast!

  • gpu-kernel-runner

    Runs a single CUDA/OpenCL kernel, taking its source from a file and arguments from the command-line

    Project mention: How Jensen Huang's Nvidia Is Powering the A.I. Revolution | news.ycombinator.com | 2023-11-29

    > but all the alternatives require significant redesign in languages and tools people are unfamiliar with and we can't afford that overhead

    Where I work, we've made it a principle to stay OpenCL-compatible even while going with NVIDIA due to their better-performing GPUs. I even go as far as writing kernels that can be compiled as either CUDA C++ or OpenCL-C, with a bit of duct-tape adapter headers:

    https://github.com/eyalroz/gpu-kernel-runner/blob/main/kerne...

    https://github.com/eyalroz/gpu-kernel-runner/blob/main/kerne...

    of course, if you're working with higher-level frameworks then it's more difficult, and you depend on whether or not they provided different backends. So, no thrust for AMD GPUs, for example, but pytorch and TensorFlow do let you use them.

  • Tephra

    A modern, high-performance C++17 graphics and compute library based on Vulkan

    Project mention: Tephra: A high-level graphics and compute library based on Vulkan | /r/vulkan | 2023-07-24
  • SaaSHub

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

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). The latest post mention was on 2023-11-29.

C++ Gpgpu related posts

Index

What are some of the best open-source Gpgpu projects in C++? This list will help you:

Project Stars
1 ArrayFire 4,272
2 SHADERed 3,986
3 FluidX3D 2,813
4 Boost.Compute 1,462
5 kompute 1,299
6 MatX 1,020
7 stdgpu 1,019
8 compute-runtime 995
9 AdaptiveCpp 881
10 vulkan_minimal_compute 697
11 VexCL 691
12 cuda-api-wrappers 681
13 amgcl 671
14 vuh 331
15 BabelStream 280
16 RayTracing 279
17 opencl-intercept-layer 270
18 gpuowl 89
19 OpenCL-Benchmark 69
20 UE4_GPGPU_flocking 61
21 ParallelReductionsBenchmark 58
22 gpu-kernel-runner 16
23 Tephra 8
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com