Generic GPU Kernels

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • CUDA.jl

    CUDA programming in Julia.

    Should have (2017) in the title.

    Indeed cool to program julia directly on the GPU and Julia on GPU and this has further evolved since then, see https://juliagpu.org/

  • SaaSHub

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

    SaaSHub logo
  • Halide

    a language for fast, portable data-parallel computation

    Unfortunately, I don't see a "just a bit of magic here without learning much of anything new" interface coming because it's all about strategizing the movement of data. This is not unique to GPUs. It's a universal problem across computing hardware. It's just enabled to be explicit in OpenCL/CUDA. As compared to most languages where you try to steer things the right way and the CPU does it's best with whatever mess it gets.

    Closest I know of is https://halide-lang.org/ And, that is specialized around images.

  • futhark

    :boom::computer::boom: A data-parallel functional programming language

    I cannot overstate the importance of using a programming language targeting GPUs directly like Futhark (https://github.com/diku-dk/futhark). In this case, it is a functional, declarative language where you can focus on the why, not the how. Just like CPUs are incredibly complex, higher level abstractions are very important.

    If you were a pro GPU programmer and had 10 years, Futhark would be maybe 10x slower. But just like we do not program in assembly when making critically fast software, most non-simple things are easier written in this.

  • KernelAbstractions.jl

    Heterogeneous programming in Julia

    >Higher level abstractions

    like these?

    https://github.com/JuliaGPU/KernelAbstractions.jl

  • Tullio.jl

  • FoldsCUDA.jl

    Data-parallelism on CUDA using Transducers.jl and for loops (FLoops.jl)

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Two-tier programming language

    6 projects | /r/ProgrammingLanguages | 19 Apr 2023
  • Who is researching array languages these days?

    5 projects | /r/Compilers | 15 Oct 2022
  • Chapel 2.2 Release

    1 project | news.ycombinator.com | 18 Oct 2024
  • Ask HN: Best way to learn GPU programming?

    2 projects | news.ycombinator.com | 1 Jan 2024
  • What downsides exist to Futhark? Seems almost too good to be true?

    1 project | /r/CUDA | 29 Jun 2023

Did you konow that Julia is
the 46th most popular programming language
based on number of metions?