Benchmark cuDNN for different DL layers.
See the docs
folder for a description of the benchmarks.
./scripts/run_benchmarks.sh
You need a recent CMAKE which can be downloaded from https://apt.kitware.com/
./scripts/run_benchmarks_cupti.sh
The parameters for the convolution benchmarks are taken from Baidu Research DeepBench. Benchmarks for the other layer types also use these parameters for now.
GENERATED_BENCHMARK_LAYER
To update sugar files for compilation, run
python $SCOPE_PATH/tools/generate_sugar_files.py --top $SCOPE_PATH/scopes/cudnn_scope/src/
Inputs to layers are either arg.hpp or derived form it. The arguments are from the convolution in Baidu DeepBench
cudnnActivationMode_t cudnnSetActivationDescriptor
cudnnBatchNormalizationBackward
cudnnBatchNormalizationForwardTraining
cudnnBatchNormalizationForwardInference
cudnnDeriveBNTensorDescriptor cudnnBatchNormMode_t
- CUDNN_CONV_BIAS_ACTIVATION_FWD
- CUDNN_CONV_BWD_BIAS
- CUDNN_CONV_BWD_DATA
- CUDNN_CONV_BWD_FILTER
- CUDNN_CONV_FWD
cudnnConvolutionBiasActivationForward
cudnnConvolutionBackwardFilter
cudnnConvolutionBwdDataAlgo_t cudnnConvolutionBwdFilterAlgo_t cudnnConvolutionFwdAlgo_t cudnnSetConvolution2dDescriptor cudnnGetConvolution2dForwardOutputDim cudnnGetConvolutionForwardWorkspaceSize
cudnnDropoutGetStatesSize cudnnSetDropoutDescriptor cudnnDropoutGetReserveSpaceSize
cudnnGetPooling2dForwardOutputDim cudnnSetPooling2dDescriptor