MagmaDNN  1.0
c++NeuralNetworkFramework
reduce_sum.h
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #include "tensor/tensor.h"
13 #include "cblas.h"
14 #include "utilities_internal.h"
15 
16 #if defined(_HAS_CUDA_)
17 #include "magma.h"
18 #include "cudnn.h"
19 
20 #include "cublas_v2.h"
21 #endif
22 
23 namespace magmadnn {
24 namespace math {
25 
26 template <typename T>
27 void reduce_sum(Tensor<T> *x, int axis, Tensor<T> *ones, Tensor<T> *out);
28 
29 #if defined(_HAS_CUDA_)
30 struct reduce_sum_cudnn_settings_t {
31  cudnnReduceTensorDescriptor_t descriptor;
32  void *workspace;
33  size_t workspace_size;
34 };
35 
36 template <typename T>
37 void reduce_sum_device(Tensor<T> *x, int axis, Tensor<T> *out, reduce_sum_cudnn_settings_t settings);
38 #endif
39 
40 }
41 }
Definition: addop.cpp:11