HIP-CPU
rocBLAS
HIP-CPU | rocBLAS | |
---|---|---|
5 | 6 | |
104 | 317 | |
2.9% | 2.8% | |
7.2 | 9.7 | |
about 1 month ago | 4 days ago | |
C++ | C++ | |
MIT License | GNU General Public License v3.0 or later |
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.
HIP-CPU
- HIP CPU
- [P] Pure C/C++ port of OpenAI's Whisper
-
AMD publishes GPUFORT as Open Source to address CUDA’s dominance
If I'm reading this right, this is Fortran's equivalent of HIP, i.e. a way to (semi-)automatically convert CUDA-based solution to a more backend-independent one so that the same source can be run both on CUDA and ROCm GPUs (and potentially more; e.g. they also have an experimental CPU backend).
-
Test Coverage with CUDA
So, I know that you asked about cuda, but this might actually be possible in hip, and you can convert your code to hip relatively easily. The path would be to use the CPU implementation (https://github.com/ROCm-Developer-Tools/HIP-CPU) and then run your code coverage on that.
rocBLAS
-
Nvidia DGX GH200: The First 100 Terabyte GPU Memory System
The same is also true for https://github.com/ROCmSoftwarePlatform/rocBLAS and https://github.com/ROCmSoftwarePlatform/hipBLASLt although the build stack, distribution— leaves a lot to be desired, and otherwise quite unstable.
-
Whisper.cpp v1.4.0
Full circle eh. I wonder how well it compares to just trying to use the actual Whisper models on a variety of existing Gpu capable bigger frameworks.
I don't know much practically about how hard it would be to take the Whisper PyTorch (1 or 2?) trained models & to make good use of them elsewhere. I expect Whisper.cpp probably better caters to users, is more readily consumable.
Fwiw, Whisper.cpp uses Nvidia's cuBLAS. There does appear to be an AMD rocm port. https://github.com/ROCmSoftwarePlatform/rocBLAS
-
which CPU to choose?
It's not what you asked, but I felt I should point out that rocBLAS is no longer maintained for gfx803 (the architecture of the RX 570) and PyTorch depends on rocBLAS. PyTorch will work at least to some extent, but there are known bugs that may never be fixed. I've been trying to change this, but that's how things are right now.
-
Trying to get Pytorch ROCm to work on Ubuntu 20.04 with Fiji cards
The last release that officially supported gfx803 was ROCm 3.5. All testing on that hardware ceased shortly after said release, and the code paths for that architecture have been unmaintained for nearly two years. For a specific example of a problem you may encounter, see: https://github.com/ROCmSoftwarePlatform/rocBLAS/issues/1218
- Compute Ecosystem of AMD GPUs
-
PyTorch 1.8 adds AMD ROCm support
Although the code is still there, support for (slightly) older devices are already suffering from lack of maintainence and bugs. For instance there's a bug causing gfx803 devices to produce wrong outputs starting from mid-2020, and I'm pretty sure they're never gonna fix it.
What are some alternatives?
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!
kokkos-kernels - Kokkos C++ Performance Portability Programming Ecosystem: Math Kernels - Provides BLAS, Sparse BLAS and Graph Kernels
libcudacxx - [ARCHIVED] The C++ Standard Library for your entire system. See https://github.com/NVIDIA/cccl
ROCm - AMD ROCm™ Software - GitHub Home [Moved to: https://github.com/ROCm/ROCm]
rocFFT - Next generation FFT implementation for ROCm
HIP - HIP: C++ Heterogeneous-Compute Interface for Portability
Pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration
stdgpu - stdgpu: Efficient STL-like Data Structures on the GPU
hipBLASLt - hipBLASLt is a library that provides general matrix-matrix operations with a flexible API and extends functionalities beyond a traditional BLAS library
XNNPACK - High-efficiency floating-point neural network inference operators for mobile, server, and Web