base.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2018-2022, NVIDIA CORPORATION.
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 #pragma once
6 
7 #include <raft/core/handle.hpp>
8 #include <raft/core/interruptible.hpp>
9 #include <raft/util/cuda_utils.cuh>
10 
11 namespace ML {
12 
13 template <typename T>
14 struct SimpleDenseMat;
15 
16 template <typename T>
17 struct SimpleMat {
18  int m, n;
19 
20  SimpleMat(int m, int n) : m(m), n(n) {}
21 
22  void operator=(const SimpleMat<T>& other) = delete;
23 
24  virtual void print(std::ostream& oss) const = 0;
25 
33  virtual void gemmb(const raft::handle_t& handle,
34  const T alpha,
35  const SimpleDenseMat<T>& A,
36  const bool transA,
37  const bool transB,
38  const T beta,
40  cudaStream_t stream) const = 0;
41 };
42 
43 }; // namespace ML
Definition: dbscan.hpp:18
Definition: dense.hpp:30
Definition: base.hpp:17
int m
Definition: base.hpp:18
int n
Definition: base.hpp:18
virtual void print(std::ostream &oss) const =0
void operator=(const SimpleMat< T > &other)=delete
virtual void gemmb(const raft::handle_t &handle, const T alpha, const SimpleDenseMat< T > &A, const bool transA, const bool transB, const T beta, SimpleDenseMat< T > &C, cudaStream_t stream) const =0
SimpleMat(int m, int n)
Definition: base.hpp:20