Skip to content

Commit 1a2a009

Browse files
committed
sycl: update documentation
1 parent c4b2695 commit 1a2a009

File tree

1 file changed

+77
-5
lines changed

1 file changed

+77
-5
lines changed

src/gpu/generic/sycl/README.md

+77-5
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,56 @@ one, the environment variable can be set to `cuda:*`.
3333

3434
# Supported Primitives
3535

36+
General limitations:
37+
38+
* Currently blocked formats are not supported by any implementation unless
39+
explicitly listed
40+
* There's a limit of maximum 5 post-ops for the implementations
41+
* The maximum supported size of any dimension of any input/output tensor of a
42+
primitive is `INT32_MAX`
43+
3644
## Batch Normalization
3745

3846
The implementation supports both forward and backward directions.
3947

4048
* Supported formats: `NCDHW`, `NDHWC`, `NCHW`, `NHWC`, `NCW`, `NWC`, `NC`
49+
* Supported data types
50+
* Forward direction: `f32`, `bf16`, `f16`, `s8`
51+
* Backward direction: `f32`, `bf16`, `f16`
52+
53+
## Binary
54+
55+
* Supported formats: plain formats, `Ab32a`, `aBc32b`
56+
* Supported data types: `f32`, `bf16`, `f16`, `s8`, `u8`, `s32`
57+
58+
## Convolution
59+
60+
The implementation supports forward, backward data and backward weights
61+
directions.
62+
63+
* Supported input/output formats: plain formats
64+
* Supported weights formats: `goiw`, `goihw`, `goidhw`, `oiw`, `oihw`, `oidhw`;
65+
* Supported data types: `f32`, `bf16`, `f16`, `s32`, `s8`, `u8`
66+
* Limitations
67+
* Some very large problem sizes currently return `unimplemented` due to an
68+
issue with long execution times
69+
70+
## Concat
71+
72+
A generic Concat implementation which uses the Reorder primitive is used. Refer
73+
to [src/gpu/generic/ref_concat.hpp](../ref_concat.hpp) for more information.
74+
75+
## Deconvolution
76+
77+
The implementation supports forward and backward data and backward weights
78+
directions.
79+
80+
* Supported input/output formats: plain formats
81+
* Supported weights formats: `goiw`, `goihw`, `goidhw`, `oiw`, `oihw`, `oidhw`;
82+
* Supported data types: `f32`, `bf16`, `f16`, `s32`, `s8`, `u8`
83+
* Limitations
84+
* Some very large problem sizes currently return `unimplemented` due to an
85+
issue with long execution times
4186

4287
## Eltwise
4388

@@ -47,50 +92,77 @@ The implementation supports both forward and backward directions.
4792
`gelu_tanh`, `hardsigmoid`, `hardswish`, `linear`, `log`, `logistic`, `mish`,
4893
`pow`, `relu`, `round`, `soft_relu`, `sqrt`, `square`,`swish` and `tanh`
4994
* Supported formats: `NCDHW`, `NDHWC`, `NCHW`, `NHWC`, `NCW`, `NWC`, `NC`, `N`
95+
* Supported data types: `f32`, `bf16`, `f16`, `s32`, `s8`, `u8`
96+
97+
## Layer Normalization
98+
99+
The implementation supports both forward and backward directions.
100+
101+
* Supported formats: `NCDHW`, `NDHWC`, `NCHW`, `NHWC`, `NCW`, `NWC`, `NC`
102+
* Supported input/output data types for forward direction: `f32`, `bf16`, `f16`,
103+
`s8`, `u8`
104+
* Supported input/output data types for backward direction: `f32`, `bf16`
105+
* Supported scale/shift data types: `f32`, `bf16`, `f16`
50106

51107
## LRN
52108

53109
The implementation supports both forward and backward directions.
54110

55111
* Supported formats: `NCDHW`, `NDHWC`, `NCHW`, `NHWC`, `NCW`, `NWC`, `NC`
112+
* Supported data types: `f32`, `bf16`, `f16`
113+
114+
## Matmul
115+
116+
* Supported formats: plain formats
117+
* Supported input/output data types: `f32`, `bf16`, `f16`, `s8`, `u8`, `s32`
118+
* Limitations
119+
* Runtime dims is not supported
120+
* PReLU post-op is not supported
56121

57122
## Pooling
58123

59124
The implementation supports both forward and backward directions.
60125

61126
* Supported formats: `NCDHW`, `NDHWC`, `NCHW`, `NHWC`, `NCW`, `NWC`
127+
* Supported data types for forward direction: f32, bf16, f16, s8, u8
128+
* Supported data types for backward direction: f32, bf16, f16
62129

63130
## PReLU
64131

65132
The implementation supports both forward and backward propagations.
66133

67134
* Supported formats: `NCDHW`, `NDHWC`, `NCHW`, `NHWC`, `NCW`, `NWC`, `NC`
68-
69-
* Forward pass supports `f32`, `f16`, `bf16`, `s8` and `u8` data types
70-
* Backward pass supports `f32` and `bf16` data types
135+
* Supported data types `f32`, `f16`, `bf16`, `s8` and `u8` data types
71136

72137
## Reorder
73138

74-
* Format support limitations: blocked formats are not supported
139+
* Supported formats: plain formats
75140
* Supported data types: `f32`, `bf16`, `f16`, `s8`, `u8`
76141

77142
## Resampling
78143

79144
The implementation supports both forward and backward directions.
80145

81146
* Supported formats: `NCDHW`, `NDHWC`, `NCHW`, `NHWC`, `NCW`, `NWC`
147+
* Supported data types: `f32`, `bf16`, `f16`, `s32`, `s8`, `u8`
82148

83149
## Softmax/LogSoftmax
84150

85151
The implementation supports both forward and backward directions.
86152

87153
* Supported formats: `NCDHW`, `NDHWC`, `NCHW`, `NHWC`, `NCW`, `NWC`, `NC`
154+
* Supported data types for forward direction: `f32`, `bf16`, `f16`, `s8`, `u8`
155+
* Supported data types for backward direction: `f32`, `bf16`, `f16`
88156

89157
## Shuffle
90158

91159
The implementation supports both forward and backward propagations.
92160

93161
* Supported formats: `NCDHW`, `NDHWC`, `NCHW`, `NHWC`, `NCW`, `NWC`, `NC`
94-
95162
* Forward pass supports `f32`, `f16`, `bf16` and `s8` data types.
96163
* Backward pass supports `f32` and `bf16` data types.
164+
165+
## Sum
166+
167+
* Supported formats: plain formats with up to 7 dimensions
168+
* Supported data types: `f32`, `bf16`, `f16`, `s8`, `u8`

0 commit comments

Comments
 (0)