Migrate output layer

This commit is contained in:
2024-09-10 19:20:00 +02:00
parent f7b525e494
commit 74f49d6a00
6 changed files with 34 additions and 12 deletions

View File

@@ -0,0 +1,14 @@
#include "output.hpp"
#include "cuda_helper.cuh"
using namespace CUDANet::Layers;
float* Output::forwardCUDA(const float* input) {
CUDA_CHECK(cudaMemcpy(
h_output, input, sizeof(float) * inputSize, cudaMemcpyDeviceToHost
));
CUDA_CHECK(cudaDeviceSynchronize());
return h_output;
}

View File

@@ -1,6 +1,5 @@
#include "output.cuh"
#include "cuda_helper.cuh"
#include "output.hpp"
#include <stdexcept>
using namespace CUDANet::Layers;
@@ -13,13 +12,16 @@ Output::~Output() {
free(h_output);
}
float* Output::forward(const float* input) {
CUDA_CHECK(cudaMemcpy(
h_output, input, sizeof(float) * inputSize, cudaMemcpyDeviceToHost
));
CUDA_CHECK(cudaDeviceSynchronize());
float* Output::forwardCPU(const float* input) {
throw std::logic_error("Not implemented");
}
return h_output;
float* Output::forward(const float* input) {
#ifdef USE_CUDA
return forwardCUDA(input);
#else
return forwardCPU(input);
#endif
}
int Output::getOutputSize() {