Performance Test #3384
This file contains hidden or 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: Performance Test | |
| on: | |
| merge_group: | |
| workflow_dispatch: | |
| schedule: | |
| - cron: '48 4 * * *' | |
| jobs: | |
| build: | |
| name: Performance Test | |
| runs-on: ubuntu-24.04 | |
| strategy: | |
| matrix: | |
| python-version: ["3.11"] | |
| steps: | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 20 | |
| - name: Install apt dependencies | |
| uses: ./.github/actions/install-apt-dependencies | |
| - run: pip3 install petab shyaml build scipy | |
| - run: echo "${HOME}/.local/bin/" >> $GITHUB_PATH | |
| - run: echo "${GITHUB_WORKSPACE}/tests/performance/" >> $GITHUB_PATH | |
| # install AMICI | |
| - name: Create AMICI sdist | |
| run: | | |
| cd python/sdist \ | |
| && check_time.sh create_sdist python3 -m build --sdist | |
| - name: Install AMICI sdist | |
| run: | | |
| AMICI_PARALLEL_COMPILE="" check_time.sh \ | |
| install_sdist pip3 install -v --user \ | |
| $(ls -t python/sdist/dist/amici-*.tar.gz | head -1) | |
| # retrieve test model | |
| - run: git clone --depth 1 https://github.com/ICB-DCM/CS_Signalling_ERBB_RAS_AKT | |
| # import test model | |
| - name: Import test model | |
| run: | | |
| AMICI_IMPORT_NPROCS=2 tests/performance/performance_test.py petab_import | |
| - name: "Upload artifact: CS_Signalling_ERBB_RAS_AKT_petab" | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: model_performance_test | |
| path: model_performance_test | |
| # install model package | |
| - name: Install test model | |
| run: > | |
| tests/performance/performance_test.py install_model; | |
| for opt in O0 O1 O2; | |
| do | |
| tests/performance/performance_test.py install_model_${opt}; | |
| done | |
| # run simulations | |
| - name: forward_simulation | |
| run: > | |
| tests/performance/performance_test.py forward_simulation; | |
| for opt in O0 O1 O2; | |
| do | |
| tests/performance/performance_test.py forward_simulation_${opt}; | |
| done | |
| - name: forward_sensitivities | |
| run: > | |
| tests/performance/performance_test.py forward_sensitivities; | |
| for opt in O0 O1 O2; | |
| do | |
| tests/performance/performance_test.py forward_sensitivities_${opt}; | |
| done | |
| - name: adjoint_sensitivities | |
| run: > | |
| tests/performance/performance_test.py adjoint_sensitivities; | |
| for opt in O0 O1 O2; | |
| do | |
| tests/performance/performance_test.py adjoint_sensitivities_${opt}; | |
| done | |
| - name: forward_simulation_non_optimal_parameters | |
| run: | | |
| tests/performance/performance_test.py forward_simulation_non_optimal_parameters; | |
| for opt in O0 O1 O2; | |
| do | |
| tests/performance/performance_test.py forward_simulation_non_optimal_parameters_${opt}; | |
| done | |
| - name: adjoint_sensitivities_non_optimal_parameters | |
| run: | | |
| tests/performance/performance_test.py adjoint_sensitivities_non_optimal_parameters; | |
| for opt in O0 O1 O2; | |
| do | |
| tests/performance/performance_test.py adjoint_sensitivities_non_optimal_parameters_${opt}; | |
| done | |
| - name: forward_steadystate_sensitivities_non_optimal_parameters | |
| run: | | |
| tests/performance/performance_test.py forward_steadystate_sensitivities_non_optimal_parameters; | |
| for opt in O0 O1 O2; | |
| do | |
| tests/performance/performance_test.py forward_steadystate_sensitivities_non_optimal_parameters_${opt}; | |
| done | |
| - name: adjoint_steadystate_sensitivities_non_optimal_parameters | |
| run: | | |
| tests/performance/performance_test.py adjoint_steadystate_sensitivities_non_optimal_parameters; | |
| for opt in O0 O1 O2; | |
| do | |
| tests/performance/performance_test.py adjoint_steadystate_sensitivities_non_optimal_parameters_${opt}; | |
| done |