Week 25 — Coding Projects

Core

Visualize convex optimization landscapes.

  • NumPy: Implement quadratic objectives. Plot level sets in 2D. Check convexity via midpoint test examples. Run gradient descent.
  • Metal: GPU-accelerate batched objective/gradient evaluation or render 2D heatmaps. · Reading: MBT — compute pipelines for numerical workloads.
  • Vulkan: Batched objective evaluation with compute shaders. · Reading: Vulkan Book — storage-buffer numerical compute.
  • CUDA: Batched gradient evaluation kernel. · Reading: CUDA Book — optimization-friendly batched kernels.
  • Stretch: Compare convex and nonconvex examples. Add projected steps onto a simple convex set.
  • Verify: GD converges on well-conditioned convex quadratics · Step size affects convergence · Geometry of convexity is visible.