Commit Graph

4 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
5bbb78f42a Add pending changes from module testing
- Update kernels_dev.py with any modifications made during testing
- Add test_report.md generated by benchmarking module
- Ensure all changes from comprehensive testing are committed
2025-07-14 17:23:16 -04:00
Vijay Janapa Reddi
2849677fd8 🔥 Simplify Kernels Module: Replace Complex Profiler with Simple Timing
 **Pedagogical Improvements:**
- Removed complex SimpleProfiler dependency
- Added simple time_kernel() function using time.perf_counter()
- Displays timing in microseconds (realistic for kernel operations)
- Focused learning on kernel optimization vs profiling complexity

 **Clean Learning Progression:**
- Module 11 (Kernels): Simple timing - 'Can I make this faster?'
- Module 12 (Benchmarking): Professional profiling - 'How do I measure systematically?'
- Module 13 (MLOps): Production monitoring - 'How do I track in production?'

 **Implementation Details:**
- Fixed imports to use matmul_naive from TinyTorch layers
- Simplified baseline implementation using NumPy dot product
- Reduced cognitive load by removing measurement complexity
- Maintained all kernel optimization concepts

⚠️ **Note:** Cache-friendly implementation needs debugging but core timing functionality works

🎯 **Impact:** Students can now focus on building optimized kernels with immediate microsecond-level performance feedback, setting up perfect progression to comprehensive benchmarking in Module 12.
2025-07-14 14:51:28 -04:00
Vijay Janapa Reddi
1d49b824b0 feat: Complete standardized testing implementation and VS Code improvements
- Added locked standardized testing sections to autograd and optimizers modules
- Fixed kernels module structure to match optimizers/training pattern
- Added comprehensive VS Code setup guide for Jupytext editing
- All 12 TinyTorch modules now have consistent testing framework
- Cleaned up temporary development files
2025-07-14 14:16:06 -04:00
Vijay Janapa Reddi
4ea5a4e024 Add TinyTorch Profiler Utility
- Add tinytorch.utils.profiler following PyTorch's utils pattern
- Includes SimpleProfiler class for educational performance measurement
- Provides timing, memory usage, and system metrics
- Follows PyTorch's torch.utils.* organizational pattern
- Module 11: Kernels uses profiler for performance demonstrations

Features:
- Wall time and CPU time measurement
- Memory usage tracking (peak, delta, percentages)
- Array information (shape, size, dtype)
- CPU and system metrics
- Clean educational interface for ML performance learning

Import pattern:
  from tinytorch.utils.profiler import SimpleProfiler
2025-07-14 13:04:44 -04:00