mirror of
https://github.com/facebookresearch/faiss.git
synced 2026-10-12 02:13:36 +00:00
Re-enable ROCm runner for AMD GPU CI (#4854)
Summary: Pull Request resolved: https://github.com/facebookresearch/faiss/pull/4854 This re-enables the AMD ROCm runner that was previously disabled in D86250489. Changes from the original configuration: - Updated runner from `faiss-amd-MI200` to `linux-amd-rocm-mi325-ubuntu-24` to match the currently available GitHub Actions runner - Updated container image from Ubuntu 22.04 to Ubuntu 24.04 to align with the runner environment Test change: - seems like cuda and hip disagree about some small rounding errors, so AI updated the test. Reviewed By: subhadeepkaran Differential Revision: D94941142 fbshipit-source-id: d5158b7939e3b7327432aa89a9a0d2e5ed1ad190
This commit is contained in:
committed by
meta-codesync[bot]
parent
7b2705c269
commit
364749e886
@@ -100,27 +100,43 @@ runs:
|
||||
sudo apt-get -qq update >/dev/null
|
||||
sudo apt-get -qq install -y kmod wget gpg >/dev/null
|
||||
|
||||
# Download, prepare, and install the package signing key
|
||||
mkdir --parents --mode=0755 /etc/apt/keyrings
|
||||
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
|
||||
|
||||
- name: Add rocm repository
|
||||
if: inputs.rocm == 'ON'
|
||||
shell: bash
|
||||
run: |
|
||||
# Get UBUNTU version name
|
||||
UBUNTU_VERSION_NAME=`cat /etc/os-release | grep UBUNTU_CODENAME | awk -F= '{print $2}'`
|
||||
|
||||
# Set ROCm version
|
||||
ROCM_VERSION="6.2"
|
||||
|
||||
# Download, prepare, and install the package signing key
|
||||
mkdir --parents --mode=0755 /etc/apt/keyrings
|
||||
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
|
||||
rocm_baseurl="https://repo.radeon.com/rocm/apt/${ROCM_VERSION}"
|
||||
sudo mkdir -p /etc/apt/keyrings
|
||||
wget -qO /tmp/rocm.gpg.key https://repo.radeon.com/rocm/rocm.gpg.key
|
||||
echo "2de99e2354646a90d9903e2a669fc4e36b02c1bbff7075c481e12d7edab2c88b /tmp/rocm.gpg.key" | sha256sum --check
|
||||
|
||||
# Add rocm repository
|
||||
wget -qO - http://repo.radeon.com/rocm/rocm.gpg.key | sudo apt-key add -
|
||||
rocm_baseurl="http://repo.radeon.com/rocm/apt/${ROCM_VERSION}"
|
||||
echo "deb [arch=amd64] ${rocm_baseurl} ${UBUNTU_VERSION_NAME} main" | sudo tee /etc/apt/sources.list.d/rocm.list
|
||||
sudo apt-get -qq update --allow-insecure-repositories >/dev/null
|
||||
sudo apt-get -qq install -y --allow-unauthenticated \
|
||||
"rocm-dev${ROCM_VERSION}" "rocm-utils${ROCM_VERSION}" \
|
||||
"rocm-libs${ROCM_VERSION}" >/dev/null
|
||||
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] ${rocm_baseurl} ${UBUNTU_VERSION_NAME} main" | sudo tee /etc/apt/sources.list.d/rocm.list
|
||||
|
||||
sudo apt-get -qq update >/dev/null
|
||||
sudo apt-get -qq install -y \
|
||||
"rocm-dev${ROCM_VERSION}" "rocm-utils${ROCM_VERSION}" "rocm-libs${ROCM_VERSION}" >/dev/null
|
||||
|
||||
|
||||
- name: Pin BLAS/LAPACK versions
|
||||
if: inputs.rocm == 'ON'
|
||||
shell: bash
|
||||
run: |
|
||||
conda install -y \
|
||||
"libblas=3.9.0=35_*" \
|
||||
"libcblas=3.9.0=35_*" \
|
||||
"liblapack=3.9.0=35_*"
|
||||
|
||||
# Fake presence of MI200-class accelerators
|
||||
echo "gfx90a" | sudo tee /opt/rocm/bin/target.lst
|
||||
echo "gfx942" | sudo tee /opt/rocm/bin/target.lst
|
||||
|
||||
# Cleanup
|
||||
sudo apt-get -qq autoclean >/dev/null
|
||||
@@ -135,10 +151,14 @@ runs:
|
||||
sudo ln -s /lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/libc_nonshared.a
|
||||
sudo ln -s /usr/lib/x86_64-linux-gnu/libpthread.so.0 /lib64/libpthread.so.0
|
||||
sudo ln -s $HOME/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/lib64/libpthread_nonshared.a /usr/lib64/libpthread_nonshared.a
|
||||
- name: Print GPU info
|
||||
if: inputs.gpu == 'ON'
|
||||
- name: Print NVIDIA GPU info
|
||||
if: inputs.gpu == 'ON' && inputs.rocm != 'ON'
|
||||
shell: bash
|
||||
run: nvidia-smi
|
||||
- name: Print AMD GPU info
|
||||
if: inputs.gpu == 'ON' && inputs.rocm == 'ON'
|
||||
shell: bash
|
||||
run: rocm-smi
|
||||
- name: Build all targets
|
||||
shell: bash
|
||||
run: |
|
||||
|
||||
@@ -96,6 +96,29 @@ jobs:
|
||||
uses: ./.github/actions/build_cmake
|
||||
with:
|
||||
gpu: ON
|
||||
linux-x86_64-GPU-w-ROCm-cmake:
|
||||
name: Linux x86_64 GPU w/ ROCm (cmake)
|
||||
needs: linux-x86_64-cmake
|
||||
runs-on: linux-amd-rocm-mi325-ubuntu-24
|
||||
container:
|
||||
image: ubuntu:24.04
|
||||
options: --device=/dev/kfd --device=/dev/dri --ipc=host --shm-size 16G --group-add video --cap-add=SYS_PTRACE --cap-add=SYS_ADMIN
|
||||
steps:
|
||||
- name: Container setup
|
||||
run: |
|
||||
if [ -f /.dockerenv ]; then
|
||||
apt-get update && apt-get install -y sudo && apt-get install -y git
|
||||
git config --global --add safe.directory '*'
|
||||
else
|
||||
echo 'Skipping. Current job is not running inside a container.'
|
||||
fi
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Build and Test (cmake)
|
||||
uses: ./.github/actions/build_cmake
|
||||
with:
|
||||
gpu: ON
|
||||
rocm: ON
|
||||
linux-x86_64-GPU-w-CUVS-cmake:
|
||||
name: Linux x86_64 GPU w/ cuVS (cmake)
|
||||
needs: linux-x86_64-cmake
|
||||
|
||||
Reference in New Issue
Block a user