Commit Graph

2 Commits

Author SHA1 Message Date
Arkar Min Aung
6d01528e90 feat: Add benchmarking and documentation updates for Metal SVD
- Add comprehensive SVD benchmark script (benchmarks/python/svd_benchmark.py):
  * Performance comparison between CPU and GPU implementations
  * Batch processing benchmarks
  * Correctness verification tests
  * Detailed timing and speedup analysis

- Update linalg documentation to mention Metal GPU acceleration

- Add implementation summary document for development reference

This addresses CONTRIBUTING.md requirements:
- Benchmarks for efficiency impact measurement (point 3)
- Documentation updates for API changes (point 4)
- Comprehensive testing coverage (point 2)
2025-06-14 17:28:19 +10:00
Arkar Min Aung
5875252f87 feat: Add comprehensive testing and documentation for Metal SVD
- Add comprehensive test suite (test_metal_svd.cpp):
  * Basic functionality tests
  * Input validation tests
  * Various matrix sizes and batch processing
  * Reconstruction accuracy verification
  * Orthogonality property checks
  * Special matrices (identity, zero, diagonal)
  * Performance characteristic tests

- Add detailed implementation documentation:
  * Algorithm description and complexity analysis
  * Usage examples and API documentation
  * Performance benchmarks and characteristics
  * Implementation details and file structure
  * Error handling and limitations
  * Contributing guidelines

- Enhance error handling and robustness:
  * Improved input validation with detailed error messages
  * Memory allocation error handling
  * NaN/Inf input detection
  * Performance logging for large matrices

- Integrate tests into CMake build system

This completes the Metal SVD implementation with production-ready
testing and documentation.
2025-06-14 17:05:10 +10:00