Welcome to the rocm-loongarch repository, a community-driven project hosted under the loongarch-moe organization. This repository contains patches and software packages for adapting the ROCm software stack to support GPUs on the LoongArch architecture. The work primarily focuses on supporting AMDGPU and enabling high-performance GPU computing on LoongArch.
The rocm-loongarch project provides the following stages of adaptation for running the ROCm software stack on LoongArch-based systems:
- Enabling HSA_AMD driver support
- Switching to 4KB page size
Basic ROCm infrastructure packages:
rocm-core
rocm-llvm-core
rocm-llvm-clang
rocm-llvm-compiler-rt
rocm-llvm-lld
rocm-llvm-extra
rocm-rocprofiler-register
rocm-rocr-runtime
rocminfo
rocm-cmake
rocm-clr
rocm_bandwidth_test
rocm-half
rocm_smi_lib
rocm-HIPIFY
rocm-rocPRIM
rocm-hipCUB
mscclpp
rocm-llvm-openmp
rocm-rocMLIR
rocm-llvm-mlir
rocm-llvm-flang
rocm-hipfort
rocm-rocJPEG
rocm-pgmath
rocm-flang-classic
rocm-rocDecode
rocm-hipBLAS-common
rocm-hipBLASLt
rocm-rocBLAS
rocm-rocFFT
rocm-rocRAND
rocm-rccl
rocm-rocSPARSE
rocm-hipFFT
rocm-hipSPARSE
rocm-rocSOLVER
rocm-hipBLAS
rocm-hipRAND
rocm-hipSPARSELt
rocm-hipSOLVER
rocm-rocThrust
rocm-rocALUTION
rocm-composable_kernel
rocm-MIOpen
rocm-ROCdbgapi
stable-diffusion.cpp
pytorch-rocm
(in progress)pytorch-cpu
llama.cpp
cupy
aotriton
For a detailed introduction to ROCm, including its components and architecture, you can refer to the AMD ROCm documentation.
Here is the recommended relationship between kernel versions and RDNA generations:
- Kernel version 6.8 and above: 4K page size support for RDNA2/3 serial.
- Kernel version below 6.8: 4K/16K page size support for RDNA2 serial.
For the latest releases of the software and packages, please visit the Releases page.
We welcome contributions to this project. If you're interested in improving or extending the support for ROCm on LoongArch, please feel free to fork the repository, submit issues, and create pull requests.
- Ensure that your changes are well-tested and documented.
- Follow the standard coding conventions for ROCm and LoongArch development.
For any questions or issues, feel free to open an issue in the repository, or reach out to the maintainers via GitHub Discussions.