From 7896ff0e24c37c26ea1889fe4a6ec451132b0b3b Mon Sep 17 00:00:00 2001 From: LordMathis Date: Wed, 19 Nov 2025 20:37:41 +0100 Subject: [PATCH] Remove const from layer input --- include/layer.hpp | 2 +- include/layers/conv2d.hpp | 2 +- include/layers/dense.hpp | 2 +- src/backends/cuda/layers/conv2d.cu | 53 ------------------------------ src/layers/conv2d.cpp | 2 +- src/layers/dense.cpp | 2 +- 6 files changed, 5 insertions(+), 58 deletions(-) delete mode 100644 src/backends/cuda/layers/conv2d.cu diff --git a/include/layer.hpp b/include/layer.hpp index 77d50de..5b02346 100644 --- a/include/layer.hpp +++ b/include/layer.hpp @@ -20,7 +20,7 @@ class Layer { virtual ~Layer(){}; - virtual CUDANet::Tensor& forward(const CUDANet::Tensor &input) = 0; + virtual CUDANet::Tensor& forward(CUDANet::Tensor &input) = 0; virtual CUDANet::Shape input_shape() = 0; diff --git a/include/layers/conv2d.hpp b/include/layers/conv2d.hpp index 6c2f6ba..e3c4954 100644 --- a/include/layers/conv2d.hpp +++ b/include/layers/conv2d.hpp @@ -23,7 +23,7 @@ class Conv2d : public Layer { ~Conv2d() {}; - CUDANet::Tensor& forward(const CUDANet::Tensor& input) override; + CUDANet::Tensor& forward(CUDANet::Tensor& input) override; CUDANet::Shape input_shape() override; diff --git a/include/layers/dense.hpp b/include/layers/dense.hpp index 5046d8f..41d53f2 100644 --- a/include/layers/dense.hpp +++ b/include/layers/dense.hpp @@ -18,7 +18,7 @@ class Dense : public Layer { ~Dense(); - CUDANet::Tensor& forward(const CUDANet::Tensor &input) override; + CUDANet::Tensor& forward(CUDANet::Tensor &input) override; CUDANet::Shape input_shape() override; diff --git a/src/backends/cuda/layers/conv2d.cu b/src/backends/cuda/layers/conv2d.cu deleted file mode 100644 index ba66fd7..0000000 --- a/src/backends/cuda/layers/conv2d.cu +++ /dev/null @@ -1,53 +0,0 @@ -#include - -#include "activation.hpp" -#include "conv2d.hpp" -#include "convolution.cuh" -#include "cuda_helper.cuh" -#include "layer.hpp" -#include "matmul.cuh" -#include "vector.cuh" - -using namespace CUDANet::Layers; - -void Conv2d::initCUDA() { - d_output = nullptr; - CUDA_CHECK(cudaMalloc( - (void**)&d_output, - sizeof(float) * outputSize.first * outputSize.second * numFilters - )); - - d_weights = nullptr; - CUDA_CHECK(cudaMalloc( - (void**)&d_weights, sizeof(float) * kernelSize.first * - kernelSize.second * inputChannels * numFilters - )); - - d_biases = nullptr; - CUDA_CHECK(cudaMalloc((void**)&d_biases, sizeof(float) * numFilters)); -} - -void Conv2d::delCUDA() { - cudaFree(d_output); - cudaFree(d_weights); - cudaFree(d_biases); -} - -void Conv2d::toCuda() { - CUDA_CHECK(cudaMemcpy( - d_weights, weights.data(), - sizeof(float) * kernelSize.first * kernelSize.second * inputChannels * - numFilters, - cudaMemcpyHostToDevice - )); - - CUDA_CHECK(cudaMemcpy( - d_biases, biases.data(), sizeof(float) * numFilters, - cudaMemcpyHostToDevice - )); -} - -float* Conv2d::forwardCUDA(const float* d_input) { - // Convolve - -} diff --git a/src/layers/conv2d.cpp b/src/layers/conv2d.cpp index 5172188..d3e8f6d 100644 --- a/src/layers/conv2d.cpp +++ b/src/layers/conv2d.cpp @@ -83,7 +83,7 @@ Conv2d::Conv2d( Conv2d::~Conv2d() {} -CUDANet::Tensor& Conv2d::forward(const CUDANet::Tensor& input) { +CUDANet::Tensor& Conv2d::forward(CUDANet::Tensor& input) { output.zero(); backend->conv2d( weights, diff --git a/src/layers/dense.cpp b/src/layers/dense.cpp index d0aa6a3..57cf5e2 100644 --- a/src/layers/dense.cpp +++ b/src/layers/dense.cpp @@ -33,7 +33,7 @@ Dense::Dense(CUDANet::Shape in, CUDANet::Shape out, CUDANet::Backend* backend) Dense::~Dense() {} -CUDANet::Tensor& Dense::forward(const CUDANet::Tensor& input) { +CUDANet::Tensor& Dense::forward(CUDANet::Tensor& input) { backend->dense(weights, biases, input, output, in_shape[0], out_shape[0]); return output; }