blob: f97a148a20af4b3cdf197244491786c4926550fb [file] [log] [blame]
#include <THC/THC.h>
#include <THC/THCApply.cuh>
#define THIndexTensor THCudaTensor
#define THIndexTensor_(NAME) THCudaTensor_ ## NAME
#define THIntegerTensor THCudaTensor
#define THIntegerTensor_(NAME) THCudaTensor_ ## NAME
TH_API void THNN_CudaAbs_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output);
TH_API void THNN_CudaAbs_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput);
TH_API void THNN_CudaAbsCriterion_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *output,
bool sizeAverage);
TH_API void THNN_CudaAbsCriterion_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *gradInput,
bool sizeAverage);
TH_API void THNN_CudaClassNLLCriterion_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *output,
bool sizeAverage,
THCudaTensor *weights,
THCudaTensor *total_weight);
TH_API void THNN_CudaClassNLLCriterion_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *gradInput,
bool sizeAverage,
THCudaTensor *weights,
THCudaTensor *total_weight);
TH_API void THNN_CudaSpatialClassNLLCriterion_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *output,
bool sizeAverage,
THCudaTensor *weights,
THCudaTensor *total_weight);
TH_API void THNN_CudaSpatialClassNLLCriterion_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *gradInput,
bool sizeAverage,
THCudaTensor *weights,
THCudaTensor *total_weight);
TH_API void THNN_CudaDistKLDivCriterion_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *output,
bool sizeAverage);
TH_API void THNN_CudaDistKLDivCriterion_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *gradInput,
bool sizeAverage);
TH_API void THNN_CudaELU_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
float alpha,
bool inplace);
TH_API void THNN_CudaELU_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *output,
float alpha,
bool inplace);
TH_API void THNN_CudaHardTanh_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
float min_val,
float max_val,
bool inplace);
TH_API void THNN_CudaHardTanh_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
float min_val,
float max_val,
bool inplace);
TH_API void THNN_CudaL1Cost_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output);
TH_API void THNN_CudaL1Cost_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput);
TH_API void THNN_CudaLeakyReLU_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
double negval, bool inplace);
TH_API void THNN_CudaLeakyReLU_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
double negval,
bool inplace);
TH_API void THNN_CudaLogSigmoid_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *buffer);
TH_API void THNN_CudaLogSigmoid_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *buffer);
TH_API void THNN_CudaLogSoftMax_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output);
TH_API void THNN_CudaLogSoftMax_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *output);
TH_API void THNN_CudaLookupTable_accGradParameters(
THCState *state,
THIndexTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradWeight,
THIntegerTensor *count,
THCudaTensor *sorted,
THCudaTensor *indices,
bool scaleGradByFreq,
int paddingValue,
float scale);
TH_API void THNN_CudaLookupTable_renorm(
THCState *state,
THIndexTensor *idx,
THCudaTensor *weight,
float maxNorm,
float normType);
TH_API void THNN_CudaMarginCriterion_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *output,
bool sizeAverage,
float margin);
TH_API void THNN_CudaMarginCriterion_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *gradInput,
bool sizeAverage,
float margin);
TH_API void THNN_CudaSoftMarginCriterion_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *output,
int sizeAverage);
TH_API void THNN_CudaSoftMarginCriterion_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *gradInput,
int sizeAverage);
TH_API void THNN_CudaMSECriterion_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *output,
bool sizeAverage);
TH_API void THNN_CudaMSECriterion_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *gradInput,
bool sizeAverage);
TH_API void THNN_CudaMultiMarginCriterion_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *output,
bool sizeAverage,
int p,
THCudaTensor *weights,
float margin);
TH_API void THNN_CudaMultiMarginCriterion_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *gradInput,
bool sizeAverage,
int p,
THCudaTensor *weights,
float margin);
TH_API void THNN_CudaMultiLabelMarginCriterion_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *output,
THCudaTensor *istarget,
bool sizeAverage);
TH_API void THNN_CudaMultiLabelMarginCriterion_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *gradInput,
THCudaTensor *istarget,
bool sizeAverage);
TH_API void THNN_CudaPReLU_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *weight,
long nOutputPlane);
TH_API void THNN_CudaPReLU_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *weight,
long nOutputPlane);
TH_API void THNN_CudaPReLU_accGradParameters(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *weight,
THCudaTensor *gradWeight,
THCudaTensor *gradWeightBuf,
THCudaTensor *gradWeightBuf2,
long nOutputPlane,
float scale);
TH_API void THNN_CudaRReLU_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *noise,
double lower,
double upper,
bool train,
bool inplace,
void *generator);
TH_API void THNN_CudaRReLU_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *noise,
double lower,
double upper,
bool train,
bool inplace);
TH_API void THNN_CudaSigmoid_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output);
TH_API void THNN_CudaSigmoid_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *output);
TH_API void THNN_CudaSmoothL1Criterion_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *output,
bool sizeAverage);
TH_API void THNN_CudaSmoothL1Criterion_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *target,
THCudaTensor *gradInput,
bool sizeAverage);
TH_API void THNN_CudaSoftMax_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output);
TH_API void THNN_CudaSoftMax_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *output);
TH_API void THNN_CudaSoftPlus_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
float beta,
float threshold);
TH_API void THNN_CudaSoftPlus_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *output,
float beta,
float threshold);
TH_API void THNN_CudaSoftShrink_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
double lambda);
TH_API void THNN_CudaSoftShrink_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
double lambda);
TH_API void THNN_CudaSqrt_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
float eps);
TH_API void THNN_CudaSqrt_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *output);
TH_API void THNN_CudaSquare_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output);
TH_API void THNN_CudaSquare_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput);
TH_API void THNN_CudaTanh_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output);
TH_API void THNN_CudaTanh_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *output);
TH_API void THNN_CudaThreshold_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
double threshold,
double val,
bool inplace);
TH_API void THNN_CudaThreshold_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
double threshold,
bool inplace);
TH_API void THNN_CudaTemporalConvolution_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *weight,
THCudaTensor *bias,
int kW, int dW,
int inputFrameSize,
int outputFrameSize);
TH_API void THNN_CudaTemporalConvolution_updateGradInput(
THCState* state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *weight,
int kW, int dW);
TH_API void THNN_CudaTemporalConvolution_accGradParameters(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradWeight,
THCudaTensor *gradBias,
int kW, int dW,
float scale);
TH_API void THNN_CudaTemporalMaxPooling_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *indices,
int kW, int dW);
TH_API void THNN_CudaTemporalMaxPooling_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *indices,
int kW, int dW);
TH_API void THNN_CudaSparseLinear_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *weight,
THCudaTensor *bias);
TH_API void THNN_CudaSparseLinear_accGradParameters(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradWeight,
THCudaTensor *gradBias,
THCudaTensor *weight,
THCudaTensor *bias,
double weightDecay,
double scale);
TH_API void THNN_CudaSparseLinear_legacyUpdateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *weight,
THCudaTensor *bias);
TH_API void THNN_CudaSparseLinear_legacyAccGradParameters(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradWeight,
THCudaTensor *gradBias,
THCudaTensor *weight,
THCudaTensor *bias,
double weightDecay,
double scale);
TH_API void THNN_CudaSparseLinear_zeroGradParameters(
THCState *state,
THCudaTensor *gradWeight,
THCudaTensor *gradBias,
THCudaTensor *lastInput);
TH_API void THNN_CudaSparseLinear_updateParameters(
THCState *state,
THCudaTensor *weight,
THCudaTensor *bias,
THCudaTensor *gradWeight,
THCudaTensor *gradBias,
THCudaTensor *lastInput,
double learningRate);
TH_API void THNN_CudaBatchNormalization_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *weight,
THCudaTensor *bias,
THCudaTensor *runningMean,
THCudaTensor *runningVar,
THCudaTensor *saveMean,
THCudaTensor *saveStd,
bool train,
double momentum,
double eps);
TH_API void THNN_CudaBatchNormalization_backward(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *gradWeight,
THCudaTensor *gradBias,
THCudaTensor *weight,
THCudaTensor *running_mean,
THCudaTensor *running_var,
THCudaTensor *save_mean,
THCudaTensor *save_std,
bool train,
float scale,
double eps);
TH_API void THNN_CudaSpatialConvolutionMM_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *weight,
THCudaTensor *bias,
THCudaTensor *columns,
THCudaTensor *ones,
int kW, int kH,
int dW, int dH,
int padW, int padH);
TH_API void THNN_CudaSpatialConvolutionMM_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *weight,
THCudaTensor *columns,
THCudaTensor *ones,
int kW, int kH,
int dW, int dH,
int padW, int padH);
TH_API void THNN_CudaSpatialConvolutionMM_accGradParameters(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradWeight,
THCudaTensor *gradBias,
THCudaTensor *columns,
THCudaTensor *ones,
int kW, int kH,
int dW, int dH,
int padW, int padH,
float scale);
TH_API void THNN_CudaSpatialConvolutionLocal_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *weight,
THCudaTensor *bias,
THCudaTensor *finput,
THCudaTensor *fgradInput,
int kW, int kH,
int dW, int dH,
int padW, int padH,
long inputWidth, long inputHeight,
long outputWidth, long outputHeight);
TH_API void THNN_CudaSpatialConvolutionLocal_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *weight,
THCudaTensor *finput,
THCudaTensor *fgradInput,
int kW, int kH,
int dW, int dH,
int padW, int padH,
long inputWidth, long inputHeight,
long outputWidth, long outputHeight);
TH_API void THNN_CudaSpatialConvolutionLocal_accGradParameters(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradWeight,
THCudaTensor *gradBias,
THCudaTensor *finput,
THCudaTensor *fgradInput,
int kW, int kH,
int dW, int dH,
int padW, int padH,
long inputWidth, long inputHeight,
long outputWidth, long outputHeight,
float scale);
TH_API void THNN_CudaSpatialFullConvolution_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *weight,
THCudaTensor *bias,
THCudaTensor *columns,
THCudaTensor *ones,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int adjW, int adjH);
TH_API void THNN_CudaSpatialFullConvolution_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *weight,
THCudaTensor *gradColumns,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int adjW, int adjH);
TH_API void THNN_CudaSpatialFullConvolution_accGradParameters(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradWeight,
THCudaTensor *gradBias,
THCudaTensor *columns,
THCudaTensor *ones,
int kW, int kH,
int dW, int dH,
int padW, int padH,
int adjW, int adjH,
float scale);
TH_API void THNN_CudaSpatialDilatedConvolution_updateOutput(THCState *state,
THCudaTensor *input, THCudaTensor *output, THCudaTensor *weight,
THCudaTensor *bias, THCudaTensor *columns,
THCudaTensor *ones, int kW, int kH, int dW, int dH,
int padW, int padH, int dilationW, int dilationH);
TH_API void THNN_CudaSpatialDilatedConvolution_updateGradInput(THCState *state,
THCudaTensor *input, THCudaTensor *gradOutput,
THCudaTensor *gradInput, THCudaTensor *weight,
THCudaTensor *gradColumns,
int kW, int kH, int dW, int dH, int padW, int padH,
int dilationW, int dilationH );
TH_API void THNN_CudaSpatialDilatedConvolution_accGradParameters(THCState *state,
THCudaTensor *input, THCudaTensor *gradOutput,
THCudaTensor *gradWeight, THCudaTensor *gradBias,
THCudaTensor *columns, THCudaTensor *ones,
int kW, int kH, int dW, int dH,
int padW, int padH, int dilationW, int dilationH, float scale);
TH_API void THNN_CudaSpatialCrossMapLRN_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *scale,
int size,
float alpha,
float beta,
float k);
TH_API void THNN_CudaSpatialCrossMapLRN_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *scale,
THCudaTensor *output,
int size,
float alpha,
float beta,
float k);
TH_API void THNN_CudaSpatialAdaptiveMaxPooling_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *indices,
int nOutputCols,
int nOutputRows);
TH_API void THNN_CudaSpatialAdaptiveMaxPooling_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *indices);
TH_API void THNN_CudaSpatialAveragePooling_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
int kW, int kH,
int dW, int dH,
int padW, int padH,
bool ceil_mode,
bool count_include_pad);
TH_API void THNN_CudaSpatialAveragePooling_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
int kW, int kH,
int dW, int dH,
int padW, int padH,
bool ceil_mode,
bool count_include_pad);
TH_API void THNN_CudaSpatialMaxPooling_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *indices,
int kW, int kH,
int dW, int dH,
int padW, int padH,
bool ceil_mode);
TH_API void THNN_CudaSpatialMaxPooling_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *indices,
int kW, int kH,
int dW, int dH,
int padW, int padH,
bool ceil_mode);
TH_API void THNN_CudaSpatialMaxUnpooling_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *indices,
int owidth, int oheight);
TH_API void THNN_CudaSpatialMaxUnpooling_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *indices,
int owidth, int oheight);
TH_API void THNN_CudaSpatialFractionalMaxPooling_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
int outputW, int outputH,
int poolSizeW, int poolSizeH,
THCudaTensor *indices,
THCudaTensor *randomSamples);
TH_API void THNN_CudaSpatialFractionalMaxPooling_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
int outputW, int outputH,
int poolSizeW, int poolSizeH,
THCudaTensor *indices);
TH_API void THNN_CudaSpatialSubSampling_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *weight,
THCudaTensor *bias,
int kW, int kH,
int dW, int dH);
TH_API void THNN_CudaSpatialSubSampling_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *weight,
int kW, int kH,
int dW, int dH);
TH_API void THNN_CudaSpatialSubSampling_accGradParameters(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradWeight,
THCudaTensor *gradBias,
int kW, int kH,
int dW, int dH,
float scale);
TH_API void THNN_CudaSpatialUpSamplingNearest_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
int scale_factor);
TH_API void THNN_CudaSpatialUpSamplingNearest_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
int scale_factor);
TH_API void THNN_CudaSpatialUpSamplingBilinear_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output);
TH_API void THNN_CudaSpatialUpSamplingBilinear_updateGradInput(
THCState *state,
THCudaTensor *gradOutput,
THCudaTensor *gradInput);
TH_API void THNN_CudaVolumetricAveragePooling_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
int kT, int kW, int kH,
int dT, int dW, int dH);
TH_API void THNN_CudaVolumetricAveragePooling_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
int kT, int kW, int kH,
int dT, int dW, int dH);
TH_API void THNN_CudaVolumetricConvolution_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *weight,
THCudaTensor *bias,
THCudaTensor *finput,
THCudaTensor *fgradInput,
int dT, int dW, int dH,
int padT, int padW, int padH);
TH_API void THNN_CudaVolumetricConvolution_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *weight,
THCudaTensor *finput,
int dT, int dW, int dH,
int padT, int padW, int padH);
TH_API void THNN_CudaVolumetricConvolution_accGradParameters(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradWeight,
THCudaTensor *gradBias,
THCudaTensor *finput,
THCudaTensor *fgradInput,
int dT, int dW, int dH,
int padT, int padW, int padH,
float scale);
TH_API void THNN_CudaVolumetricFullConvolution_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *weight,
THCudaTensor *bias,
THCudaTensor *finput,
THCudaTensor *fgradInput,
int dT, int dW, int dH,
int padT, int padW, int padH,
int adjT, int adjW, int adjH);
TH_API void THNN_CudaVolumetricFullConvolution_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *weight,
THCudaTensor *finput,
THCudaTensor *fgradInput,
int dT, int dW, int dH,
int padT, int padW, int padH,
int adjT, int adjW, int adjH);
TH_API void THNN_CudaVolumetricFullConvolution_accGradParameters(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradWeight,
THCudaTensor *gradBias,
THCudaTensor *finput,
THCudaTensor *fgradInput,
int dT, int dW, int dH,
int padT, int padW, int padH,
int adjT, int adjW, int adjH,
float scale);
TH_API void THNN_CudaVolumetricMaxPooling_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *indices,
int kT, int kW, int kH,
int dT, int dW, int dH,
int padT, int padW, int padH,
bool ceilMode);
TH_API void THNN_CudaVolumetricMaxPooling_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *indices,
int dT, int dW, int dH,
int padT, int padW, int padH);
TH_API void THNN_CudaVolumetricMaxUnpooling_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
THCudaTensor *indices,
int outputTime, int outputWidth, int outputHeight,
int dT, int dW, int dH,
int padT, int padW, int padH);
TH_API void THNN_CudaVolumetricMaxUnpooling_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
THCudaTensor *indices,
int outputTime, int outputWidth, int outputHeight,
int dT, int dW, int dH,
int padT, int padW, int padH);
TH_API void THNN_CudaSpatialReflectionPadding_updateOutput(THCState *state,
THCudaTensor *input,
THCudaTensor *output,
int padL, int padR,
int padT, int padB
);
TH_API void THNN_CudaSpatialReflectionPadding_updateGradInput(THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
int padL, int padR,
int padT, int padB);
TH_API void THNN_CudaSpatialReplicationPadding_updateOutput(THCState *state,
THCudaTensor *input,
THCudaTensor *output,
int padL, int padR,
int padT, int padB
);
TH_API void THNN_CudaSpatialReplicationPadding_updateGradInput(THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
int padL, int padR,
int padT, int padB);
TH_API void THNN_CudaVolumetricReplicationPadding_updateOutput(
THCState *state,
THCudaTensor *input,
THCudaTensor *output,
int pleft, int pright,
int ptop, int pbottom,
int pfront, int pback);
TH_API void THNN_CudaVolumetricReplicationPadding_updateGradInput(
THCState *state,
THCudaTensor *input,
THCudaTensor *gradOutput,
THCudaTensor *gradInput,
int pleft, int pright,
int ptop, int pbottom,
int pfront, int pback);