sparse_api.yaml 8.2 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
- api : abs
  args : (Tensor x)
  output : Tensor(out)
  kernel :
    func : abs_coo{sparse_coo -> sparse_coo},
           abs_csr{sparse_csr -> sparse_csr}
    layout : x
  backward : abs_grad

- api : acos
  args : (Tensor x)
  output : Tensor(out)
  kernel :
    func : acos_coo{sparse_coo -> sparse_coo},
           acos_csr{sparse_csr -> sparse_csr}
    layout : x
  backward : acos_grad

- api : acosh
  args : (Tensor x)
  output : Tensor(out)
  kernel :
    func : acosh_coo{sparse_coo -> sparse_coo},
           acosh_csr{sparse_csr -> sparse_csr}
    layout : x
  backward : acosh_grad

28 29 30 31
- api : add
  args : (Tensor x, Tensor y)
  output : Tensor(out)
  kernel :
32 33
    func : add_coo_coo{sparse_coo, sparse_coo -> sparse_coo},
           add_csr_csr{sparse_csr, sparse_csr -> sparse_csr}
34 35 36
    layout : x
  backward : add_grad

37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
- api : asin
  args : (Tensor x)
  output : Tensor(out)
  kernel :
    func : asin_coo{sparse_coo -> sparse_coo},
           asin_csr{sparse_csr -> sparse_csr}
    layout : x
  backward : asin_grad

- api : asinh
  args : (Tensor x)
  output : Tensor(out)
  kernel :
    func : asinh_coo{sparse_coo -> sparse_coo},
           asinh_csr{sparse_csr -> sparse_csr}
    layout : x
  backward : asinh_grad

- api : atan
  args : (Tensor x)
  output : Tensor(out)
  kernel :
    func : atan_coo{sparse_coo -> sparse_coo},
           atan_csr{sparse_csr -> sparse_csr}
    layout : x
  backward : atan_grad

- api : atanh
  args : (Tensor x)
  output : Tensor(out)
  kernel :
    func : atanh_coo{sparse_coo -> sparse_coo},
           atanh_csr{sparse_csr -> sparse_csr}
    layout : x
  backward : atanh_grad

- api : cast
  args : (Tensor x, DataType index_dtype=DataType::UNDEFINED, DataType value_dtype=DataType::UNDEFINED)
  output : Tensor(out)
  kernel :
    func : cast_coo{sparse_coo -> sparse_coo},
           cast_csr{sparse_csr -> sparse_csr}
    layout : x
    data_type : x
  backward : cast_grad

83
- api : conv3d
Z
zhangkaihuo 已提交
84
  args : (Tensor x, Tensor kernel, int[] paddings, int[] dilations, int[] strides, int groups, bool subm)
85
  output : Tensor(out), Tensor(rulebook)
86
  kernel :
87
    func : sparse_conv3d{sparse_coo, dense -> sparse_coo, dense}
88
    layout : x
89
  intermediate : rulebook
90
  backward : conv3d_grad
91

92 93
- api : coo_to_dense
  args : (Tensor x)
94
  output : Tensor(out)
95 96 97
  invoke : to_dense_impl(x)
  backward : coo_to_dense_grad

98 99
- api : create_sparse_coo_tensor
  args : (Tensor values, Tensor indices, IntArray dense_shape)
100
  output : Tensor(out)
101
  kernel :
102
    func : sparse_coo_tensor{dense, dense -> sparse_coo}
103
    layout : values
104
    data_type : values
105 106
  backward : create_sparse_coo_tensor_grad

107 108 109 110 111
- api : dense_to_coo
  args : (Tensor x, int64_t sparse_dim)
  output : Tensor(out)
  invoke : to_sparse_coo_impl(x, sparse_dim)
  backward : dense_to_coo_grad
112

113 114 115 116
- api : divide
  args : (Tensor x, Tensor y)
  output : Tensor(out)
  kernel :
117 118
    func : divide_coo_coo{sparse_coo, sparse_coo -> sparse_coo},
           divide_csr_csr{sparse_csr, sparse_csr -> sparse_csr}
119 120 121
    layout : x
  backward : divide_grad

122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
- api : divide_scalar
  args : (Tensor x, float scalar)
  output : Tensor(out)
  kernel :
    func : divide_coo_scalar{sparse_coo -> sparse_coo},
           divide_csr_scalar{sparse_csr -> sparse_csr}
  backward : divide_scalar_grad

- api : log1p
  args : (Tensor x)
  output : Tensor(out)
  kernel :
    func : log1p_coo{sparse_coo -> sparse_coo},
           log1p_csr{sparse_csr -> sparse_csr}
    layout : x
  backward : log1p_grad

139 140 141 142
- api : multiply
  args : (Tensor x, Tensor y)
  output : Tensor(out)
  kernel :
143 144
    func : multiply_coo_coo{sparse_coo, sparse_coo -> sparse_coo},
           multiply_csr_csr{sparse_csr, sparse_csr -> sparse_csr}
145 146 147
    layout : x
  backward : multiply_grad

148 149 150 151 152 153 154 155 156
- api : pow
  args : (Tensor x, float factor)
  output : Tensor(out)
  kernel :
    func : pow_coo{sparse_coo -> sparse_coo},
           pow_csr{sparse_csr -> sparse_csr}
    layout : x
  backward : pow_grad

157
- api : relu
158
  args : (Tensor x)
159
  output : Tensor(out)
160
  kernel :
161 162
    func : relu_coo{sparse_coo -> sparse_coo},
           relu_csr{sparse_csr -> sparse_csr}
163
    layout : x
164
  backward : relu_grad
165

166 167 168 169 170 171 172 173
- api : scale
  args : (Tensor x, float scale, float bias, bool bias_after_scale)
  output : Tensor(out)
  kernel :
    func : scale_coo{sparse_coo -> sparse_coo},
           scale_csr{sparse_csr -> sparse_csr}
  backward : scale_grad

174
- api : sin
175
  args : (Tensor x)
176
  output : Tensor(out)
177
  kernel :
178 179
    func : sin_coo{sparse_coo -> sparse_coo},
           sin_csr{sparse_csr -> sparse_csr}
180
    layout : x
181
  backward : sin_grad
182

183 184 185 186 187 188 189 190 191
- api : sinh
  args : (Tensor x)
  output : Tensor(out)
  kernel :
    func : sinh_coo{sparse_coo -> sparse_coo},
           sinh_csr{sparse_csr -> sparse_csr}
    layout : x
  backward : sinh_grad

192 193 194 195 196 197 198 199
- api : softmax
  args : (Tensor x, int axis=-1)
  output : Tensor(out)
  kernel :
    func : softmax_csr{sparse_csr -> sparse_csr}
    layout : x
  backward : softmax_grad

200
- api : sqrt
201
  args : (Tensor x)
202
  output : Tensor(out)
203
  kernel :
204 205
    func : sqrt_coo{sparse_coo -> sparse_coo},
           sqrt_csr{sparse_csr -> sparse_csr}
206
    layout : x
207
  backward : sqrt_grad
208

209 210 211 212 213 214 215 216 217
- api : square
  args : (Tensor x)
  output : Tensor(out)
  kernel :
    func : square_coo{sparse_coo -> sparse_coo},
           square_csr{sparse_csr -> sparse_csr}
    layout : x
  backward : square_grad

218 219 220 221
- api : subtract
  args : (Tensor x, Tensor y)
  output : Tensor(out)
  kernel :
222 223
    func : subtract_coo_coo{sparse_coo, sparse_coo -> sparse_coo},
           subtract_csr_csr{sparse_csr, sparse_csr -> sparse_csr}
224 225 226
    layout : x
  backward : subtract_grad

227 228 229 230 231 232 233 234 235
- api : tan
  args : (Tensor x)
  output : Tensor(out)
  kernel :
    func : tan_coo{sparse_coo -> sparse_coo},
           tan_csr{sparse_csr -> sparse_csr}
    layout : x
  backward : tan_grad

236
- api : tanh
237
  args : (Tensor x)
238
  output : Tensor(out)
239
  kernel :
240 241
    func : tanh_coo{sparse_coo -> sparse_coo},
           tanh_csr{sparse_csr -> sparse_csr}
242
    layout : x
243
  backward : tanh_grad
244

245
- api : to_dense
246
  args : (Tensor x)
247
  output : Tensor(out)
248
  invoke : to_dense_impl(x)
249

250
- api : to_sparse_coo
251
  args : (Tensor x, int64_t sparse_dim)
252
  output : Tensor(out)
253
  invoke : to_sparse_coo_impl(x, sparse_dim)
254

255
- api : to_sparse_csr
256
  args : (Tensor x)
257
  output : Tensor(out)
258
  invoke : to_sparse_csr_impl(x)
Z
zhangkaihuo 已提交
259

260 261 262 263 264 265 266 267 268
- api : values
  args : (Tensor x)
  output : Tensor(out)
  kernel :
    func : coo_values{sparse_coo -> dense},
           csr_values{sparse_csr -> dense}
    layout : x
  backward : values_grad

Z
zhangkaihuo 已提交
269 270 271 272 273 274 275
- api: coalesce
  args : (Tensor x)
  output : Tensor(out)
  kernel :
    func: coalesce{sparse_coo -> sparse_coo}
    layout : x

276 277 278 279 280 281 282 283 284
- api: full_like
  args : (Tensor x, Scalar value, DataType dtype=DataType::UNDEFINED)
  output : Tensor(out)
  kernel :
    func : coo_full_like{sparse_coo -> sparse_coo},
           csr_full_like{sparse_csr -> sparse_csr}
    layout : x
    data_type : dtype

285 286 287 288 289 290
- api: fused_attention
  args : (Tensor query, Tensor key, Tensor value, Tensor sparse_mask, Tensor key_padding_mask, Tensor attn_mask)
  output : Tensor(out), Tensor(softmax)
  kernel :
    func : fused_attention_csr{dense, dense, dense, sparse_csr, dense, dense -> dense, sparse_csr}
    layout : sparse_mask
291 292
    data_type: query
  optional : key_padding_mask, attn_mask
293 294 295
  intermediate : softmax
  backward: fused_attention_grad

296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314
- api: masked_matmul
  args : (Tensor x, Tensor y, Tensor mask)
  output : Tensor(out)
  kernel :
    func : csr_masked_matmul{dense, dense, sparse_csr -> sparse_csr}
    layout : x
  backward: masked_matmul_grad

- api: matmul
  args : (Tensor x, Tensor y)
  output : Tensor(out)
  kernel :
    func : csr_dense_matmul{sparse_csr, dense -> dense},
           csr_csr_matmul{sparse_csr, sparse_csr -> sparse_csr},
           coo_dense_matmul{sparse_coo, dense -> dense},
           coo_coo_matmul{sparse_coo, sparse_coo -> sparse_coo}
    layout : x
  backward: matmul_grad

Z
zhangkaihuo 已提交
315 316
- api: maxpool
  args : (Tensor x, int[] kernel_sizes, int[] paddings, int[] dilations, int[] strides)
317
  output : Tensor(out), Tensor(rulebook)
Z
zhangkaihuo 已提交
318
  kernel :
319
    func : sparse_maxpool{sparse_coo -> sparse_coo, dense}
Z
zhangkaihuo 已提交
320 321 322
    layout : x
  intermediate : rulebook
  backward : sparse_maxpool_grad
323 324 325 326 327 328 329 330 331

- api: mv
  args : (Tensor x, Tensor vec)
  output : Tensor(out)
  kernel :
    func : mv_coo{sparse_coo, dense -> dense},
           mv_csr{sparse_csr, dense -> dense}
    layout : x
  backward: mv_grad