KernelAbstractions.jl VS ROCm

Compare KernelAbstractions.jl vs ROCm and see what are their differences.

ROCm

AMD ROCmâ„¢ Software - GitHub Home [Moved to: https://github.com/ROCm/ROCm] (by RadeonOpenCompute)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
KernelAbstractions.jl ROCm
4 198
331 3,637
3.0% -
8.0 0.0
12 days ago 5 months ago
Julia Python
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

KernelAbstractions.jl

Posts with mentions or reviews of KernelAbstractions.jl. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-12.
  • Why is AMD leaving ML to nVidia?
    9 projects | /r/Amd | 12 Apr 2023
    For myself, I use Julia to write my own software (that is run on AMD supercomputer) on Fedora system, using 6800XT. For my experience, everything worked nicely. To install you need to install rocm-opencl package with dnf, AMD Julia package (AMDGPU.jl), add yourself to video group and you are good to go. Also, Julia's KernelAbstractions.jl is a good to have, when writing portable code.
  • Generic GPU Kernels
    7 projects | news.ycombinator.com | 6 Dec 2021
    >Higher level abstractions

    like these?

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

  • Cuda.jl v3.3: union types, debug info, graph APIs
    8 projects | news.ycombinator.com | 13 Jun 2021
    For kernel programming, https://github.com/JuliaGPU/KernelAbstractions.jl (shortened to KA) is what the JuliaGPU team has been developing as a unified programming interface for GPUs of any flavor. It's not significantly different from the (basically identical) interfaces exposed by CUDA.jl and AMDGPU.jl, so it's easy to transition to. I think the event system in KA is also far superior to CUDA's native synchronization system, since it allows one to easily express graphs of dependencies between kernels and data transfers.

ROCm

Posts with mentions or reviews of ROCm. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-06.
  • AMD May Get Across the CUDA Moat
    8 projects | news.ycombinator.com | 6 Oct 2023
    Yep, did exactly that. IMO he threw a fit, even though AMD was working with him squashing bugs. https://github.com/RadeonOpenCompute/ROCm/issues/2198#issuec...
  • ROCm 5.7.0 Release
    1 project | /r/ROCm | 26 Sep 2023
  • ROCm Is AMD's #1 Priority, Executive Says
    5 projects | news.ycombinator.com | 26 Sep 2023
    Ok, I wonder what's wrong. maybe it's this? https://stackoverflow.com/questions/4959621/error-1001-in-cl...

    Nope. Anything about this on the arch wiki? Nope

    This bug report[2] from 2021? Maybe I need to update my groups.

    [2]: https://github.com/RadeonOpenCompute/ROCm/issues/1411

        $ ls -la /dev/kfd
  • Simplifying GPU Application Development with HMM
    2 projects | news.ycombinator.com | 29 Aug 2023
    HMM is, I believe, a Linux feature.

    AMD added HMM support in ROCm 5.0 according to this: https://github.com/RadeonOpenCompute/ROCm/blob/develop/CHANG...

  • AMD Ryzen APU turned into a 16GB VRAM GPU and it can run Stable Diffusion
    3 projects | news.ycombinator.com | 17 Aug 2023
    Woot AMD now supports APU? I sold my notebook as i hit a wall when trying rocm [1] Is there a list oft Wirkung apu's ?

    [1] https://github.com/RadeonOpenCompute/ROCm/issues/1587

  • Nvidia's CUDA Monopoly
    3 projects | news.ycombinator.com | 7 Aug 2023
    Last I heard he's abandoned working with AMD products.

    https://github.com/RadeonOpenCompute/ROCm/issues/2198#issuec...

  • Nvidia H100 GPUs: Supply and Demand
    2 projects | news.ycombinator.com | 1 Aug 2023
    They're talking about the meltdown he had on stream [1] (in front of the mentioned pirate flag), that ended with him saying he'd stop using AMD hardware [2]. He recanted this two weeks after talking with AMD [3].

    Maybe he'll succeed, but this definitely doesn't scream stability to me. I'd be wary of investing money into his ventures (but then I'm not a VC, so what do I know).

    [1] https://www.youtube.com/watch?v=Mr0rWJhv9jU

    [2] https://github.com/RadeonOpenCompute/ROCm/issues/2198#issuec...

    [3] https://twitter.com/realGeorgeHotz/status/166980346408248934...

  • Open or closed source Nvidia driver?
    1 project | /r/linux | 9 Jul 2023
    As for rocm support on consumer devices, AMD wont even clarify what devices are supported. https://github.com/RadeonOpenCompute/ROCm/pull/1738
  • Why Nvidia Keeps Winning: The Rise of an AI Giant
    3 projects | news.ycombinator.com | 6 Jul 2023
    He flamed out, then is back after Lisa Su called him (lmao)

    https://geohot.github.io/blog/jekyll/update/2023/05/24/the-t...

    https://www.youtube.com/watch?v=Mr0rWJhv9jU

    https://github.com/RadeonOpenCompute/ROCm/issues/2198#issuec...

    https://geohot.github.io/blog/jekyll/update/2023/06/07/a-div...

    On a personal level that youtube doesn't make him come off looking that good... like people are trying to get patches to him and generally soothe him/damage control and he's just being a bit of a manchild. And it sounds like that's the general course of events around a lot of his "efforts".

    On the other hand he's not wrong either, having this private build inside AMD and not even validating official, supported configurations for the officially supported non-private builds they show to the world isn't a good look, and that's just the very start of the problems around ROCm. AMD's OpenCL runtime was never stable or good either and every experience I've heard with it was "we spent so much time fighting AMD-specific runtime bugs and specs jank that what we ended up with was essentially vendor-proprietary anyway".

    On the other other hand, it sounds like AMD know this is a mess and has some big stability/maturity improvements in the pipeline. It seems clear from some of the smoke coming out of the building that they're cooking on more general ROCm support for RDNA cards, and generally working to patch the maturity and stability issues he's talking about. I hate the "wait for drivers/new software release bro it's gonna fix everything" that surrounds AMD products but in this case I'm at least hopeful they seem to understand the problem, even if it's completely absurdly late.

    Some of what he was viewing as "the process happening in secret" was likely people doing rush patches on the latest build to accommodate him, and he comes off as berating them over it. Again, like, that stream just comes off as "mercurial manchild" not coding genius. And everyone knew the driver situation is bad, that's why there's notionally alpha for him to realize here in the first place. He's bumping into moneymakers, and getting mad about it.

  • Disable "SetTensor/CopyTensor" console logging.
    2 projects | /r/ROCm | 6 Jul 2023
    I tried to train another model using InceptionResNetV2 and the same issues happens. Also, this happens even using the model.predict() method if using the GPU. Probably this is an issue related to the AMD Radeon RX 6700 XT or some mine misconfiguration. System Inormation: ArchLinux 6.1.32-1-lts - AMD Radeon RX 6700 XT - gfx1031 Opened issues: - https://github.com/RadeonOpenCompute/ROCm/issues/2250 - https://github.com/ROCmSoftwarePlatform/tensorflow-upstream/issues/2125

What are some alternatives?

When comparing KernelAbstractions.jl and ROCm you can also consider the following projects:

GPUCompiler.jl - Reusable compiler infrastructure for Julia GPU backends.

tensorflow-directml - Fork of TensorFlow accelerated by DirectML

AMDGPU.jl - AMD GPU (ROCm) programming in Julia

Pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration

StaticCompiler.jl - Compiles Julia code to a standalone library (experimental)

rocm-arch - A collection of Arch Linux PKGBUILDS for the ROCm platform

oneAPI.jl - Julia support for the oneAPI programming toolkit.

Agents.jl - Agent-based modeling framework in Julia

SHARK - SHARK - High Performance Machine Learning Distribution

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

llama.cpp - LLM inference in C/C++