MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / TEST_F

Function TEST_F

dnn/test/cuda/dilated_convolution.cpp:18–55  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16 "v" V(CUDNN_MAJOR) "." V(CUDNN_MINOR) "." V(CUDNN_PATCHLEVEL)
17
18TEST_F(CUDA, DILATED_CONVOLUTION_FORWARD) {
19 auto args = get_dilated_args();
20 Checker<ConvolutionForward> checker(handle_cuda());
21#if CUDNN_VERSION >= 7500
22 checker.set_before_exec_callback(
23 AlgoChecker<ConvolutionForward>(ExecutionPolicyAlgoName{
24 "DEFAULT",
25 {{ConvBiasForward::algo_name<ConvBiasForward::DefaultParam>(
26 "CUDNN:Convolution:CUDNN_CONVOLUTION_FWD_ALGO_"
27 "IMPLICIT_"
28 "PRECOMP_"
29 "GEMM" CUDNN_VERSION_STRING,
30 {})
31 .c_str(),
32 {}}}}));
33 printf("cudnn version >= 7.5, use cudnn impl for dilated convolution\n");
34#else
35 checker.set_before_exec_callback(
36 AlgoChecker<ConvolutionForward>(ExecutionPolicyAlgoName{
37 "DEFAULT",
38 {{ConvBiasForward::algo_name<ConvBiasForward::MatmulParam>(
39 "MATMUL", {})
40 .c_str(),
41 {{"CUBLAS", {}}}}}}));
42#endif
43 NormalRNG default_rng;
44 for (auto&& arg : args) {
45 float scale = 1.0f / sqrt(arg.filter[1] * arg.filter[2] * arg.filter[3]);
46 UniformFloatRNG rng(scale, 2 * scale);
47 checker.set_dtype(0, dtype::Float32())
48 .set_dtype(1, dtype::Float32())
49 .set_rng(0, &default_rng)
50 .set_rng(1, &default_rng)
51 .set_epsilon(1e-3)
52 .set_param(arg.param)
53 .execs({arg.src, arg.filter, {}});
54 }
55}
56
57TEST_F(CUDA, DILATED_CONVOLUTION_BACKWARD_DATA) {
58 std::vector<TestArg> args = get_dilated_args();

Callers

nothing calls this directly

Calls 13

TensorLayoutClass · 0.85
check_compute_capabilityFunction · 0.85
megcoreSynchronizeFunction · 0.85
set_dtypeMethod · 0.80
sqrtFunction · 0.50
execsMethod · 0.45
paramMethod · 0.45
deduce_layoutMethod · 0.45
execMethod · 0.45
tensorndMethod · 0.45

Tested by

no test coverage detected