Implement simple input layer

This commit is contained in:
2024-03-12 21:16:46 +01:00
parent 9d91896f13
commit 708164e4d0
5 changed files with 82 additions and 1 deletions

34
src/layers/input.cu Normal file
View File

@@ -0,0 +1,34 @@
#include "cuda_helper.cuh"
#include "input.cuh"
Layers::Input::Input(int inputSize) : inputSize(inputSize) {
d_output = nullptr;
CUDA_CHECK(cudaMalloc((void**)&d_output, sizeof(float) * inputSize));
}
Layers::Input::~Input() {
cudaFree(d_output);
}
/*
Copies host input to device d_output
Args
const float* input Host pointer to input data
float* d_output Device pointer to input data copied to device
*/
float* Layers::Input::forward(const float* input) {
CUDA_CHECK(cudaMemcpy(
d_output, input, sizeof(float) * inputSize, cudaMemcpyHostToDevice
));
return d_output;
}
void Layers::Input::setWeights(const float* weights) {}
void Layers::Input::setBiases(const float* biases) {}
void Layers::Input::initializeWeights() {}
void Layers::Input::initializeBiases() {}
void Layers::Input::toCuda() {}