math.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 "data.hpp"
8 #include "part_descriptor.hpp"
9 
10 #include <raft/core/comms.hpp>
11 
12 namespace MLCommon {
13 namespace Matrix {
14 namespace opg {
15 
16 template <bool rowMajor, bool bcastAlongRows>
18  const Matrix::PartDescriptor& inDesc,
19  const Matrix::Data<double>& vec,
20  bool return_zero,
21  const raft::comms::comms_t& comm,
22  cudaStream_t* streams,
23  int n_streams);
24 
25 template <bool rowMajor, bool bcastAlongRows>
27  const Matrix::PartDescriptor& inDesc,
28  const Matrix::Data<float>& vec,
29  bool return_zero,
30  const raft::comms::comms_t& comm,
31  cudaStream_t* streams,
32  int n_streams);
33 
34 template <bool rowMajor, bool bcastAlongRows>
36  const Matrix::PartDescriptor& inDesc,
37  const Matrix::Data<double>& vec,
38  const raft::comms::comms_t& comm,
39  cudaStream_t* streams,
40  int n_streams);
41 
42 template <bool rowMajor, bool bcastAlongRows>
44  const Matrix::PartDescriptor& inDesc,
45  const Matrix::Data<float>& vec,
46  const raft::comms::comms_t& comm,
47  cudaStream_t* streams,
48  int n_streams);
49 
50 }; // namespace opg
51 }; // end namespace Matrix
52 }; // end namespace MLCommon
void matrixVectorBinaryMult(std::vector< Matrix::Data< double > * > &data, const Matrix::PartDescriptor &inDesc, const Matrix::Data< double > &vec, const raft::comms::comms_t &comm, cudaStream_t *streams, int n_streams)
void matrixVectorBinaryDivSkipZero(std::vector< Matrix::Data< double > * > &data, const Matrix::PartDescriptor &inDesc, const Matrix::Data< double > &vec, bool return_zero, const raft::comms::comms_t &comm, cudaStream_t *streams, int n_streams)
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