Spaces:
Running
on
Zero
Running
on
Zero
File size: 1,397 Bytes
29a3d5a |
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
/******************************************************************************
* Copyright (c) 2023, Tri Dao.
******************************************************************************/
#pragma once
////////////////////////////////////////////////////////////////////////////////////////////////////
struct ConvParamsBase {
using index_t = uint32_t;
int batch, dim, seqlen, width;
bool silu_activation;
index_t x_batch_stride;
index_t x_c_stride;
index_t x_l_stride;
index_t weight_c_stride;
index_t weight_width_stride;
index_t out_batch_stride;
index_t out_c_stride;
index_t out_l_stride;
index_t conv_state_batch_stride;
index_t conv_state_c_stride;
index_t conv_state_l_stride;
// Common data pointers.
void *__restrict__ x_ptr;
void *__restrict__ weight_ptr;
void *__restrict__ bias_ptr;
void *__restrict__ out_ptr;
void *__restrict__ conv_state_ptr;
};
struct ConvParamsBwd: public ConvParamsBase {
index_t dx_batch_stride;
index_t dx_c_stride;
index_t dx_l_stride;
index_t dweight_c_stride;
index_t dweight_width_stride;
index_t dout_batch_stride;
index_t dout_c_stride;
index_t dout_l_stride;
// Common data pointers.
void *__restrict__ dx_ptr;
void *__restrict__ dweight_ptr;
void *__restrict__ dbias_ptr;
void *__restrict__ dout_ptr;
};
|