MCPcopy Create free account
hub / github.com/ARM-software/ComputeLibrary / configure

Method configure

src/gpu/cl/kernels/ClCol2ImKernel.cpp:114–157  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

112}
113
114void ClCol2ImKernel::configure(const CLCompileContext &compile_context,
115 ITensorInfo *src,
116 ITensorInfo *dst,
117 const Size2D &convolved_dims,
118 unsigned int num_groups)
119{
120 ARM_COMPUTE_ERROR_ON_NULLPTR(src, dst);
121
122 // Perform validation step
123 ARM_COMPUTE_ERROR_THROW_ON(validate_arguments(src, dst, convolved_dims, num_groups));
124
125 _convolved_dims = convolved_dims;
126
127 const DataType data_type = src->data_type();
128
129 // Create kernel
130 CLBuildOptions build_opts;
131 build_opts.add_option("-DDATA_TYPE=" + get_cl_type_from_data_type(data_type));
132 build_opts.add_option("-DELEMENT_SIZE=" + support::cpp11::to_string(src->element_size()));
133 build_opts.add_option("-DWIDTH_INPUT=" + support::cpp11::to_string(src->dimension(0)));
134 build_opts.add_option("-DWIDTH_OUTPUT=" + support::cpp11::to_string(_convolved_dims.width));
135 build_opts.add_option("-DNUM_GROUPS=" + support::cpp11::to_string(num_groups));
136
137 _kernel = create_kernel(compile_context, "col2im", build_opts.options());
138
139 // Configure kernel window
140 auto win_config = validate_and_configure_window(src, dst, _convolved_dims, num_groups);
141 ARM_COMPUTE_ERROR_THROW_ON(win_config.first);
142 IClKernel::configure_internal(win_config.second);
143
144 // Set config_id for enabling LWS tuning
145 _config_id = "col2im_";
146 _config_id += lower_string(string_from_data_type(src->data_type()));
147 _config_id += "_";
148 _config_id += support::cpp11::to_string(num_groups);
149 _config_id += "_";
150 _config_id += support::cpp11::to_string(src->dimension(0));
151 _config_id += "_";
152 _config_id += support::cpp11::to_string(src->dimension(1));
153 _config_id += "_";
154 _config_id += support::cpp11::to_string(dst->dimension(0));
155 _config_id += "_";
156 _config_id += support::cpp11::to_string(dst->dimension(1));
157}
158
159Status ClCol2ImKernel::validate(const ITensorInfo *src,
160 const ITensorInfo *dst,

Callers

nothing calls this directly

Calls 10

create_kernelFunction · 0.85
lower_stringFunction · 0.85
validate_argumentsFunction · 0.70
to_stringFunction · 0.50
data_typeMethod · 0.45
add_optionMethod · 0.45
element_sizeMethod · 0.45
dimensionMethod · 0.45

Tested by

no test coverage detected