nnlib
GPU-accelerated, C/C++ neural network library.
tensor_operations_on_host.h
Go to the documentation of this file.
1 
13 #ifndef NNLIB_TENSOR_OPERATIONS_ON_HOST_H
14 #define NNLIB_TENSOR_OPERATIONS_ON_HOST_H
15 
16 #include <tensor.h>
17 
24 void sumTensorOnHost(const Tensor& tensor, Tensor& destination);
25 
32 void fillTensorOnHost(Tensor& tensor, float value);
33 
34 void fillTensorOnHost(Tensor& tensor, const Tensor& value);
35 
43 void addTensorsOnHost(const Tensor& a, const Tensor& b, Tensor& destination);
44 
52 void subtractTensorsOnHost(const Tensor& a, const Tensor& b, Tensor& destination);
53 
61 void hadamardTensorsOnHost(const Tensor& a, const Tensor& b, Tensor& destination);
62 
70 void divideTensorsOnHost(const Tensor& a, const Tensor& b, Tensor& destination);
71 
78 void logTensorOnHost(const Tensor& a, Tensor& destination);
79 
87 void addBroadcastOnHost(const Tensor& matrix, const Tensor& vector, Tensor& destination);
88 
96 void multiplyTensorOnHost(const Tensor& tensor, float constant, Tensor& destination);
97 
105 void multiplyMatrixVectorOnHost(const Tensor& matrix, const Tensor& vector, Tensor& destination);
106 
114 void multiplyMatrixMatrixOnHost(const Tensor& m1, const Tensor& m2, Tensor& destination);
115 
122 void transposeMatrixOnHost(const Tensor& matrix, Tensor& destination);
123 
124 void reluTensorOnHost(const Tensor& tensor, Tensor& destination);
125 void reluDerivativeTensorOnHost(const Tensor& tensor, Tensor& destination);
126 
127 void sigmoidTensorOnHost(const Tensor& tensor, Tensor& destination);
128 
129 #endif //NNLIB_TENSOR_OPERATIONS_ON_HOST_H
Class to represent multidimensional arrays.
Definition: tensor.h:26
Header file declaring the Tensor class to represent multidimensional arrays.
void addBroadcastOnHost(const Tensor &matrix, const Tensor &vector, Tensor &destination)
Perform the broadcast-add operation.
Definition: tensor_operations_on_host.cpp:189
void logTensorOnHost(const Tensor &a, Tensor &destination)
Apply natural logarithm to each element of the tensor.
Definition: tensor_operations_on_host.cpp:183
void multiplyTensorOnHost(const Tensor &tensor, float constant, Tensor &destination)
Multiply a tensor with a constant.
Definition: tensor_operations_on_host.cpp:213
void fillTensorOnHost(Tensor &tensor, float value)
Fill a tensor with a constant value.
Definition: tensor_operations_on_host.cpp:73
void addTensorsOnHost(const Tensor &a, const Tensor &b, Tensor &destination)
Element-wise add two tensors.
Definition: tensor_operations_on_host.cpp:106
void divideTensorsOnHost(const Tensor &a, const Tensor &b, Tensor &destination)
Divide one tensor by another.
Definition: tensor_operations_on_host.cpp:164
void multiplyMatrixMatrixOnHost(const Tensor &m1, const Tensor &m2, Tensor &destination)
Multiply a matrix with a matrix.
Definition: tensor_operations_on_host.cpp:348
void sumTensorOnHost(const Tensor &tensor, Tensor &destination)
Sum all values of a tensor.
Definition: tensor_operations_on_host.cpp:51
void transposeMatrixOnHost(const Tensor &matrix, Tensor &destination)
Transpose a matrix.
Definition: tensor_operations_on_host.cpp:374
void hadamardTensorsOnHost(const Tensor &a, const Tensor &b, Tensor &destination)
Perform hadamard product (element-wise multiplication) between two tensors.
Definition: tensor_operations_on_host.cpp:144
void multiplyMatrixVectorOnHost(const Tensor &matrix, const Tensor &vector, Tensor &destination)
Multiply a matrix with a vector.
Definition: tensor_operations_on_host.cpp:232
void subtractTensorsOnHost(const Tensor &a, const Tensor &b, Tensor &destination)
Subtract one tensor from another.
Definition: tensor_operations_on_host.cpp:125