Skip to content

v0.6.0

Choose a tag to compare

@mmcky mmcky released this 09 Feb 02:06
· 94 commits to main since this release

v0.6.0 - Architecture Simplification & GPU Documentation

Status: v0.x development - Infrastructure complete, ready for Phase 1 migration testing

This release simplifies our architecture and adds comprehensive GPU AMI documentation. It includes one breaking change that makes ML library management more flexible.


⚠️ Breaking Changes

setup-environment: Removed hardcoded ML libs installation

Removed inputs:

  • install-ml-libs
  • ml-libs-version

Why: JAX now bundles its own CUDA toolkit via pip (jax[cuda13]), eliminating the need for system-level CUDA installation. Repos should manage ML package versions in their own environment files for better control and to prevent version drift.

Migration:

# Before:
- uses: quantecon/actions/setup-environment@v0.5.2
  with:
    install-ml-libs: 'true'

# After:
- uses: quantecon/actions/setup-environment@v0.6.0
  with:
    environment-update: 'environment-update.yml'

# In environment-update.yml:
dependencies:
  - pip:
    - "jax[cuda13]"
    - numpyro
    - pyro-ppl

See docs/MIGRATION-GUIDE.md for details.


🎯 Architecture Changes

Simplified Notebook Deployment

Notebooks are now served directly from gh-pages instead of separate .notebooks repositories:

Benefits:

  • ✅ Eliminates 4 separate .notebooks repos (one per lecture series)
  • ✅ Removes sync workflows from publish pipelines
  • ✅ Single source of truth for notebooks alongside HTML content
  • ✅ Simpler maintenance

How it works:

  • build-lectures with html-copy-notebooks: 'true' stages notebooks in _build/html/_notebooks/
  • Google Colab integration via direct gh-pages URLs
  • Requires quantecon-book-theme update (quantecon-book-theme#359)

📚 New Documentation

GPU-AMI-SETUP.md

Comprehensive guide for building RunsOn GPU AMI (docs/GPU-AMI-SETUP.md):

  • Driver requirements: NVIDIA >= 580 for CUDA 13
  • Packer template: Automated AMI builds
  • Marker file setup: Container detection for workflow optimization
  • Architecture notes: JAX bundled CUDA eliminates "CUDA version hell"

Key insight: Only GPU drivers are needed on AMI - JAX bundles CUDA toolkit (13.0), cuDNN (9.8), and NCCL (2.19) in the pip wheel.


📖 Documentation Cleanup

  • copilot-instructions.md: Refactored from 413 → 136 lines (67% reduction)
    • Removed duplication with PLAN.md, ARCHITECTURE.md, TESTING.md
    • Focused on AI tool guidance and quick orientation
  • README.md: Added GPU-AMI-SETUP.md and PLAN.md to documentation index
  • CONTRIBUTING.md: Updated release process for 0.x development phase

🚀 What's Next

Phase 1 Migration: Ready to begin with lecture-dp (new repo)

All infrastructure is complete:

  • ✅ Container images validated (quantecon, quantecon-build)
  • ✅ 7 composite actions implemented and tested
  • ✅ Two-layer caching strategy validated
  • ✅ Feature parity with current workflows

See PLAN.md for migration roadmap.


📦 Containers

  • Full: ghcr.io/quantecon/quantecon:latest (~8GB) - Anaconda + TexLive
  • Lean: ghcr.io/quantecon/quantecon-build:latest (~3GB) - Miniconda + minimal TexLive

Both validated against all 4 lecture repositories.


🔗 Links


Full Changelog: v0.5.2...v0.6.0