Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add GPU unit tests.
Browse files Browse the repository at this point in the history
luisenp committed Nov 7, 2024

Verified

This commit was signed with the committer’s verified signature. The key has expired.
tdmorello Tim Morello
1 parent edacf18 commit fda5550
Showing 2 changed files with 85 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .github/workflows/optim_tests.yml
Original file line number Diff line number Diff line change
@@ -34,7 +34,7 @@ jobs:
export PATH=~/conda/bin:$PATH
source activate theseus
pip install torch
- name: Build Baspacho GPU
- name: Build Baspacho CPU
run: |
sudo apt-get install -y libopenblas-pthread-dev
git clone https://github.com/facebookresearch/baspacho.git
84 changes: 84 additions & 0 deletions .github/workflows/tests_gpu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: gpu-tests
on:
pull_request:
branches:
- main

jobs:
test_with_gpu:
runs-on: 4-core-ubuntu-gpu-t4 # meta configured gpu runner https://www.internalfb.com/intern/opensource/ci/github-actions/runners/
strategy:
matrix:
python-version: [3.10]
steps:
- uses: actions/[email protected]
- name: Set up Python ${{ matrix.python-version }}
uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}
- uses: actions/[email protected]
- name: Install suitesparse
run: |
sudo apt-get update && sudo apt-get install -y libsuitesparse-dev
- name: Create Conda env
run: |
wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh
/bin/bash ~/miniconda.sh -b -p ~/conda
export PATH=~/conda/bin:$PATH
conda create --name theseus python=${{ matrix.python-version }}
source activate theseus
pip install --progress-bar off --upgrade pip
pip install --progress-bar off --upgrade setuptools
- name: Install CUDA 11
run: |
# download and install nvidia drivers, cuda, etc
wget --quiet --no-clobber -P ~/nvidia-downloads https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda_11.7.1_515.65.01_linux.run
time sudo /bin/bash nvidia-downloads/cuda_11.7.1_515.65.01_linux.run --no-drm --silent --driver --toolkit
sudo ldconfig /usr/local/cuda/lib64
echo "Done installing NVIDIA drivers and CUDA libraries."
nvidia-smi
- name: Install Torch CUDA 11
run: |
export PATH=~/conda/bin:$PATH
source activate theseus
which python && which pip
pip install --progress-bar off torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118
python -c 'import torch; print("Torch version:", torch.__version__); assert torch.cuda.is_available()'
- name: Install recent cmake
run: |
(lsb_release -c | grep focal) || (echo "Wrong Ubuntu, expected focal"; exit 1)
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main'
sudo apt-get update
sudo apt-get install -y cmake
- name: Build Baspacho GPU
run: |
sudo apt-get install -y libopenblas-pthread-dev
git clone https://github.com/facebookresearch/baspacho.git
cd baspacho
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DBLA_STATIC=ON \
-DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc \
-DBUILD_SHARED_LIBS=OFF -DBASPACHO_CUDA_ARCHS='detect' \
-DBASPACHO_BUILD_TESTS=OFF -DBASPACHO_BUILD_EXAMPLES=OFF
cmake --build build -- -j16
- name: Install torchlie and torchkin
run: |
export PATH=~/conda/bin:$PATH
source activate theseus
cd torchlie
pip install -e .
cd ../torchkin
pip install -e .
- name: Install theseus
run: |
export PATH=~/conda/bin:$PATH
source activate theseus
echo $(pwd)
BASPACHO_ROOT_DIR=./baspacho pip install -e ".[dev]"
- name: Run Lie groups tests
run: |
export PATH=~/conda/bin:$PATH
source activate theseus
pytest -s tests/theseus_tests/test_theseus_layer.py
pytest -s tests/theseus_tests/ -m "cudaext"
pytest -s tests/theseus_tests/test_pgo_benchmark.py -s

0 comments on commit fda5550

Please sign in to comment.