Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
yangql
composable_kernel-1
Commits
85ae70d3
Commit
85ae70d3
authored
Jun 26, 2019
by
Chao Liu
Browse files
do more benchmark
parent
35269cf7
Changes
4
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
46 additions
and
1845 deletions
+46
-1845
driver/include/device_convolution_implicit_gemm_v4_nchw_kcyx_nkhw.hpp
...de/device_convolution_implicit_gemm_v4_nchw_kcyx_nkhw.hpp
+2
-2
driver/src/driver.cpp
driver/src/driver.cpp
+42
-25
driver/src/driver.cu
driver/src/driver.cu
+1
-909
driver/src/driver.cu
driver/src/driver.cu
+1
-909
No files found.
driver/include/device_convolution_implicit_gemm_v4_nchw_kcyx_nkhw.hpp
View file @
85ae70d3
...
@@ -59,7 +59,7 @@ void device_convolution_implicit_gemm_v4_nchw_kcyx_nkhw(InDesc,
...
@@ -59,7 +59,7 @@ void device_convolution_implicit_gemm_v4_nchw_kcyx_nkhw(InDesc,
constexpr
index_t
B
=
(
N
*
Ho
*
Wo
)
/
(
N1
*
N2
);
constexpr
index_t
B
=
(
N
*
Ho
*
Wo
)
/
(
N1
*
N2
);
#if
0
#if
1
constexpr
index_t
BlockSize
=
256
;
constexpr
index_t
BlockSize
=
256
;
constexpr
index_t
BPerBlock
=
16
;
constexpr
index_t
BPerBlock
=
16
;
...
@@ -93,7 +93,7 @@ void device_convolution_implicit_gemm_v4_nchw_kcyx_nkhw(InDesc,
...
@@ -93,7 +93,7 @@ void device_convolution_implicit_gemm_v4_nchw_kcyx_nkhw(InDesc,
constexpr
index_t
WeiBlockCopySrcDataPerRead_E
=
4
;
constexpr
index_t
WeiBlockCopySrcDataPerRead_E
=
4
;
constexpr
index_t
WeiBlockCopyDstDataPerWrite_K
=
1
;
constexpr
index_t
WeiBlockCopyDstDataPerWrite_K
=
1
;
#elif
1
#elif
0
constexpr
index_t
BlockSize
=
256
;
constexpr
index_t
BlockSize
=
256
;
constexpr
index_t
BPerBlock
=
16
;
constexpr
index_t
BPerBlock
=
16
;
...
...
driver/src/driver.cpp
View file @
85ae70d3
...
@@ -595,9 +595,9 @@ int main(int argc, char* argv[])
...
@@ -595,9 +595,9 @@ int main(int argc, char* argv[])
constexpr
index_t
HPad
=
0
;
constexpr
index_t
HPad
=
0
;
constexpr
index_t
WPad
=
0
;
constexpr
index_t
WPad
=
0
;
#elif
1
#elif
0
// 1x1 filter, 8x8 image
// 1x1 filter, 8x8 image
// cuDNN 68%,
miopen
34%
// cuDNN 68%,
ck:nvidia: 72.6%, ck:amd
34%
constexpr
index_t
N
=
64
;
constexpr
index_t
N
=
64
;
constexpr
index_t
C
=
1536
;
constexpr
index_t
C
=
1536
;
constexpr
index_t
HI
=
8
;
constexpr
index_t
HI
=
8
;
...
@@ -611,9 +611,9 @@ int main(int argc, char* argv[])
...
@@ -611,9 +611,9 @@ int main(int argc, char* argv[])
constexpr
index_t
HPad
=
0
;
constexpr
index_t
HPad
=
0
;
constexpr
index_t
WPad
=
0
;
constexpr
index_t
WPad
=
0
;
#elif
1
#elif
0
// 1x1 filter, 8x8 image
// 1x1 filter, 8x8 image
// cuDNN 77%,
miopen
47%
// cuDNN 77%,
ck:nvidia 76.4%, ck:amd
47%
constexpr
index_t
N
=
128
;
constexpr
index_t
N
=
128
;
constexpr
index_t
C
=
2048
;
constexpr
index_t
C
=
2048
;
constexpr
index_t
HI
=
8
;
constexpr
index_t
HI
=
8
;
...
@@ -627,9 +627,9 @@ int main(int argc, char* argv[])
...
@@ -627,9 +627,9 @@ int main(int argc, char* argv[])
constexpr
index_t
HPad
=
0
;
constexpr
index_t
HPad
=
0
;
constexpr
index_t
WPad
=
0
;
constexpr
index_t
WPad
=
0
;
#elif
1
#elif
0
// 1x1 filter, 7x7 image
// 1x1 filter, 7x7 image
// cuDNN 82%,
miopen
54%
// cuDNN 82%,
ck:nvidia 76.6%, ck:amd
54%
constexpr
index_t
N
=
128
;
constexpr
index_t
N
=
128
;
constexpr
index_t
C
=
832
;
constexpr
index_t
C
=
832
;
constexpr
index_t
HI
=
7
;
constexpr
index_t
HI
=
7
;
...
@@ -643,9 +643,9 @@ int main(int argc, char* argv[])
...
@@ -643,9 +643,9 @@ int main(int argc, char* argv[])
constexpr
index_t
HPad
=
0
;
constexpr
index_t
HPad
=
0
;
constexpr
index_t
WPad
=
0
;
constexpr
index_t
WPad
=
0
;
#elif
1
#elif
0
// 1x1 filter, 8x8 image
// 1x1 filter, 8x8 image
// cuDNN 83%,
miopen
58%
// cuDNN 83%,
ck:nvidia 75.4%, ck:amd
58%
constexpr
index_t
N
=
128
;
constexpr
index_t
N
=
128
;
constexpr
index_t
C
=
1280
;
constexpr
index_t
C
=
1280
;
constexpr
index_t
HI
=
8
;
constexpr
index_t
HI
=
8
;
...
@@ -659,9 +659,9 @@ int main(int argc, char* argv[])
...
@@ -659,9 +659,9 @@ int main(int argc, char* argv[])
constexpr
index_t
HPad
=
0
;
constexpr
index_t
HPad
=
0
;
constexpr
index_t
WPad
=
0
;
constexpr
index_t
WPad
=
0
;
#elif
1
#elif
0
// 1x1 filter, 14x14 image
// 1x1 filter, 14x14 image
// cuDNN 62%,
miopen
44%
// cuDNN 62%,
ck:nvidia 68.4%, ck:amd
44%
constexpr
index_t
N
=
128
;
constexpr
index_t
N
=
128
;
constexpr
index_t
C
=
512
;
constexpr
index_t
C
=
512
;
constexpr
index_t
HI
=
14
;
constexpr
index_t
HI
=
14
;
...
@@ -675,9 +675,9 @@ int main(int argc, char* argv[])
...
@@ -675,9 +675,9 @@ int main(int argc, char* argv[])
constexpr
index_t
HPad
=
0
;
constexpr
index_t
HPad
=
0
;
constexpr
index_t
WPad
=
0
;
constexpr
index_t
WPad
=
0
;
#elif
1
#elif
0
// 1x1 filter, 8x8 image
// 1x1 filter, 8x8 image
// cuDNN 74%,
miopen
52%
// cuDNN 74%,
ck:nvidia 57.1%, ck:amd
52%
constexpr
index_t
N
=
64
;
constexpr
index_t
N
=
64
;
constexpr
index_t
C
=
1536
;
constexpr
index_t
C
=
1536
;
constexpr
index_t
HI
=
8
;
constexpr
index_t
HI
=
8
;
...
@@ -691,9 +691,9 @@ int main(int argc, char* argv[])
...
@@ -691,9 +691,9 @@ int main(int argc, char* argv[])
constexpr
index_t
HPad
=
0
;
constexpr
index_t
HPad
=
0
;
constexpr
index_t
WPad
=
0
;
constexpr
index_t
WPad
=
0
;
#elif
1
#elif
0
// 1x1 filter, 28x28 image
// 1x1 filter, 28x28 image
// cuDNN 86%,
miopen
64%
// cuDNN 86%,
ck:nvidia 84.6%, ck:amd
64%
constexpr
index_t
N
=
128
;
constexpr
index_t
N
=
128
;
constexpr
index_t
C
=
256
;
constexpr
index_t
C
=
256
;
constexpr
index_t
HI
=
28
;
constexpr
index_t
HI
=
28
;
...
@@ -707,9 +707,9 @@ int main(int argc, char* argv[])
...
@@ -707,9 +707,9 @@ int main(int argc, char* argv[])
constexpr
index_t
HPad
=
0
;
constexpr
index_t
HPad
=
0
;
constexpr
index_t
WPad
=
0
;
constexpr
index_t
WPad
=
0
;
#elif
1
#elif
0
// 1x1 filter, 7x7 image
// 1x1 filter, 7x7 image
// cuDNN 71%,
miopen
54%
// cuDNN 71%,
ck:55.9%, ck:amd
54%
constexpr
index_t
N
=
128
;
constexpr
index_t
N
=
128
;
constexpr
index_t
C
=
832
;
constexpr
index_t
C
=
832
;
constexpr
index_t
HI
=
7
;
constexpr
index_t
HI
=
7
;
...
@@ -723,9 +723,9 @@ int main(int argc, char* argv[])
...
@@ -723,9 +723,9 @@ int main(int argc, char* argv[])
constexpr
index_t
HPad
=
0
;
constexpr
index_t
HPad
=
0
;
constexpr
index_t
WPad
=
0
;
constexpr
index_t
WPad
=
0
;
#elif
1
#elif
0
// 3x3 filter, 2x2 stride, 35x35 input, 17x17 output
// 3x3 filter, 2x2 stride, 35x35 input, 17x17 output
// cuDNN 90%,
miopen
73%
// cuDNN 90%,
ck:nvidia 93%, ck:amd
73%
constexpr
index_t
N
=
128
;
constexpr
index_t
N
=
128
;
constexpr
index_t
C
=
288
;
constexpr
index_t
C
=
288
;
constexpr
index_t
HI
=
35
;
constexpr
index_t
HI
=
35
;
...
@@ -739,9 +739,9 @@ int main(int argc, char* argv[])
...
@@ -739,9 +739,9 @@ int main(int argc, char* argv[])
constexpr
index_t
HPad
=
0
;
constexpr
index_t
HPad
=
0
;
constexpr
index_t
WPad
=
0
;
constexpr
index_t
WPad
=
0
;
#elif
1
#elif
0
// 1x1 filter, 17x17 input
// 1x1 filter, 17x17 input
// cuDNN 81%,
miopen
66%
// cuDNN 81%,
ck:nvidia 76.8%, ck:amd
66%
constexpr
index_t
N
=
128
;
constexpr
index_t
N
=
128
;
constexpr
index_t
C
=
768
;
constexpr
index_t
C
=
768
;
constexpr
index_t
HI
=
17
;
constexpr
index_t
HI
=
17
;
...
@@ -757,7 +757,23 @@ int main(int argc, char* argv[])
...
@@ -757,7 +757,23 @@ int main(int argc, char* argv[])
constexpr
index_t
WPad
=
0
;
constexpr
index_t
WPad
=
0
;
#elif 1
#elif 1
// 1x1 filter, 14x14 image
// 1x1 filter, 14x14 image
// cuDNN 73%, miopen 65%
// cuDNN 73%, ck:nvidia 72.7%, ck:amd 65%
constexpr
index_t
N
=
128
;
constexpr
index_t
C
=
528
;
constexpr
index_t
HI
=
14
;
constexpr
index_t
WI
=
14
;
constexpr
index_t
K
=
128
;
constexpr
index_t
Y
=
1
;
constexpr
index_t
X
=
1
;
using
ConvStrides
=
Sequence
<
1
,
1
>
;
using
ConvDilations
=
Sequence
<
1
,
1
>
;
constexpr
index_t
HPad
=
0
;
constexpr
index_t
WPad
=
0
;
#elif 0
// 1x1 filter, 14x14 image
// cuDNN 73%, ck:nvidia 72.7%, ck:amd 65%
constexpr
index_t
N
=
128
;
constexpr
index_t
N
=
128
;
constexpr
index_t
C
=
528
;
constexpr
index_t
C
=
528
;
constexpr
index_t
HI
=
14
;
constexpr
index_t
HI
=
14
;
...
@@ -771,14 +787,15 @@ int main(int argc, char* argv[])
...
@@ -771,14 +787,15 @@ int main(int argc, char* argv[])
constexpr
index_t
HPad
=
0
;
constexpr
index_t
HPad
=
0
;
constexpr
index_t
WPad
=
0
;
constexpr
index_t
WPad
=
0
;
#elif
1
#elif
0
// 1x1 filter, 7x7 image
// 1x1 filter, 7x7 image
// cuDNN 49%,
miopen
45%
// cuDNN 49%,
ck:nvidia 52.8%, ck:amd
45%
constexpr
index_t
N
=
128
;
constexpr
index_t
N
=
128
;
constexpr
index_t
C
=
832
;
constexpr
index_t
C
=
832
;
constexpr
index_t
HI
=
7
;
constexpr
index_t
HI
=
7
;
constexpr
index_t
WI
=
7
;
constexpr
index_t
WI
=
7
;
constexpr
index_t
K
=
128
constexpr
index_t
Y
=
1
;
constexpr
index_t
K
=
128
;
constexpr
index_t
Y
=
1
;
constexpr
index_t
X
=
1
;
constexpr
index_t
X
=
1
;
using
ConvStrides
=
Sequence
<
1
,
1
>
;
using
ConvStrides
=
Sequence
<
1
,
1
>
;
...
...
driver/src/driver.cu
deleted
100644 → 0
View file @
35269cf7
This diff is collapsed.
Click to expand it.
driver/src/driver.cu
0 → 120000
View file @
85ae70d3
driver
.
cpp
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment