27template<
typename AFloat>
34 cudaStream_t s = Y.GetComputeStream();
36 ::TMVA::DNN::Cuda::MeanSquaredError<<<gridDims, blockDims, 0, s>>>(
40 weights.GetDataPointer(),
47template<
typename AFloat>
55 cudaStream_t s =
output.GetComputeStream();
56 ::TMVA::DNN::Cuda::MeanSquaredErrorGradients<<<gridDims, blockDims, 0, s>>>(
60 weights.GetDataPointer(),
63 dY.SetComputeStream(s);
67template<
typename AFloat>
75 cudaStream_t s = Y.GetComputeStream();
76 ::TMVA::DNN::Cuda::CrossEntropy<<<gridDims, blockDims, 0, s>>>(
80 weights.GetDataPointer(),
87template<
typename AFloat>
95 cudaStream_t s =
output.GetComputeStream();
96 ::TMVA::DNN::Cuda::CrossEntropyGradients<<<gridDims, blockDims, 0, s>>>(
100 weights.GetDataPointer(),
103 dY.SetComputeStream(s);
107template<
typename AFloat>
115 cudaStream_t s = Y.GetComputeStream();
116 ::TMVA::DNN::Cuda::SoftmaxCrossEntropy<<<gridDims, blockDims, 0, s>>>(
120 weights.GetDataPointer(),
127template<
typename AFloat>
135 cudaStream_t s =
output.GetComputeStream();
136 ::TMVA::DNN::Cuda::SoftmaxCrossEntropyGradients<<<gridDims, blockDims, 0, s>>>(
140 weights.GetDataPointer(),
143 dY.SetComputeStream(s);
static AFloat GetDeviceReturn()
Transfer the value in the device return buffer to the host.
static AFloat * GetDeviceReturnPointer()
Return device pointer to the device return buffer.
static void ResetDeviceReturn(AFloat value=0.0)
Set the return buffer on the device to the specified value.
static Scalar_t CrossEntropy(const Matrix_t &Y, const Matrix_t &output, const Matrix_t &weights)
Sigmoid transformation is implicitly applied, thus output should hold the linear activations of the l...
static void MeanSquaredErrorGradients(Matrix_t &dY, const Matrix_t &Y, const Matrix_t &output, const Matrix_t &weights)
static Scalar_t MeanSquaredError(const Matrix_t &Y, const Matrix_t &output, const Matrix_t &weights)
static Scalar_t SoftmaxCrossEntropy(const Matrix_t &Y, const Matrix_t &output, const Matrix_t &weights)
Softmax transformation is implicitly applied, thus output should hold the linear activations of the l...
static void CrossEntropyGradients(Matrix_t &dY, const Matrix_t &Y, const Matrix_t &output, const Matrix_t &weights)
static void SoftmaxCrossEntropyGradients(Matrix_t &dY, const Matrix_t &Y, const Matrix_t &output, const Matrix_t &weights)
static dim3 BlockDims2D()
static dim3 GridDims2D(int nrows, int ncols)
static dim3 BlockDims1D()
static dim3 GridDims1D(const AMatrix &A)
create variable transformations