@@ -23,14 +23,26 @@ function __init__()
2323 libblastrampoline_handle = Libdl. dlopen (BLAS. libblas)
2424
2525 for (cname, enzymexla_name) in [
26+ # LU
2627 (BLAS. @blasfunc (sgetrf_), :enzymexla_lapack_sgetrf_ ),
2728 (BLAS. @blasfunc (dgetrf_), :enzymexla_lapack_dgetrf_ ),
2829 (BLAS. @blasfunc (cgetrf_), :enzymexla_lapack_cgetrf_ ),
2930 (BLAS. @blasfunc (zgetrf_), :enzymexla_lapack_zgetrf_ ),
31+ # SVD QR Iteration
3032 (BLAS. @blasfunc (sgesvd_), :enzymexla_lapack_sgesvd_ ),
3133 (BLAS. @blasfunc (dgesvd_), :enzymexla_lapack_dgesvd_ ),
3234 (BLAS. @blasfunc (cgesvd_), :enzymexla_lapack_cgesvd_ ),
3335 (BLAS. @blasfunc (zgesvd_), :enzymexla_lapack_zgesvd_ ),
36+ # SVD Divide and Conquer
37+ (BLAS. @blasfunc (sgesdd_), :enzymexla_lapack_sgesdd_ ),
38+ (BLAS. @blasfunc (dgesdd_), :enzymexla_lapack_dgesdd_ ),
39+ (BLAS. @blasfunc (cgesdd_), :enzymexla_lapack_cgesdd_ ),
40+ (BLAS. @blasfunc (zgesdd_), :enzymexla_lapack_zgesdd_ ),
41+ # SVD Jacobi
42+ (BLAS. @blasfunc (sgesvj_), :enzymexla_lapack_sgesvj_ ),
43+ (BLAS. @blasfunc (dgesvj_), :enzymexla_lapack_dgesvj_ ),
44+ (BLAS. @blasfunc (cgesvj_), :enzymexla_lapack_cgesvj_ ),
45+ (BLAS. @blasfunc (zgesvj_), :enzymexla_lapack_zgesvj_ ),
3446 ]
3547 sym = Libdl. dlsym (libblastrampoline_handle, cname)
3648 @ccall MLIR. API. mlir_c. EnzymeJaXMapSymbol (
0 commit comments