Add PyTorch integration #346
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests (MPI) | |
on: | |
push: | |
branches: | |
- main | |
pull_request: {} | |
schedule: | |
- cron: '0 23 * * SUN-THU' | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
tests-mpi: | |
if: (github.event_name == 'schedule' && github.repository == 'optuna/optuna-integration') || (github.event_name != 'schedule') | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ['3.8', '3.9', '3.10', '3.11'] | |
test-trigger-type: | |
- ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && 'Scheduled' || '' }} | |
exclude: | |
- test-trigger-type: "" | |
python-version: "3.9" | |
- test-trigger-type: "" | |
python-version: "3.10" | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Python${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Setup cache | |
uses: actions/cache@v3 | |
env: | |
cache-name: test-mpi | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-${{ matrix.python-version }}-${{ env.cache-name }}-${{ hashFiles('**/pyproject.toml') }}-v1 | |
restore-keys: | | |
${{ runner.os }}-${{ matrix.python-version }}-${{ env.cache-name }}-${{ hashFiles('**/pyproject.toml') }} | |
- name: Setup environment | |
run: | | |
sudo apt-get update | |
sudo apt-get -y install openmpi-bin libopenmpi-dev | |
- name: Install | |
run: | | |
python -m pip install --upgrade pip | |
pip install --progress-bar off .[test] | |
pip install --progress-bar off .[all] | |
# Install optuna from optuna master | |
pip install git+https://github.com/optuna/optuna@master | |
- name: Output installed packages | |
run: | | |
pip freeze --all | |
- name: Output dependency tree | |
run: | | |
pip install pipdeptree | |
pipdeptree | |
- name: Tests | |
run: | | |
export OMPI_MCA_rmaps_base_oversubscribe=yes | |
mpirun -n 2 pytest -- tests/test_pytorch_distributed.py | |
env: | |
OMP_NUM_THREADS: 1 |