Remove not needed code

This commit is contained in:
2024-02-29 22:21:32 +01:00
parent 0f0e57b819
commit 045359cca2
7 changed files with 14 additions and 29 deletions

View File

@@ -1,16 +1,12 @@
#include <functional>
#ifndef ACTIVATIONS_H #ifndef ACTIVATIONS_H
#define ACTIVATIONS_H #define ACTIVATIONS_H
__device__ float sigmoid(float a);
__device__ float relu(float a);
__device__ float linear(float a);
__global__ void __global__ void
sigmoid_kernel(const float* __restrict__ src, float* __restrict__ dst, int len); sigmoid_kernel(const float* __restrict__ src, float* __restrict__ dst, int len);
__global__ void __global__ void
relu_kernel(const float* __restrict__ src, float* __restrict__ dst, int len); relu_kernel(const float* __restrict__ src, float* __restrict__ dst, int len);
__global__ void __global__ void
linear_kernel(const float* __restrict__ src, float* __restrict__ dst, int len); linear_kernel(const float* __restrict__ src, float* __restrict__ dst, int len);

View File

@@ -2,18 +2,6 @@
#include "activations.cuh" #include "activations.cuh"
__device__ float sigmoid(float a) {
return 1.0 / (1.0 + exp(-a));
}
__device__ float relu(float a) {
return a < 0.0 ? 0.0 : a;
}
__device__ float linear(float a) {
return a;
}
__global__ void sigmoid_kernel( __global__ void sigmoid_kernel(
const float* __restrict__ src, const float* __restrict__ src,
float* __restrict__ dst, float* __restrict__ dst,
@@ -23,7 +11,7 @@ __global__ void sigmoid_kernel(
int tid = blockDim.x * blockIdx.x + threadIdx.x; int tid = blockDim.x * blockIdx.x + threadIdx.x;
for (int i = tid; i < len; i += stride) { for (int i = tid; i < len; i += stride) {
dst[i] = sigmoid(src[i]); dst[i] = 1.0 / (1.0 + exp(-src[i]));
} }
} }
@@ -33,7 +21,7 @@ relu_kernel(const float* __restrict__ src, float* __restrict__ dst, int len) {
int tid = blockDim.x * blockIdx.x + threadIdx.x; int tid = blockDim.x * blockIdx.x + threadIdx.x;
for (int i = tid; i < len; i += stride) { for (int i = tid; i < len; i += stride) {
dst[i] = relu(src[i]); dst[i] = src[i] < 0.0 ? 0.0 : src[i];
} }
} }
@@ -43,6 +31,6 @@ linear_kernel(const float* __restrict__ src, float* __restrict__ dst, int len) {
int tid = blockDim.x * blockIdx.x + threadIdx.x; int tid = blockDim.x * blockIdx.x + threadIdx.x;
for (int i = tid; i < len; i += stride) { for (int i = tid; i < len; i += stride) {
dst[i] = linear(src[i]); dst[i] = src[i];
} }
} }

View File

@@ -81,6 +81,8 @@ void Layers::Dense::forward(const float* d_input, float* d_output) {
d_output, d_output, outputSize d_output, d_output, outputSize
); );
} }
CUDA_CHECK(cudaDeviceSynchronize());
} }
void Layers::Dense::toCuda() { void Layers::Dense::toCuda() {

View File

@@ -1,10 +1,9 @@
#include <cuda_runtime_api.h> #include <cuda_runtime_api.h>
#include <driver_types.h> #include <gtest/gtest.h>
#include <iostream> #include <iostream>
#include "activations.cuh" #include "activations.cuh"
#include "gtest/gtest.h"
#include "test_cublas_fixture.cuh" #include "test_cublas_fixture.cuh"
class ActivationsTest : public CublasTestFixture { class ActivationsTest : public CublasTestFixture {

View File

@@ -1,11 +1,10 @@
#include <cuda_runtime_api.h> #include <cuda_runtime_api.h>
#include <driver_types.h> #include <gtest/gtest.h>
#include <iostream> #include <iostream>
#include "activations.cuh" #include "activations.cuh"
#include "dense.cuh" #include "dense.cuh"
#include "gtest/gtest.h"
#include "test_cublas_fixture.cuh" #include "test_cublas_fixture.cuh"
class DenseLayerTest : public CublasTestFixture { class DenseLayerTest : public CublasTestFixture {

View File

@@ -1,5 +1,6 @@
#include "cublas_v2.h" #include <cublas_v2.h>
#include "gtest/gtest.h" #include <gtest/gtest.h>
#include "test_cublas_fixture.cuh" #include "test_cublas_fixture.cuh"
cublasHandle_t CublasTestFixture::cublasHandle; cublasHandle_t CublasTestFixture::cublasHandle;

View File

@@ -1,5 +1,5 @@
#include "cublas_v2.h" #include <cublas_v2.h>
#include "gtest/gtest.h" #include <gtest/gtest.h>
class CublasTestFixture : public ::testing::Test { class CublasTestFixture : public ::testing::Test {
protected: protected: