diff options
Diffstat (limited to 'SConscript')
-rw-r--r-- | SConscript | 141 |
1 files changed, 137 insertions, 4 deletions
diff --git a/SConscript b/SConscript index 886ad083ad..682f55310e 100644 --- a/SConscript +++ b/SConscript @@ -228,10 +228,143 @@ cpp_compiler = os.environ.get('CXX', default_cpp_compiler) # Generate embed files generate_embed = [ version_file ] if env['opencl'] and env['embed_kernels']: - cl_files = Glob('src/core/CL/cl_kernels/*.cl') - cl_files += Glob('src/core/CL/cl_kernels/*.h') - - embed_files = [ f.get_path()+"embed" for f in cl_files ] + + # Header files + cl_helper_files = [ 'src/core/CL/cl_kernels/activation_float_helpers.h', + 'src/core/CL/cl_kernels/activation_quant_helpers.h', + 'src/core/CL/cl_kernels/gemm_helpers.h', + 'src/core/CL/cl_kernels/helpers_asymm.h', + 'src/core/CL/cl_kernels/helpers.h', + 'src/core/CL/cl_kernels/load_store_utility.h', + 'src/core/CL/cl_kernels/repeat.h', + 'src/core/CL/cl_kernels/tile_helpers.h', + 'src/core/CL/cl_kernels/types.h', + 'src/core/CL/cl_kernels/warp_helpers_quantized.h', + 'src/core/CL/cl_kernels/warp_helpers.h' + ] + + # Common kernels + cl_files_common = ['src/core/CL/cl_kernels/common/activation_layer.cl', + 'src/core/CL/cl_kernels/common/activation_layer_quant.cl', + 'src/core/CL/cl_kernels/common/arg_min_max.cl', + 'src/core/CL/cl_kernels/common/batchnormalization_layer.cl', + 'src/core/CL/cl_kernels/common/bounding_box_transform.cl', + 'src/core/CL/cl_kernels/common/bounding_box_transform_quantized.cl', + 'src/core/CL/cl_kernels/common/bitwise_op.cl', + 'src/core/CL/cl_kernels/common/cast.cl', + 'src/core/CL/cl_kernels/common/comparisons.cl', + 'src/core/CL/cl_kernels/common/concatenate.cl', + 'src/core/CL/cl_kernels/common/col2im.cl', + 'src/core/CL/cl_kernels/common/convert_fc_weights.cl', + 'src/core/CL/cl_kernels/common/copy_tensor.cl', + 'src/core/CL/cl_kernels/common/crop_tensor.cl', + 'src/core/CL/cl_kernels/common/deconvolution_layer.cl', + 'src/core/CL/cl_kernels/common/dequantization_layer.cl', + 'src/core/CL/cl_kernels/common/elementwise_operation.cl', + 'src/core/CL/cl_kernels/common/elementwise_operation_quantized.cl', + 'src/core/CL/cl_kernels/common/elementwise_unary.cl', + 'src/core/CL/cl_kernels/common/fft_digit_reverse.cl', + 'src/core/CL/cl_kernels/common/fft.cl', + 'src/core/CL/cl_kernels/common/fft_scale.cl', + 'src/core/CL/cl_kernels/common/fill_border.cl', + 'src/core/CL/cl_kernels/common/floor.cl', + 'src/core/CL/cl_kernels/common/gather.cl', + 'src/core/CL/cl_kernels/common/gemm.cl', + 'src/core/CL/cl_kernels/common/gemv.cl', + 'src/core/CL/cl_kernels/common/gemm_v1.cl', + 'src/core/CL/cl_kernels/common/gemmlowp.cl', + 'src/core/CL/cl_kernels/common/generate_proposals.cl', + 'src/core/CL/cl_kernels/common/generate_proposals_quantized.cl', + 'src/core/CL/cl_kernels/common/instance_normalization.cl', + 'src/core/CL/cl_kernels/common/l2_normalize.cl', + 'src/core/CL/cl_kernels/common/mean_stddev_normalization.cl', + 'src/core/CL/cl_kernels/common/unpooling_layer.cl', + 'src/core/CL/cl_kernels/common/memset.cl', + 'src/core/CL/cl_kernels/common/nonmax.cl', + 'src/core/CL/cl_kernels/common/minmax_layer.cl', + 'src/core/CL/cl_kernels/common/pad_layer.cl', + 'src/core/CL/cl_kernels/common/permute.cl', + 'src/core/CL/cl_kernels/common/pixelwise_mul_float.cl', + 'src/core/CL/cl_kernels/common/pixelwise_mul_int.cl', + 'src/core/CL/cl_kernels/common/qlstm_layer_normalization.cl', + 'src/core/CL/cl_kernels/common/quantization_layer.cl', + 'src/core/CL/cl_kernels/common/range.cl', + 'src/core/CL/cl_kernels/common/reduction_operation.cl', + 'src/core/CL/cl_kernels/common/pooling_layer.cl', + 'src/core/CL/cl_kernels/common/reshape_layer.cl', + 'src/core/CL/cl_kernels/common/convolution_layer.cl', + 'src/core/CL/cl_kernels/common/reverse.cl', + 'src/core/CL/cl_kernels/common/roi_align_layer.cl', + 'src/core/CL/cl_kernels/common/roi_align_layer_quantized.cl', + 'src/core/CL/cl_kernels/common/roi_pooling_layer.cl', + 'src/core/CL/cl_kernels/common/select.cl', + 'src/core/CL/cl_kernels/common/softmax_layer.cl', + 'src/core/CL/cl_kernels/common/softmax_layer_quantized.cl', + 'src/core/CL/cl_kernels/common/stack_layer.cl', + 'src/core/CL/cl_kernels/common/slice_ops.cl', + 'src/core/CL/cl_kernels/common/tile.cl', + 'src/core/CL/cl_kernels/common/transpose.cl' + ] + + # NCHW kernels + cl_files_nchw = ['src/core/CL/cl_kernels/nchw/batch_to_space.cl', + 'src/core/CL/cl_kernels/nchw/batchnormalization_layer.cl', + 'src/core/CL/cl_kernels/nchw/channel_shuffle.cl', + 'src/core/CL/cl_kernels/nchw/depth_to_space.cl', + 'src/core/CL/cl_kernels/nchw/direct_convolution_quantized.cl', + 'src/core/CL/cl_kernels/nchw/direct_convolution1x1.cl', + 'src/core/CL/cl_kernels/nchw/direct_convolution3x3.cl', + 'src/core/CL/cl_kernels/nchw/direct_convolution5x5.cl', + 'src/core/CL/cl_kernels/nchw/dequantization_layer.cl', + 'src/core/CL/cl_kernels/nchw/im2col.cl', + 'src/core/CL/cl_kernels/nchw/normalization_layer.cl', + 'src/core/CL/cl_kernels/nchw/normalize_planar_yuv_layer.cl', + 'src/core/CL/cl_kernels/nchw/normalize_planar_yuv_layer_quantized.cl', + 'src/core/CL/cl_kernels/nchw/pooling_layer.cl', + 'src/core/CL/cl_kernels/nchw/pooling_layer_quantized.cl', + 'src/core/CL/cl_kernels/nchw/prior_box_layer.cl', + 'src/core/CL/cl_kernels/nchw/remap.cl', + 'src/core/CL/cl_kernels/nchw/reorg_layer.cl', + 'src/core/CL/cl_kernels/nchw/scale.cl', + 'src/core/CL/cl_kernels/nchw/scale_quantized.cl', + 'src/core/CL/cl_kernels/nchw/space_to_batch.cl', + 'src/core/CL/cl_kernels/nchw/space_to_depth.cl', + 'src/core/CL/cl_kernels/nchw/upsample_layer.cl', + 'src/core/CL/cl_kernels/nchw/winograd_filter_transform.cl', + 'src/core/CL/cl_kernels/nchw/winograd_input_transform.cl', + 'src/core/CL/cl_kernels/nchw/winograd_output_transform.cl' + ] + + # NHWC kernels + cl_files_nhwc = ['src/core/CL/cl_kernels/nhwc/batch_to_space.cl', + 'src/core/CL/cl_kernels/nhwc/batchnormalization_layer.cl', + 'src/core/CL/cl_kernels/nhwc/channel_shuffle.cl', + 'src/core/CL/cl_kernels/nhwc/direct_convolution.cl', + 'src/core/CL/cl_kernels/nhwc/depth_to_space.cl', + 'src/core/CL/cl_kernels/nhwc/dequantization_layer.cl', + 'src/core/CL/cl_kernels/nhwc/dwc_native_fp_nhwc.cl', + 'src/core/CL/cl_kernels/nhwc/dwc_native_quantized_nhwc.cl', + 'src/core/CL/cl_kernels/nhwc/im2col.cl', + 'src/core/CL/cl_kernels/nhwc/normalization_layer.cl', + 'src/core/CL/cl_kernels/nhwc/normalize_planar_yuv_layer.cl', + 'src/core/CL/cl_kernels/nhwc/normalize_planar_yuv_layer_quantized.cl', + 'src/core/CL/cl_kernels/nhwc/pooling_layer.cl', + 'src/core/CL/cl_kernels/nhwc/pooling_layer_quantized.cl', + 'src/core/CL/cl_kernels/nhwc/remap.cl', + 'src/core/CL/cl_kernels/nhwc/reorg_layer.cl', + 'src/core/CL/cl_kernels/nhwc/scale.cl', + 'src/core/CL/cl_kernels/nhwc/scale_quantized.cl', + 'src/core/CL/cl_kernels/nhwc/space_to_batch.cl', + 'src/core/CL/cl_kernels/nhwc/space_to_depth.cl', + 'src/core/CL/cl_kernels/nhwc/upsample_layer.cl', + 'src/core/CL/cl_kernels/nhwc/winograd_filter_transform.cl', + 'src/core/CL/cl_kernels/nhwc/winograd_input_transform.cl', + 'src/core/CL/cl_kernels/nhwc/winograd_output_transform.cl' + ] + + cl_files = cl_helper_files + cl_files_common + cl_files_nchw + cl_files_nhwc + + embed_files = [ f+"embed" for f in cl_files ] arm_compute_env.Append(CPPPATH =[Dir("./src/core/CL/").path] ) generate_embed.append(arm_compute_env.Command(embed_files, cl_files, action=resolve_includes)) |