ROCm
AdaptiveCpp
Our great sponsors
ROCm | AdaptiveCpp | |
---|---|---|
198 | 19 | |
3,637 | 1,040 | |
- | 8.7% | |
0.0 | 9.7 | |
5 months ago | 2 days ago | |
Python | C++ | |
MIT License | BSD 2-clause "Simplified" License |
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.
ROCm
-
AMD May Get Across the CUDA Moat
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
-
ROCm Is AMD's #1 Priority, Executive Says
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
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
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
Last I heard he's abandoned working with AMD products.
https://github.com/RadeonOpenCompute/ROCm/issues/2198#issuec...
-
Nvidia H100 GPUs: Supply and Demand
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?
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
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.
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
AdaptiveCpp
-
What Every Developer Should Know About GPU Computing
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
-
AMD May Get Across the CUDA Moat
Not natively, but AdaptiveCpp (previously hiSycl, then OpenSycl) has a single source single compiler pass, where they basically store LLVM IR as an intermediate representation.
https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/...
Performance penalty was within ew precents, at least according to the paper (figure 9 and 10)
-
Offloading standard C++ PSTL to Intel, NVIDIA and AMD GPUs with AdaptiveCpp
AdaptiveCpp (formerly known as hipSYCL) is an independent, open source, clang-based heterogeneous C++ compiler project. I thought some of you might be interested in knowing that we recently added support to offload standard C++ parallel STL algorithms to GPUs from all major vendors. E.g.:
-
AMD's HIPRT Working Its Way To Blender With ~25% Faster Rendering
In fact SYCL was initially called hipSYCL because it is based on AMD's ROCm/HIP. AMD had hipSYCL code running on the Frontier supercomputer four years ago at least and continues to support it.
-
hipSYCL can now generate a binary that runs on any Intel/NVIDIA/AMD GPU - in a single compiler pass. It is now the first single-pass SYCL compiler, and the first with unified code representation across backends.
Apple Silicon support through Metal is something that is actively discussed in hipSYCL. See https://github.com/illuhad/hipSYCL/issues/864 https://github.com/illuhad/hipSYCL/issues/460 (loooong discussion)
-
Bringing Nvidia® and AMD support to oneAPI
But really, the DPC++ part of oneAPI (which is many APIs) is just SYCL + extensions, and there are several other SYCL implementations which have already featured CUDA and Hip (AMD) support for a long time. The most popular and widely-used is hipSYCL, which we've been using in an HPC context on NV hardware for over 4 years now.
-
Intel oneAPI 2023 Released - AMD & NVIDIA Plugins Available
Unfortunately, the AMD and Nvidia plugins are proprietary. AMD users are probably better served with hipSYCL, if they somehow find an application using SYCL...
-
There is framework for everything.
Also, you might want to take a look at an implementation like hipSYCL :)
-
The Next Platform: "Intel Takes The SYCL To Nvidia's CUDA With Migration Tool"
Yup. SYCL is the future: https://github.com/illuhad/hipSYCL
-
Phoronix: "Intel's Vulkan Linux Driver Adds Experimental Mesh Shader Support For DG2/Alchemist"
ROCm is completely independent from these. It's a compute stack containing an OpenCL implementation for Radeon GPUs, plus a CUDA-like language called HIP which can be compiled to either device code for Radeon GPUs or to PTX to work with Nvidia GPUs. However, some researchers also created hipSYCL that allows SYCL to run atop HIP; you can think of it like DXVK - the program contains the DirectX/SYCL API, and DXVK/hipSYCL converts it to Vulkan/HIP (with one difference - DXVK does the conversion at runtime, while hipSYCL does it at compile time).
What are some alternatives?
tensorflow-directml - Fork of TensorFlow accelerated by DirectML
HIP-CPU - An implementation of HIP that works on CPUs, across OSes.
Pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration
triSYCL - Generic system-wide modern C++ for heterogeneous platforms with SYCL from Khronos Group
rocm-arch - A collection of Arch Linux PKGBUILDS for the ROCm platform
HIP - HIP: C++ Heterogeneous-Compute Interface for Portability
oneAPI.jl - Julia support for the oneAPI programming toolkit.
cuda-api-wrappers - Thin C++-flavored header-only wrappers for core CUDA APIs: Runtime, Driver, NVRTC, NVTX.
SHARK - SHARK - High Performance Machine Learning Distribution
cuda_memtest - Fork of CUDA GPU memtest :eyeglasses:
llama.cpp - LLM inference in C/C++
gpuowl - GPU Mersenne primality test.