From a97ff8e1f69743d0a20380c8ad4b8c0c7a9373eb Mon Sep 17 00:00:00 2001 From: LordMathis Date: Sun, 23 Nov 2025 21:07:34 +0100 Subject: [PATCH] Update main include file --- include/backend/cuda/cuda_backend.cuh | 11 ++++ include/cudanet.cuh | 74 +++++++++++++++++---------- 2 files changed, 58 insertions(+), 27 deletions(-) create mode 100644 include/backend/cuda/cuda_backend.cuh diff --git a/include/backend/cuda/cuda_backend.cuh b/include/backend/cuda/cuda_backend.cuh new file mode 100644 index 0000000..d3d8e17 --- /dev/null +++ b/include/backend/cuda/cuda_backend.cuh @@ -0,0 +1,11 @@ +#pragma once + +// CUDA Backend Implementation +#include "backend/cuda/cuda.cuh" + +// CUDA Kernels +#include "backend/cuda/kernels/activation_functions.cuh" +#include "backend/cuda/kernels/convolution.cuh" +#include "backend/cuda/kernels/matmul.cuh" +#include "backend/cuda/kernels/pool.cuh" + diff --git a/include/cudanet.cuh b/include/cudanet.cuh index 24cec89..96067f5 100644 --- a/include/cudanet.cuh +++ b/include/cudanet.cuh @@ -1,35 +1,55 @@ -#ifndef CUDANET_H -#define CUDANET_H +#pragma once -#ifdef USE_CUDA -#include "activation_functions.cuh" -#include "convolution.cuh" -#include "matmul.cuh" -#include "pooling.cuh" -#endif +// ============================================================================ +// Core Data Structures & Abstractions (BACKEND-INDEPENDENT) +// ============================================================================ -// Layers -#include "activation.hpp" -#include "add.hpp" -#include "avg_pooling.hpp" -#include "batch_norm.hpp" -#include "concat.hpp" -#include "conv2d.hpp" -#include "dense.hpp" -#include "input.hpp" +#include "shape.hpp" +#include "backend.hpp" +#include "tensor.hpp" #include "layer.hpp" -#include "max_pooling.hpp" -#include "output.hpp" -// Models -#include "model.hpp" +// ============================================================================ +// Container Classes +// ============================================================================ + #include "module.hpp" +#include "model.hpp" + +// ============================================================================ +// Layer Implementations +// ============================================================================ + +// Activation +#include "layers/activation.hpp" + +// Normalization +#include "layers/batch_norm.hpp" + +// Linear +#include "layers/dense.hpp" + +// Convolutional +#include "layers/conv2d.hpp" + +// Pooling +#include "layers/max_pool.hpp" +#include "layers/avg_pool.hpp" + +// Composition (element-wise operations) +#include "layers/add.hpp" +#include "layers/concat.hpp" + +// ============================================================================ +// Utilities +// ============================================================================ + +#include "utils/imagenet.hpp" + +// ============================================================================ +// Backend-Specific Includes (conditionally compiled) +// ============================================================================ -// Utils -#include "imagenet.hpp" #ifdef USE_CUDA -#include "cuda_helper.cuh" -#include "vector.cuh" +#include "backend/cuda/cuda_backend.cuh" #endif - -#endif // CUDANET_H \ No newline at end of file