mirror of
https://github.com/ml-explore/mlx.git
synced 2025-07-20 16:11:14 +08:00

- Add SVDParams, JacobiRotation, and SVDConvergenceInfo structures - Create placeholder Metal kernel declarations for SVD operations - Add SVD kernel compilation to CMake build system - Update SVD::eval_gpu to dispatch to Metal implementation - Add basic input validation and error handling - Include placeholder kernel implementation for compilation This establishes the foundation for Metal SVD implementation. Actual algorithm implementation will follow in subsequent commits.
44 lines
933 B
C++
44 lines
933 B
C++
// Copyright © 2023-2024 Apple Inc.
|
|
|
|
#pragma once
|
|
|
|
namespace mlx::core::metal {
|
|
|
|
const char* utils();
|
|
const char* binary_ops();
|
|
const char* unary_ops();
|
|
const char* ternary_ops();
|
|
const char* reduce_utils();
|
|
const char* gather();
|
|
const char* scatter();
|
|
|
|
const char* arange();
|
|
const char* unary();
|
|
const char* binary();
|
|
const char* binary_two();
|
|
const char* copy();
|
|
const char* fft();
|
|
const char* gather_axis();
|
|
const char* hadamard();
|
|
const char* logsumexp();
|
|
const char* quantized();
|
|
const char* ternary();
|
|
const char* scan();
|
|
const char* scatter_axis();
|
|
const char* softmax();
|
|
const char* sort();
|
|
const char* svd();
|
|
const char* reduce();
|
|
|
|
const char* gemm();
|
|
const char* steel_gemm_fused();
|
|
const char* steel_gemm_masked();
|
|
const char* steel_gemm_splitk();
|
|
const char* steel_gemm_gather();
|
|
const char* conv();
|
|
const char* steel_conv();
|
|
const char* steel_conv_general();
|
|
const char* gemv_masked();
|
|
|
|
} // namespace mlx::core::metal
|