svd.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2019-2025, NVIDIA CORPORATION.
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 #pragma once
6 
7 #include "../matrix/data.hpp"
8 #include "../matrix/part_descriptor.hpp"
9 
10 #include <raft/core/comms.hpp>
11 #include <raft/core/handle.hpp>
12 
13 namespace MLCommon {
14 namespace LinAlg {
15 namespace opg {
16 
20 void svdEig(const raft::handle_t& handle,
21  const std::vector<Matrix::Data<float>*>& A,
22  const Matrix::PartDescriptor& ADesc,
23  std::vector<Matrix::Data<float>*>& U,
24  float* S,
25  float* V,
26  cudaStream_t* streams,
27  int n_streams);
28 
29 void svdEig(const raft::handle_t& handle,
30  const std::vector<Matrix::Data<double>*>& A,
31  const Matrix::PartDescriptor& ADesc,
32  std::vector<Matrix::Data<double>*>& U,
33  double* S,
34  double* V,
35  cudaStream_t* streams,
36  int n_streams);
37 
38 } // end namespace opg
39 } // end namespace LinAlg
40 } // end namespace MLCommon
void svdEig(const raft::handle_t &handle, const std::vector< Matrix::Data< float > * > &A, const Matrix::PartDescriptor &ADesc, std::vector< Matrix::Data< float > * > &U, float *S, float *V, cudaStream_t *streams, int n_streams)
performs MNMG Least squares calculation.
Definition: comm_utils.h:11
This is a helper wrapper around the multi-gpu data blocks owned by a worker. It's design is NOT final...
Definition: data.hpp:18
Definition: part_descriptor.hpp:40