mv_aTb.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 
27 void mv_aTb(const raft::handle_t& handle,
29  const std::vector<Matrix::Data<double>*>& A,
30  const Matrix::PartDescriptor& ADesc,
31  const std::vector<Matrix::Data<double>*>& b,
32  cudaStream_t* streams,
33  int n_streams);
34 
35 void mv_aTb(const raft::handle_t& handle,
37  const std::vector<Matrix::Data<float>*>& A,
38  const Matrix::PartDescriptor& ADesc,
39  const std::vector<Matrix::Data<float>*>& b,
40  cudaStream_t* streams,
41  int n_streams);
42 
43 } // end namespace opg
44 } // end namespace LinAlg
45 } // end namespace MLCommon
void mv_aTb(const raft::handle_t &handle, Matrix::Data< double > &out, const std::vector< Matrix::Data< double > * > &A, const Matrix::PartDescriptor &ADesc, const std::vector< Matrix::Data< double > * > &b, cudaStream_t *streams, int n_streams)
performs MNMG A^T x b 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