mirror of
https://github.com/lordmathis/CUDANet.git
synced 2025-12-22 14:24:22 +00:00
Migrate conv2d layer to Tensor
This commit is contained in:
@@ -1,39 +1,20 @@
|
||||
#ifndef CUDANET_CONVOLUTION_H
|
||||
#define CUDANET_CONVOLUTION_H
|
||||
#pragma once
|
||||
|
||||
#include <cuda_runtime.h>
|
||||
#include "layer.hpp"
|
||||
|
||||
namespace CUDANet::Kernels {
|
||||
|
||||
/**
|
||||
* @brief Convolution kernel
|
||||
*
|
||||
* @param d_input Device pointer to the input matrix
|
||||
* @param d_kernel Device pointer to the convolution kernel
|
||||
* @param d_bias Device pointer to the bias
|
||||
* @param d_output Device pointer to the output matrix
|
||||
* @param inputSize Width and height of the input matrix
|
||||
* @param nChannels Number of channels in the input matrix
|
||||
* @param kernelSize Width and height of the convolution kernel
|
||||
* @param stride Convolution stride
|
||||
* @param nFilters Number of output filters
|
||||
* @param outputSize Width and height of the output matrix
|
||||
*/
|
||||
__global__ void convolution(
|
||||
const float* __restrict__ d_input,
|
||||
const float* __restrict__ d_kernel,
|
||||
const float* __restrict__ d_bias,
|
||||
float* __restrict__ d_output,
|
||||
const shape2d inputSize,
|
||||
const int nChannels,
|
||||
const shape2d paddingSize,
|
||||
const shape2d kernelSize,
|
||||
const shape2d stride,
|
||||
const int nFilters,
|
||||
const shape2d outputSize
|
||||
const Shape input_shape,
|
||||
const Shape padding_shape,
|
||||
const Shape kernel_shape,
|
||||
const Shape stride_shape,
|
||||
const Shape output_shape
|
||||
);
|
||||
|
||||
} // namespace CUDANet::Kernels
|
||||
|
||||
#endif // CUDANET_CONVOLUTION_H
|
||||
Reference in New Issue
Block a user