#include <cuda.h>
#include <cuda_runtime.h>
#include <cuda_fp16.h>
#include <torch/extension.h>
#include <math.h>
#include <stdio.h>
#include "neuron_def.h"
__forceinline__ __device__ float grad_atan(const float & alpha, const float & x)
{
const float M_PI_2__alpha__x = (float) M_PI_2 * alpha * x;
return alpha / 2.0f / (1.0f + M_PI_2__alpha__x * M_PI_2__alpha__x);
}
__forceinline__ __device__ float grad_sigmoid(const float & alpha, const float & x)
{
const float sigmoid_ax = 1.0f / (1.0f + expf(- alpha * x));
return (1.0f - sigmoid_ax) * sigmoid_ax * alpha;
}
typedef float (*grad_surrogate_function) (const float &, const float &);
This file has been truncated. show original