From 8c0d6091d0d97df4675adfad538946e37c80dc48 Mon Sep 17 00:00:00 2001 From: mmcky Date: Tue, 11 Nov 2025 17:08:43 +1100 Subject: [PATCH 01/12] Remove PyTorch and Pyro-PPL from workflows - Remove torch, torchvision, torchaudio installation from all workflows - Remove pyro-ppl installation from all workflows - Update step names from 'Install JAX, Numpyro, PyTorch' to 'Install JAX and Numpyro' - Disable build cache in ci.yml for full test run - Keep JAX and NumPyro installations --- .github/workflows/cache.yml | 5 ++--- .github/workflows/ci.yml | 22 ++++++++++------------ .github/workflows/publish.yml | 5 ++--- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/.github/workflows/cache.yml b/.github/workflows/cache.yml index 00c94fed2..906ece753 100644 --- a/.github/workflows/cache.yml +++ b/.github/workflows/cache.yml @@ -20,12 +20,11 @@ jobs: python-version: "3.13" environment-file: environment.yml activate-environment: quantecon - - name: Install JAX, Numpyro, PyTorch + - name: Install JAX and Numpyro shell: bash -l {0} run: | - pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128 pip install --upgrade "jax[cuda12-local]==0.6.2" - pip install numpyro + pip install numpyro python scripts/test-jax-install.py - name: Check nvidia drivers shell: bash -l {0} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3bc26f081..7c6ffd27b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,13 +28,11 @@ jobs: python-version: "3.13" environment-file: environment.yml activate-environment: quantecon - - name: Install JAX, Numpyro, PyTorch + - name: Install JAX and Numpyro shell: bash -l {0} run: | - pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128 - pip install pyro-ppl - pip install --upgrade "jax[cuda12-local]==0.6.2" - pip install numpyro pyro-ppl + pip install --upgrade "jax[cuda12-local]" + pip install numpyro python scripts/test-jax-install.py - name: Check nvidia Drivers shell: bash -l {0} @@ -45,13 +43,13 @@ jobs: - name: Display Pip Versions shell: bash -l {0} run: pip list - - name: Download "build" folder (cache) - uses: dawidd6/action-download-artifact@v11 - with: - workflow: cache.yml - branch: main - name: build-cache - path: _build + # - name: Download "build" folder (cache) + # uses: dawidd6/action-download-artifact@v11 + # with: + # workflow: cache.yml + # branch: main + # name: build-cache + # path: _build # Build Assets (Download Notebooks and PDF via LaTeX) - name: Build Download Notebooks (sphinx-tojupyter) shell: bash -l {0} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e5ca1bd12..9c861423c 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -19,12 +19,11 @@ jobs: python-version: "3.13" environment-file: environment.yml activate-environment: quantecon - - name: Install JAX, Numpyro, PyTorch + - name: Install JAX and Numpyro shell: bash -l {0} run: | - pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128 pip install --upgrade "jax[cuda12-local]==0.6.2" - pip install numpyro + pip install numpyro python scripts/test-jax-install.py - name: Check nvidia drivers shell: bash -l {0} From f652c69bf37ec2297836d17f7e10e8cfecd6e966 Mon Sep 17 00:00:00 2001 From: mmcky Date: Tue, 11 Nov 2025 21:37:54 +1100 Subject: [PATCH 02/12] Fix JAX CUDA installation to use cuda12_pip instead of cuda12-local Changes jax[cuda12-local] to jax[cuda12_pip] to avoid cuDNN version compatibility issues. The cuda12_pip variant includes compatible CUDA and cuDNN libraries bundled with JAX, preventing runtime errors from mismatched local CUDA installations. Fixes cuDNN 9.10.0 backward-compatibility error. --- .github/workflows/cache.yml | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/publish.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cache.yml b/.github/workflows/cache.yml index 906ece753..8646c17a7 100644 --- a/.github/workflows/cache.yml +++ b/.github/workflows/cache.yml @@ -23,7 +23,7 @@ jobs: - name: Install JAX and Numpyro shell: bash -l {0} run: | - pip install --upgrade "jax[cuda12-local]==0.6.2" + pip install --upgrade "jax[cuda12_pip]==0.6.2" pip install numpyro python scripts/test-jax-install.py - name: Check nvidia drivers diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7c6ffd27b..1854267ee 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: - name: Install JAX and Numpyro shell: bash -l {0} run: | - pip install --upgrade "jax[cuda12-local]" + pip install --upgrade "jax[cuda12_pip]" pip install numpyro python scripts/test-jax-install.py - name: Check nvidia Drivers diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9c861423c..5d04d0600 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -22,7 +22,7 @@ jobs: - name: Install JAX and Numpyro shell: bash -l {0} run: | - pip install --upgrade "jax[cuda12-local]==0.6.2" + pip install --upgrade "jax[cuda12_pip]==0.6.2" pip install numpyro python scripts/test-jax-install.py - name: Check nvidia drivers From a688344af6139fb2e0267adbb4c3e457823c5d4b Mon Sep 17 00:00:00 2001 From: mmcky Date: Wed, 12 Nov 2025 11:12:31 +1100 Subject: [PATCH 03/12] Update RunsOn AMI to latest CUDA/cuDNN image Updates the quantecon_ubuntu2404 AMI from ami-09baf66e396fa7cfd to ami-0edec81935264b6d3 which includes the latest CUDA and cuDNN libraries for improved compatibility with JAX. --- .github/runs-on.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/runs-on.yml b/.github/runs-on.yml index 6f5085d74..96e87572a 100644 --- a/.github/runs-on.yml +++ b/.github/runs-on.yml @@ -2,4 +2,4 @@ images: quantecon_ubuntu2404: platform: "linux" arch: "x64" - ami: "ami-09baf66e396fa7cfd" \ No newline at end of file + ami: "ami-0edec81935264b6d3" \ No newline at end of file From 0e65df5f4dd8f9d59c35e0c2de51f0aa833f1631 Mon Sep 17 00:00:00 2001 From: mmcky Date: Wed, 12 Nov 2025 11:39:06 +1100 Subject: [PATCH 04/12] Use cuda12-local for JAX installation across all workflows Changes all workflows to use jax[cuda12-local] to leverage the CUDA and cuDNN libraries pre-installed in the new AMI (ami-0edec81935264b6d3). This is faster than cuda12_pip and uses the system libraries. Also removes version pin (==0.6.2) from cache.yml and publish.yml to make all workflows consistent. --- .github/workflows/cache.yml | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/publish.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cache.yml b/.github/workflows/cache.yml index 8646c17a7..4f5759716 100644 --- a/.github/workflows/cache.yml +++ b/.github/workflows/cache.yml @@ -23,7 +23,7 @@ jobs: - name: Install JAX and Numpyro shell: bash -l {0} run: | - pip install --upgrade "jax[cuda12_pip]==0.6.2" + pip install --upgrade "jax[cuda12-local]" pip install numpyro python scripts/test-jax-install.py - name: Check nvidia drivers diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1854267ee..7c6ffd27b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: - name: Install JAX and Numpyro shell: bash -l {0} run: | - pip install --upgrade "jax[cuda12_pip]" + pip install --upgrade "jax[cuda12-local]" pip install numpyro python scripts/test-jax-install.py - name: Check nvidia Drivers diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 5d04d0600..39cf42727 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -22,7 +22,7 @@ jobs: - name: Install JAX and Numpyro shell: bash -l {0} run: | - pip install --upgrade "jax[cuda12_pip]==0.6.2" + pip install --upgrade "jax[cuda12-local]" pip install numpyro python scripts/test-jax-install.py - name: Check nvidia drivers From 727bcf659fdb2da50109e2680ba1927fbfd8df11 Mon Sep 17 00:00:00 2001 From: mmcky Date: Wed, 12 Nov 2025 11:56:38 +1100 Subject: [PATCH 05/12] Update JAX to use cuda13-local for CUDA 13 support Changes all workflows from cuda12-local to cuda13-local to match the CUDA 13 installation in the new AMI (ami-0edec81935264b6d3). --- .github/workflows/cache.yml | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/publish.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cache.yml b/.github/workflows/cache.yml index 4f5759716..83bd177fc 100644 --- a/.github/workflows/cache.yml +++ b/.github/workflows/cache.yml @@ -23,7 +23,7 @@ jobs: - name: Install JAX and Numpyro shell: bash -l {0} run: | - pip install --upgrade "jax[cuda12-local]" + pip install --upgrade "jax[cuda13-local]" pip install numpyro python scripts/test-jax-install.py - name: Check nvidia drivers diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7c6ffd27b..215bb952a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: - name: Install JAX and Numpyro shell: bash -l {0} run: | - pip install --upgrade "jax[cuda12-local]" + pip install --upgrade "jax[cuda13-local]" pip install numpyro python scripts/test-jax-install.py - name: Check nvidia Drivers diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 39cf42727..4b1e89251 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -22,7 +22,7 @@ jobs: - name: Install JAX and Numpyro shell: bash -l {0} run: | - pip install --upgrade "jax[cuda12-local]" + pip install --upgrade "jax[cuda13-local]" pip install numpyro python scripts/test-jax-install.py - name: Check nvidia drivers From 36b577206eab2ed7c0fe89e20bdcbd56fd5a3652 Mon Sep 17 00:00:00 2001 From: mmcky Date: Wed, 12 Nov 2025 12:06:34 +1100 Subject: [PATCH 06/12] Update JAX installation to use cuda13 (recommended syntax) Changes from 'jax[cuda13-local]' to 'jax[cuda13]' following the official JAX documentation for CUDA 13 support. Also uses -U flag instead of --upgrade for consistency with JAX docs. --- .github/workflows/cache.yml | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/publish.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cache.yml b/.github/workflows/cache.yml index 83bd177fc..25e71528f 100644 --- a/.github/workflows/cache.yml +++ b/.github/workflows/cache.yml @@ -23,7 +23,7 @@ jobs: - name: Install JAX and Numpyro shell: bash -l {0} run: | - pip install --upgrade "jax[cuda13-local]" + pip install -U "jax[cuda13]" pip install numpyro python scripts/test-jax-install.py - name: Check nvidia drivers diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 215bb952a..6586f8eaa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: - name: Install JAX and Numpyro shell: bash -l {0} run: | - pip install --upgrade "jax[cuda13-local]" + pip install -U "jax[cuda13]" pip install numpyro python scripts/test-jax-install.py - name: Check nvidia Drivers diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 4b1e89251..3a87a11f6 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -22,7 +22,7 @@ jobs: - name: Install JAX and Numpyro shell: bash -l {0} run: | - pip install --upgrade "jax[cuda13-local]" + pip install -U "jax[cuda13]" pip install numpyro python scripts/test-jax-install.py - name: Check nvidia drivers From 5ba7aa9eafdd5064dcdfb04f06d2622ce165bd20 Mon Sep 17 00:00:00 2001 From: mmcky Date: Wed, 12 Nov 2025 12:28:55 +1100 Subject: [PATCH 07/12] Move nvidia-smi check before JAX installation in ci.yml --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6586f8eaa..74dcc67cd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,15 +28,15 @@ jobs: python-version: "3.13" environment-file: environment.yml activate-environment: quantecon + - name: Check nvidia Drivers + shell: bash -l {0} + run: nvidia-smi - name: Install JAX and Numpyro shell: bash -l {0} run: | pip install -U "jax[cuda13]" pip install numpyro python scripts/test-jax-install.py - - name: Check nvidia Drivers - shell: bash -l {0} - run: nvidia-smi - name: Display Conda Environment Versions shell: bash -l {0} run: conda list From 49db5d47ed188c6c9120512ee2a399838b533ebd Mon Sep 17 00:00:00 2001 From: mmcky Date: Wed, 12 Nov 2025 12:36:08 +1100 Subject: [PATCH 08/12] Update runs-on.yml with region and use AMI ID directly in ci.yml --- .github/runs-on.yml | 3 ++- .github/workflows/ci.yml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/runs-on.yml b/.github/runs-on.yml index 96e87572a..2cbb5bbbd 100644 --- a/.github/runs-on.yml +++ b/.github/runs-on.yml @@ -2,4 +2,5 @@ images: quantecon_ubuntu2404: platform: "linux" arch: "x64" - ami: "ami-0edec81935264b6d3" \ No newline at end of file + ami: "ami-0edec81935264b6d3" + region: "us-west-2" \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 74dcc67cd..3e01fc0a2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ on: type: string jobs: preview: - runs-on: "runs-on=${{ github.run_id }}/family=g4dn.2xlarge/image=quantecon_ubuntu2404/disk=large" + runs-on: "runs-on=${{ github.run_id }}/family=g4dn.2xlarge/image=ami-0edec81935264b6d3/disk=large" env: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} From e9571680ed3d4fd8a90f731724f844caec6bb0c6 Mon Sep 17 00:00:00 2001 From: mmcky Date: Wed, 12 Nov 2025 12:37:29 +1100 Subject: [PATCH 09/12] Rename image to quantecon_lecture_build to avoid cache issues --- .github/runs-on.yml | 2 +- .github/workflows/ci.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/runs-on.yml b/.github/runs-on.yml index 2cbb5bbbd..40bcd5c0f 100644 --- a/.github/runs-on.yml +++ b/.github/runs-on.yml @@ -1,5 +1,5 @@ images: - quantecon_ubuntu2404: + quantecon_lecture_build: platform: "linux" arch: "x64" ami: "ami-0edec81935264b6d3" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3e01fc0a2..aba983e0e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ on: type: string jobs: preview: - runs-on: "runs-on=${{ github.run_id }}/family=g4dn.2xlarge/image=ami-0edec81935264b6d3/disk=large" + runs-on: "runs-on=${{ github.run_id }}/family=g4dn.2xlarge/image=quantecon_lecture_build/disk=large" env: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} From 0f5b984998ddef3d41fb2004e3a263211390db00 Mon Sep 17 00:00:00 2001 From: mmcky Date: Wed, 12 Nov 2025 14:34:45 +1100 Subject: [PATCH 10/12] Revert image name back to quantecon_ubuntu2404 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aba983e0e..74dcc67cd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ on: type: string jobs: preview: - runs-on: "runs-on=${{ github.run_id }}/family=g4dn.2xlarge/image=quantecon_lecture_build/disk=large" + runs-on: "runs-on=${{ github.run_id }}/family=g4dn.2xlarge/image=quantecon_ubuntu2404/disk=large" env: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} From 69ba280c7e46ecfed1330de69d9baed8b7226069 Mon Sep 17 00:00:00 2001 From: mmcky Date: Wed, 12 Nov 2025 17:40:46 +1100 Subject: [PATCH 11/12] Re-enable build cache --- .github/workflows/ci.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 74dcc67cd..eb1a324d7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,13 +43,13 @@ jobs: - name: Display Pip Versions shell: bash -l {0} run: pip list - # - name: Download "build" folder (cache) - # uses: dawidd6/action-download-artifact@v11 - # with: - # workflow: cache.yml - # branch: main - # name: build-cache - # path: _build + - name: Download "build" folder (cache) + uses: dawidd6/action-download-artifact@v11 + with: + workflow: cache.yml + branch: main + name: build-cache + path: _build # Build Assets (Download Notebooks and PDF via LaTeX) - name: Build Download Notebooks (sphinx-tojupyter) shell: bash -l {0} From 77f0c6285d8c5f423a6b4c19735fddd4c6c10d62 Mon Sep 17 00:00:00 2001 From: mmcky Date: Wed, 12 Nov 2025 17:41:47 +1100 Subject: [PATCH 12/12] Revert instance name back to quantecon_ubuntu2404 --- .github/runs-on.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/runs-on.yml b/.github/runs-on.yml index 40bcd5c0f..2cbb5bbbd 100644 --- a/.github/runs-on.yml +++ b/.github/runs-on.yml @@ -1,5 +1,5 @@ images: - quantecon_lecture_build: + quantecon_ubuntu2404: platform: "linux" arch: "x64" ami: "ami-0edec81935264b6d3"