Deepity
Ultra-fast, SIMD-accelerated Predictive Coding
Loading...
Searching...
No Matches
ActivationType.h File Reference

Just the ActivationType enum, deliberately split out of Activations.h – zero dependency on <immintrin.h>/<sleef.h>/<omp.h>. More...

#include <cstdint>

Go to the source code of this file.

Namespaces

namespace  Deep
 This file exists to provide both Tensor.h and IComputeBackend.h with device types without introducing circular dependencies.

Enumerations

enum class  Deep::ActivationType : uint8_t {
  Deep::RELU , Deep::dRELU , Deep::GELU , Deep::dGELU ,
  Deep::SIGMOID , Deep::dSIGMOID , Deep::eSIGMOID , Deep::d_eSIGMOID ,
  Deep::TANH , Deep::dTANH , Deep::LINEAR , Deep::dLINEAR ,
  Deep::NONE
}
 Identifies an activation function or its derivative, for dispatch tables and layer/backend APIs that need to name an activation without depending on the SIMD implementations themselves (see the file-level note above on why this is split out of Activations.h). More...

Detailed Description

Just the ActivationType enum, deliberately split out of Activations.h – zero dependency on <immintrin.h>/<sleef.h>/<omp.h>.

Why this exists: IComputeBackend.h's methods take ActivationType as a plain enum parameter and never touch the actual CPU SIMD function implementations (ActivationFn/DerivativeFn/To_Fn/etc. all live in the full Activations.h) – so IComputeBackend.h, and everything that includes it (crucially CUDABackend.h/.cu, compiled by nvcc), never needed the SIMD-intrinsics half of Activations.h at all.