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.