Skip to content

Commit

Permalink
gpu: fix integer overflow in mem_desc_info_t
Browse files Browse the repository at this point in the history
  • Loading branch information
rjoursler authored and vpirogov committed May 12, 2023
1 parent 2e64369 commit 148006b
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions src/gpu/primitive_conf.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,13 @@ struct memory_desc_info_t {
int ndims;
data_type_t data_type;

int offset0;
int dims[MAX_NDIMS];
int padded_dims[MAX_NDIMS];
dim_t offset0;
dim_t dims[MAX_NDIMS];
dim_t padded_dims[MAX_NDIMS];

int nlevels;
int blocks[MAX_NDIMS][max_nlevels + 1];
int strides[MAX_NDIMS][max_nlevels + 1];
dim_t blocks[MAX_NDIMS][max_nlevels + 1];
dim_t strides[MAX_NDIMS][max_nlevels + 1];

static memory_desc_info_t create(const memory_desc_wrapper &mdw) {
using namespace format_tag;
Expand Down Expand Up @@ -1177,14 +1177,14 @@ inline void def_memory_desc_info(compute::kernel_ctx_t &kernel_ctx,
kernel_ctx.define_int(utils::format("%s_NLEVELS", prefix), md_info.nlevels);

for (int d = 0; d < MAX_NDIMS; ++d) {
int dim = (d < md_info.ndims) ? md_info.dims[d] : 1;
int padded_dim = (d < md_info.ndims) ? md_info.padded_dims[d] : 1;
dim_t dim = (d < md_info.ndims) ? md_info.dims[d] : 1;
dim_t padded_dim = (d < md_info.ndims) ? md_info.padded_dims[d] : 1;
kernel_ctx.define_int(utils::format("%s_D%d", prefix, d), dim);
kernel_ctx.define_int(utils::format("%s_PD%d", prefix, d), padded_dim);

for (int l = 0; l < md_info.nlevels + 1; ++l) {
int block = (d < md_info.ndims) ? md_info.blocks[d][l] : 1;
int stride = (d < md_info.ndims) ? md_info.strides[d][l] : 0;
dim_t block = (d < md_info.ndims) ? md_info.blocks[d][l] : 1;
dim_t stride = (d < md_info.ndims) ? md_info.strides[d][l] : 0;
kernel_ctx.define_int(
utils::format("%s_B%d_%d", prefix, d, l), block);
kernel_ctx.define_int(
Expand Down

0 comments on commit 148006b

Please sign in to comment.