Skip to content

Register output dist for inference modules and add set_device helper … #84

Register output dist for inference modules and add set_device helper …

Register output dist for inference modules and add set_device helper … #84

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: CPU Unit Test CI
on:
push:
paths-ignore:
- "docs/*"
- "third_party/*"
- .gitignore
- "*.md"
pull_request:
paths-ignore:
- "docs/*"
- "third_party/*"
- .gitignore
- "*.md"
jobs:
build_test:
strategy:
fail-fast: false
matrix:
include:
- os: linux.2xlarge
python-version: 3.8
python-tag: "py38"
- os: linux.2xlarge
python-version: 3.9
python-tag: "py39"
- os: linux.2xlarge
python-version: '3.10'
python-tag: "py310"
uses: pytorch/test-infra/.github/workflows/linux_job.yml@main
with:
runner: ${{ matrix.os }}
timeout: 30
script: |
ldd --version
conda create -y --name build_binary python=${{ matrix.python-version }}
conda info
python --version
conda run -n build_binary python --version
conda install -n build_binary \
--yes \
-c pytorch-nightly \
"pytorch-nightly"::pytorch[build="*cpu*"]
conda run -n build_binary \
python -c "import torch.distributed"
sed -i 's/fbgemm-gpu-nightly/fbgemm-gpu-nightly-cpu/g' requirements.txt
conda run -n build_binary \
pip install -r requirements.txt
conda run -n build_binary \
python setup.py bdist_wheel \
--package_name torchrec-test-cpu \
--cpu-only True \
--python-tag=${{ matrix.python-tag }}
conda run -n build_binary \
python -c "import torchrec"
echo "torch.distributed succeeded"
conda run -n build_binary \
python -c "import numpy"
echo "numpy succeeded"
conda run -n build_binary \
python -c "import fbgemm_gpu"
echo "fbgemm_gpu succeeded"
conda install -n build_binary -y pytest
conda run -n build_binary \
python -m pytest torchrec -v -s -W ignore::pytest.PytestCollectionWarning --continue-on-collection-errors -k 'not test_sharding_gloo_cw and not test_load_state_dict_prefix and not test_load_state_dict_cw_multiple_shards' --ignore-glob=**/test_utils/
echo "Starting C++ Tests"
conda install -n build_binary -y gxx_linux-64
conda run -n build_binary \
x86_64-conda-linux-gnu-g++ --version
conda install -n build_binary -c anaconda redis -y
conda run -n build_binary redis-server --daemonize yes
mkdir cpp-build
cd cpp-build
conda run -n build_binary cmake \
-DBUILD_TEST=ON \
-DBUILD_REDIS_IO=ON \
-DCMAKE_PREFIX_PATH=/opt/conda/envs/build_binary/lib/python${{ matrix.python-version }}/site-packages/torch/share/cmake ..
conda run -n build_binary make -j
conda run -n build_binary ctest -v .