Next Decade in Languages: User Code on the GPU

This page summarizes the projects mentioned and recommended in the original post on /r/ProgrammingLanguages

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • raymarcher-benchmarks

    Simple benchmark of serial Rust vs. Vulkan SPIR-V vs. ISPC

  • Something along similar lines but with a much lower barrier to entry that might be worth trying first is doing something similar to ISPC: essentially forcing vectorization of the whole program. This is the exact same thing that running on the GPU does, but on the CPU, so it doesn't require generating a whole new target language and inserting all the Vulcan/CUDA set up code. It's not as fast as the GPU, but it's a lot faster than regular CPU loops: in a benchmark from a couple years ago, I found that single-threaded ISPC beat single-threaded non-ISPC by a factor of about 6.5x, and multithreaded ISPC was only about 3x slower than GPU. For some reason multithreaded ISPC is only slightly more than 2x faster than normal multithreaded, but still a significant improvement.

  • accelerate-llvm

    LLVM backend for Accelerate

  • I’m personally a big fan of http://www.acceleratehs.org / https://github.com/AccelerateHS/accelerate-llvm

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

    WorkOS logo
  • accelerate

    Embedded language for high-performance array computations (by AccelerateHS)

  • I’m personally a big fan of http://www.acceleratehs.org / https://github.com/AccelerateHS/accelerate-llvm

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