#!/usr/bin/cmake cmake_minimum_required (VERSION 3.18) # ------------------------------------------------------------------------------------------------- project( NCNN VERSION 2020.09.16 DESCRIPTION "Lean and fast convolutional neural network runner and converters" ) include("../../BuildSystem/cmake/cplusplus.cmake") # ------------------------------------------------------------------------------------------------- if(NOT EXISTS ${PROJECT_SOURCE_DIR}/downloads/20210507.tar.gz) message(STATUS "Downloading NCNN sources") file( DOWNLOAD https://github.com/Tencent/ncnn/archive/refs/tags/20210507.tar.gz ${PROJECT_SOURCE_DIR}/downloads/20210507.tar.gz SHOW_PROGRESS EXPECTED_HASH SHA256=b9f87aa7e7c41abfcb8e271ff2b15cebd7ecee52cd6e1fb84ebd130e1a483a52 ) endif() # ------------------------------------------------------------------------------------------------- if(NOT EXISTS ${PROJECT_SOURCE_DIR}/build) message(STATUS "Extracting NCNN sources") file( ARCHIVE_EXTRACT INPUT ${PROJECT_SOURCE_DIR}/downloads/20210507.tar.gz DESTINATION ${CMAKE_BINARY_DIR}/extract ) file( RENAME ${CMAKE_BINARY_DIR}/extract/ncnn-20210507 ${PROJECT_SOURCE_DIR}/build ) endif() file( COPY "${PROJECT_SOURCE_DIR}/platform.h" DESTINATION "${PROJECT_SOURCE_DIR}/build/src/" ) file( COPY "${PROJECT_SOURCE_DIR}/ncnn_export.h" DESTINATION "${PROJECT_SOURCE_DIR}/build/src/" ) file( COPY "${PROJECT_SOURCE_DIR}/layer_type_enum.h" DESTINATION "${PROJECT_SOURCE_DIR}/build/src/" ) file( COPY "${PROJECT_SOURCE_DIR}/layer_declaration.h" DESTINATION "${PROJECT_SOURCE_DIR}/build/src/" ) file( COPY "${PROJECT_SOURCE_DIR}/layer_shader_type_enum.h" DESTINATION "${PROJECT_SOURCE_DIR}/build/src/" ) # ------------------------------------------------------------------------------------------------- set( armSourceFiles "build/src/layer/arm/absval_arm.cpp" "build/src/layer/arm/batchnorm_arm.cpp" "build/src/layer/arm/bias_arm.cpp" "build/src/layer/arm/binaryop_arm.cpp" "build/src/layer/arm/cast_arm.cpp" "build/src/layer/arm/clip_arm.cpp" "build/src/layer/arm/concat_arm.cpp" "build/src/layer/arm/convolutiondepthwise_arm.cpp" "build/src/layer/arm/convolution_arm.cpp" "build/src/layer/arm/packing_arm.cpp" "build/src/layer/arm/quantize_arm.cpp" "build/src/layer/arm/crop_arm.cpp" "build/src/layer/arm/deconvolutiondepthwise_arm.cpp" "build/src/layer/arm/deconvolution_arm.cpp" "build/src/layer/arm/dequantize_arm.cpp" "build/src/layer/arm/dropout_arm.cpp" "build/src/layer/arm/eltwise_arm.cpp" "build/src/layer/arm/flatten_arm.cpp" "build/src/layer/arm/gru_arm.cpp" "build/src/layer/arm/hardsigmoid_arm.cpp" "build/src/layer/arm/hardswish_arm.cpp" "build/src/layer/arm/innerproduct_arm.cpp" "build/src/layer/arm/instancenorm_arm.cpp" "build/src/layer/arm/interp_arm.cpp" "build/src/layer/arm/lrn_arm.cpp" "build/src/layer/arm/lstm_arm.cpp" "build/src/layer/arm/mish_arm.cpp" "build/src/layer/arm/padding_arm.cpp" "build/src/layer/arm/pixelshuffle_arm.cpp" "build/src/layer/arm/pooling_arm.cpp" "build/src/layer/arm/prelu_arm.cpp" "build/src/layer/arm/relu_arm.cpp" "build/src/layer/arm/requantize_arm.cpp" "build/src/layer/arm/reshape_arm.cpp" "build/src/layer/arm/rnn_arm.cpp" "build/src/layer/arm/scale_arm.cpp" "build/src/layer/arm/selu_arm.cpp" "build/src/layer/arm/shufflechannel_arm.cpp" "build/src/layer/arm/sigmoid_arm.cpp" "build/src/layer/arm/slice_arm.cpp" "build/src/layer/arm/softmax_arm.cpp" "build/src/layer/arm/swish_arm.cpp" "build/src/layer/arm/tanh_arm.cpp" "build/src/layer/arm/unaryop_arm.cpp" ) set( riscVSources "build/src/layer/riscv/cast_riscv.cpp" "build/src/layer/riscv/clip_riscv.cpp" "build/src/layer/riscv/mish_riscv.cpp" "build/src/layer/riscv/packing_riscv.cpp" "build/src/layer/riscv/sigmoid_riscv.cpp" "build/src/layer/riscv/swish_riscv.cpp" "build/src/layer/riscv/tanh_riscv.cpp" "build/src/layer/riscv/unaryop_riscv.cpp" ) set( vulkanSourceFiles "build/src/layer/vulkan/absval_vulkan.cpp" "build/src/layer/vulkan/batchnorm_vulkan.cpp" "build/src/layer/vulkan/binaryop_vulkan.cpp" "build/src/layer/vulkan/cast_vulkan.cpp" "build/src/layer/vulkan/clip_vulkan.cpp" "build/src/layer/vulkan/concat_vulkan.cpp" "build/src/layer/vulkan/convolutiondepthwise_vulkan.cpp" "build/src/layer/vulkan/convolution_vulkan.cpp" "build/src/layer/vulkan/deconvolutiondepthwise_vulkan.cpp" "build/src/layer/vulkan/deconvolution_vulkan.cpp" "build/src/layer/vulkan/deepcopy_vulkan.cpp" "build/src/layer/vulkan/dropout_vulkan.cpp" "build/src/layer/vulkan/eltwise_vulkan.cpp" "build/src/layer/vulkan/flatten_vulkan.cpp" "build/src/layer/vulkan/hardsigmoid_vulkan.cpp" "build/src/layer/vulkan/hardswish_vulkan.cpp" "build/src/layer/vulkan/innerproduct_vulkan.cpp" "build/src/layer/vulkan/instancenorm_vulkan.cpp" "build/src/layer/vulkan/interp_vulkan.cpp" "build/src/layer/vulkan/lrn_vulkan.cpp" "build/src/layer/vulkan/memorydata_vulkan.cpp" "build/src/layer/vulkan/mish_vulkan.cpp" "build/src/layer/vulkan/normalize_vulkan.cpp" "build/src/layer/vulkan/packing_vulkan.cpp" "build/src/layer/vulkan/permute_vulkan.cpp" "build/src/layer/vulkan/pixelshuffle_vulkan.cpp" "build/src/layer/vulkan/pooling_vulkan.cpp" "build/src/layer/vulkan/prelu_vulkan.cpp" "build/src/layer/vulkan/priorbox_vulkan.cpp" "build/src/layer/vulkan/relu_vulkan.cpp" "build/src/layer/vulkan/reorg_vulkan.cpp" "build/src/layer/vulkan/reshape_vulkan.cpp" "build/src/layer/vulkan/crop_vulkan.cpp" "build/src/layer/vulkan/padding_vulkan.cpp" "build/src/layer/vulkan/scale_vulkan.cpp" "build/src/layer/vulkan/shufflechannel_vulkan.cpp" "build/src/layer/vulkan/sigmoid_vulkan.cpp" "build/src/layer/vulkan/slice_vulkan.cpp" "build/src/layer/vulkan/softmax_vulkan.cpp" "build/src/layer/vulkan/swish_vulkan.cpp" "build/src/layer/vulkan/tanh_vulkan.cpp" "build/src/layer/vulkan/unaryop_vulkan.cpp" ) set( x86SourceFiles "build/src/layer/x86/batchnorm_x86.cpp" "build/src/layer/x86/bias_x86.cpp" "build/src/layer/x86/binaryop_x86.cpp" "build/src/layer/x86/cast_x86.cpp" "build/src/layer/x86/clip_x86.cpp" "build/src/layer/x86/concat_x86.cpp" "build/src/layer/x86/convolutiondepthwise_x86.cpp" "build/src/layer/x86/convolution_x86.cpp" "build/src/layer/x86/crop_x86.cpp" "build/src/layer/x86/dequantize_x86.cpp" "build/src/layer/x86/dropout_x86.cpp" "build/src/layer/x86/eltwise_x86.cpp" "build/src/layer/x86/flatten_x86.cpp" "build/src/layer/x86/hardsigmoid_x86.cpp" "build/src/layer/x86/hardswish_x86.cpp" "build/src/layer/x86/lrn_x86.cpp" "build/src/layer/x86/lstm_x86.cpp" "build/src/layer/x86/mish_x86.cpp" "build/src/layer/x86/packing_x86.cpp" "build/src/layer/x86/padding_x86.cpp" "build/src/layer/x86/innerproduct_x86.cpp" "build/src/layer/x86/pooling_x86.cpp" "build/src/layer/x86/prelu_x86.cpp" "build/src/layer/x86/quantize_x86.cpp" "build/src/layer/x86/relu_x86.cpp" "build/src/layer/x86/requantize_x86.cpp" "build/src/layer/x86/reshape_x86.cpp" "build/src/layer/x86/roialign_x86.cpp" "build/src/layer/x86/scale_x86.cpp" "build/src/layer/x86/sigmoid_x86.cpp" "build/src/layer/x86/slice_x86.cpp" "build/src/layer/x86/swish_x86.cpp" "build/src/layer/x86/tanh_x86.cpp" "build/src/layer/x86/yolov3detectionoutput_x86.cpp" ) set( sourceFiles "build/src/mat_pixel_affine.cpp" "build/src/allocator.cpp" "build/src/benchmark.cpp" "build/src/blob.cpp" "build/src/command.cpp" "build/src/convert_ycbcr.comp" "build/src/cpu.cpp" "build/src/c_api.cpp" "build/src/datareader.cpp" "build/src/gpu.cpp" "build/src/layer/absval.cpp" "build/src/layer/argmax.cpp" "build/src/layer/batchnorm.cpp" "build/src/layer/bias.cpp" "build/src/layer/binaryop.cpp" "build/src/layer/bnll.cpp" "build/src/layer/cast.cpp" "build/src/layer/clip.cpp" "build/src/layer/concat.cpp" "build/src/layer/convolution.cpp" "build/src/layer/convolutiondepthwise.cpp" "build/src/layer/crop.cpp" "build/src/layer/deconvolution.cpp" "build/src/layer/deconvolutiondepthwise.cpp" "build/src/layer/deepcopy.cpp" "build/src/layer/dequantize.cpp" "build/src/layer/detectionoutput.cpp" "build/src/layer/dropout.cpp" "build/src/layer/elu.cpp" "build/src/layer/embed.cpp" "build/src/layer/exp.cpp" "build/src/layer/expanddims.cpp" "build/src/layer/flatten.cpp" "build/src/layer/gelu.cpp" "build/src/layer/gemm.cpp" "build/src/layer/groupnorm.cpp" "build/src/layer/gru.cpp" "build/src/layer/hardswish.cpp" "build/src/layer/innerproduct.cpp" "build/src/layer/input.cpp" "build/src/layer/instancenorm.cpp" "build/src/layer/interp.cpp" "build/src/layer/layernorm.cpp" "build/src/layer/log.cpp" "build/src/layer/lrn.cpp" "build/src/layer/lstm.cpp" "build/src/layer/mish.cpp" "build/src/layer/multiheadattention.cpp" "build/src/layer/mvn.cpp" "build/src/layer/noop.cpp" "build/src/layer/normalize.cpp" "build/src/layer/packing.cpp" "build/src/layer/padding.cpp" "build/src/layer/permute.cpp" "build/src/layer/eltwise.cpp" "build/src/layer/hardsigmoid.cpp" "build/src/layer/memorydata.cpp" "build/src/layer/pixelshuffle.cpp" "build/src/layer/reorg.cpp" "build/src/layer/pooling.cpp" "build/src/layer/power.cpp" "build/src/layer/prelu.cpp" "build/src/layer/priorbox.cpp" "build/src/layer/proposal.cpp" "build/src/layer/psroipooling.cpp" "build/src/layer/quantize.cpp" "build/src/layer/reduction.cpp" "build/src/layer/relu.cpp" "build/src/layer/requantize.cpp" "build/src/layer/reshape.cpp" "build/src/layer/rnn.cpp" "build/src/layer/roialign.cpp" "build/src/layer/roipooling.cpp" "build/src/layer/scale.cpp" "build/src/layer/selu.cpp" "build/src/layer/shufflechannel.cpp" "build/src/layer/sigmoid.cpp" "build/src/layer/slice.cpp" "build/src/layer/softmax.cpp" "build/src/layer/softplus.cpp" "build/src/layer/split.cpp" "build/src/layer/spp.cpp" "build/src/layer/squeeze.cpp" "build/src/layer/statisticspooling.cpp" "build/src/layer/swish.cpp" "build/src/layer/tanh.cpp" "build/src/layer/threshold.cpp" "build/src/layer/tile.cpp" "build/src/layer/unaryop.cpp" "build/src/layer/yolodetectionoutput.cpp" "build/src/layer/yolov3detectionoutput.cpp" "build/src/mat.cpp" "build/src/mat_pixel.cpp" "build/src/mat_pixel_android.cpp" "build/src/mat_pixel_resize.cpp" "build/src/mat_pixel_rotate.cpp" "build/src/modelbin.cpp" "build/src/net.cpp" "build/src/option.cpp" "build/src/paramdict.cpp" "build/src/pipeline.cpp" "build/src/pipelinecache.cpp" "build/src/simpleocv.cpp" "build/src/simpleomp.cpp" "build/src/simplestl.cpp" ) # Build error, missing batchnorm_x86_avx2.h # "build/src/layer.cpp" set( shaderFiles "build/src/layer/vulkan/shader/absval.comp" "build/src/layer/vulkan/shader/absval_pack4.comp" "build/src/layer/vulkan/shader/absval_pack8.comp" "build/src/layer/vulkan/shader/batchnorm.comp" "build/src/layer/vulkan/shader/batchnorm_pack4.comp" "build/src/layer/vulkan/shader/batchnorm_pack8.comp" "build/src/layer/vulkan/shader/binaryop.comp" "build/src/layer/vulkan/shader/binaryop_broadcast.comp" "build/src/layer/vulkan/shader/binaryop_broadcast_a1_pack4.comp" "build/src/layer/vulkan/shader/binaryop_broadcast_a1_pack8.comp" "build/src/layer/vulkan/shader/binaryop_broadcast_b1_pack4.comp" "build/src/layer/vulkan/shader/binaryop_broadcast_b1_pack8.comp" "build/src/layer/vulkan/shader/binaryop_broadcast_pack4.comp" "build/src/layer/vulkan/shader/binaryop_broadcast_pack8.comp" "build/src/layer/vulkan/shader/binaryop_pack4.comp" "build/src/layer/vulkan/shader/cast_fp16_to_fp32.comp" "build/src/layer/vulkan/shader/cast_fp16_to_fp32_pack4.comp" "build/src/layer/vulkan/shader/cast_fp16_to_fp32_pack8.comp" "build/src/layer/vulkan/shader/cast_fp32_to_fp16.comp" "build/src/layer/vulkan/shader/cast_fp32_to_fp16_pack4.comp" "build/src/layer/vulkan/shader/cast_fp32_to_fp16_pack8.comp" "build/src/layer/vulkan/shader/clip.comp" "build/src/layer/vulkan/shader/clip_pack4.comp" "build/src/layer/vulkan/shader/clip_pack8.comp" "build/src/layer/vulkan/shader/concat.comp" "build/src/layer/vulkan/shader/concat_pack4.comp" "build/src/layer/vulkan/shader/concat_pack4to1.comp" "build/src/layer/vulkan/shader/concat_pack8.comp" "build/src/layer/vulkan/shader/concat_pack8to1.comp" "build/src/layer/vulkan/shader/convolution.comp" "build/src/layer/vulkan/shader/convolutiondepthwise.comp" "build/src/layer/vulkan/shader/convolutiondepthwise_group.comp" "build/src/layer/vulkan/shader/convolutiondepthwise_group_pack1to4.comp" "build/src/layer/vulkan/shader/convolutiondepthwise_group_pack1to8.comp" "build/src/layer/vulkan/shader/convolutiondepthwise_group_pack4.comp" "build/src/layer/vulkan/shader/convolutiondepthwise_group_pack4to1.comp" "build/src/layer/vulkan/shader/convolutiondepthwise_group_pack4to8.comp" "build/src/layer/vulkan/shader/convolutiondepthwise_group_pack8.comp" "build/src/layer/vulkan/shader/convolutiondepthwise_group_pack8to1.comp" "build/src/layer/vulkan/shader/convolutiondepthwise_group_pack8to4.comp" "build/src/layer/vulkan/shader/convolutiondepthwise_pack4.comp" "build/src/layer/vulkan/shader/convolutiondepthwise_pack8.comp" "build/src/layer/vulkan/shader/convolution_1x1s1d1.comp" "build/src/layer/vulkan/shader/convolution_pack1to4.comp" "build/src/layer/vulkan/shader/convolution_pack1to8.comp" "build/src/layer/vulkan/shader/convolution_pack4.comp" "build/src/layer/vulkan/shader/convolution_pack4to8.comp" "build/src/layer/vulkan/shader/convolution_pack4_1x1s1d1.comp" "build/src/layer/vulkan/shader/convolution_pack4_3x3s1d1_winograd23_gemm.comp" "build/src/layer/vulkan/shader/convolution_pack4_3x3s1d1_winograd23_transform_input.comp" "build/src/layer/vulkan/shader/convolution_pack4_3x3s1d1_winograd23_transform_output.comp" "build/src/layer/vulkan/shader/convolution_pack8.comp" "build/src/layer/vulkan/shader/convolution_pack8to1.comp" "build/src/layer/vulkan/shader/convolution_pack8to4.comp" "build/src/layer/vulkan/shader/convolution_pack8_1x1s1d1.comp" "build/src/layer/vulkan/shader/convolution_pack8_3x3s1d1_winograd23_gemm.comp" "build/src/layer/vulkan/shader/convolution_pack8_3x3s1d1_winograd23_transform_input.comp" "build/src/layer/vulkan/shader/convolution_pack8_3x3s1d1_winograd23_transform_output.comp" "build/src/layer/vulkan/shader/crop.comp" "build/src/layer/vulkan/shader/crop_pack1to4.comp" "build/src/layer/vulkan/shader/binaryop_pack8.comp" "build/src/layer/vulkan/shader/concat_pack8to4.comp" "build/src/layer/vulkan/shader/convolution_pack4to1.comp" "build/src/layer/vulkan/shader/crop_pack1to8.comp" "build/src/layer/vulkan/shader/deconvolutiondepthwise_group_pack8.comp" "build/src/layer/vulkan/shader/dropout.comp" "build/src/layer/vulkan/shader/hardswish_pack4.comp" "build/src/layer/vulkan/shader/innerproduct_pack4to1.comp" "build/src/layer/vulkan/shader/instancenorm_reduce_sum4_fp16_to_fp32.comp" "build/src/layer/vulkan/shader/interp_pack4.comp" "build/src/layer/vulkan/shader/normalize_coeffs.comp" "build/src/layer/vulkan/shader/packing_pack1to4.comp" "build/src/layer/vulkan/shader/packing_pack8.comp" "build/src/layer/vulkan/shader/padding_pack8to1.comp" "build/src/layer/vulkan/shader/pooling.comp" "build/src/layer/vulkan/shader/reorg.comp" "build/src/layer/vulkan/shader/scale_pack8.comp" "build/src/layer/vulkan/shader/softmax_exp_sub_max_pack4.comp" "build/src/layer/vulkan/shader/crop_pack4.comp" "build/src/layer/vulkan/shader/crop_pack4to1.comp" "build/src/layer/vulkan/shader/crop_pack4to8.comp" "build/src/layer/vulkan/shader/crop_pack8.comp" "build/src/layer/vulkan/shader/crop_pack8to1.comp" "build/src/layer/vulkan/shader/crop_pack8to4.comp" "build/src/layer/vulkan/shader/deconvolution.comp" "build/src/layer/vulkan/shader/deconvolutiondepthwise.comp" "build/src/layer/vulkan/shader/deconvolutiondepthwise_group.comp" "build/src/layer/vulkan/shader/deconvolutiondepthwise_group_pack1to4.comp" "build/src/layer/vulkan/shader/deconvolutiondepthwise_group_pack1to8.comp" "build/src/layer/vulkan/shader/deconvolutiondepthwise_group_pack4.comp" "build/src/layer/vulkan/shader/deconvolutiondepthwise_group_pack4to1.comp" "build/src/layer/vulkan/shader/deconvolutiondepthwise_group_pack4to8.comp" "build/src/layer/vulkan/shader/deconvolutiondepthwise_group_pack8to1.comp" "build/src/layer/vulkan/shader/deconvolutiondepthwise_group_pack8to4.comp" "build/src/layer/vulkan/shader/deconvolutiondepthwise_pack4.comp" "build/src/layer/vulkan/shader/deconvolutiondepthwise_pack8.comp" "build/src/layer/vulkan/shader/deconvolution_pack1to4.comp" "build/src/layer/vulkan/shader/deconvolution_pack1to8.comp" "build/src/layer/vulkan/shader/deconvolution_pack4.comp" "build/src/layer/vulkan/shader/deconvolution_pack4to1.comp" "build/src/layer/vulkan/shader/deconvolution_pack4to8.comp" "build/src/layer/vulkan/shader/deconvolution_pack8.comp" "build/src/layer/vulkan/shader/deconvolution_pack8to1.comp" "build/src/layer/vulkan/shader/deconvolution_pack8to4.comp" "build/src/layer/vulkan/shader/deepcopy.comp" "build/src/layer/vulkan/shader/deepcopy_pack4.comp" "build/src/layer/vulkan/shader/deepcopy_pack8.comp" "build/src/layer/vulkan/shader/dropout_pack4.comp" "build/src/layer/vulkan/shader/dropout_pack8.comp" "build/src/layer/vulkan/shader/eltwise.comp" "build/src/layer/vulkan/shader/eltwise_pack4.comp" "build/src/layer/vulkan/shader/eltwise_pack8.comp" "build/src/layer/vulkan/shader/flatten.comp" "build/src/layer/vulkan/shader/flatten_pack1to4.comp" "build/src/layer/vulkan/shader/flatten_pack1to8.comp" "build/src/layer/vulkan/shader/flatten_pack4.comp" "build/src/layer/vulkan/shader/flatten_pack4to8.comp" "build/src/layer/vulkan/shader/flatten_pack8.comp" "build/src/layer/vulkan/shader/hardsigmoid.comp" "build/src/layer/vulkan/shader/hardsigmoid_pack4.comp" "build/src/layer/vulkan/shader/hardsigmoid_pack8.comp" "build/src/layer/vulkan/shader/hardswish.comp" "build/src/layer/vulkan/shader/hardswish_pack8.comp" "build/src/layer/vulkan/shader/innerproduct.comp" "build/src/layer/vulkan/shader/innerproduct_gemm.comp" "build/src/layer/vulkan/shader/innerproduct_gemm_wp1to4.comp" "build/src/layer/vulkan/shader/innerproduct_gemm_wp1to8.comp" "build/src/layer/vulkan/shader/innerproduct_gemm_wp4.comp" "build/src/layer/vulkan/shader/innerproduct_gemm_wp4to1.comp" "build/src/layer/vulkan/shader/innerproduct_gemm_wp4to8.comp" "build/src/layer/vulkan/shader/innerproduct_gemm_wp8.comp" "build/src/layer/vulkan/shader/innerproduct_gemm_wp8to1.comp" "build/src/layer/vulkan/shader/innerproduct_gemm_wp8to4.comp" "build/src/layer/vulkan/shader/innerproduct_pack1to4.comp" "build/src/layer/vulkan/shader/innerproduct_pack1to8.comp" "build/src/layer/vulkan/shader/innerproduct_pack4.comp" "build/src/layer/vulkan/shader/innerproduct_pack4to8.comp" "build/src/layer/vulkan/shader/innerproduct_pack8.comp" "build/src/layer/vulkan/shader/innerproduct_pack8to1.comp" "build/src/layer/vulkan/shader/innerproduct_pack8to4.comp" "build/src/layer/vulkan/shader/instancenorm_coeffs.comp" "build/src/layer/vulkan/shader/instancenorm_coeffs_pack4.comp" "build/src/layer/vulkan/shader/instancenorm_coeffs_pack8.comp" "build/src/layer/vulkan/shader/instancenorm_norm.comp" "build/src/layer/vulkan/shader/instancenorm_norm_pack4.comp" "build/src/layer/vulkan/shader/instancenorm_norm_pack8.comp" "build/src/layer/vulkan/shader/instancenorm_reduce_mean.comp" "build/src/layer/vulkan/shader/instancenorm_reduce_mean_pack4.comp" "build/src/layer/vulkan/shader/instancenorm_reduce_mean_pack8.comp" "build/src/layer/vulkan/shader/instancenorm_reduce_sum4_fp16_to_fp32_pack4.comp" "build/src/layer/vulkan/shader/instancenorm_reduce_sum4_fp16_to_fp32_pack8.comp" "build/src/layer/vulkan/shader/instancenorm_reduce_sum4_fp32.comp" "build/src/layer/vulkan/shader/instancenorm_reduce_sum4_fp32_pack4.comp" "build/src/layer/vulkan/shader/instancenorm_reduce_sum4_fp32_pack8.comp" "build/src/layer/vulkan/shader/instancenorm_sub_mean_square.comp" "build/src/layer/vulkan/shader/instancenorm_sub_mean_square_pack4.comp" "build/src/layer/vulkan/shader/instancenorm_sub_mean_square_pack8.comp" "build/src/layer/vulkan/shader/interp.comp" "build/src/layer/vulkan/shader/interp_bicubic.comp" "build/src/layer/vulkan/shader/interp_bicubic_coeffs.comp" "build/src/layer/vulkan/shader/interp_bicubic_pack4.comp" "build/src/layer/vulkan/shader/interp_bicubic_pack8.comp" "build/src/layer/vulkan/shader/interp_pack8.comp" "build/src/layer/vulkan/shader/lrn_norm.comp" "build/src/layer/vulkan/shader/lrn_norm_across_channel_pack4.comp" "build/src/layer/vulkan/shader/lrn_norm_across_channel_pack8.comp" "build/src/layer/vulkan/shader/lrn_norm_within_channel_pack4.comp" "build/src/layer/vulkan/shader/lrn_norm_within_channel_pack8.comp" "build/src/layer/vulkan/shader/lrn_square_pad.comp" "build/src/layer/vulkan/shader/lrn_square_pad_across_channel_pack4.comp" "build/src/layer/vulkan/shader/lrn_square_pad_across_channel_pack8.comp" "build/src/layer/vulkan/shader/lrn_square_pad_within_channel_pack4.comp" "build/src/layer/vulkan/shader/lrn_square_pad_within_channel_pack8.comp" "build/src/layer/vulkan/shader/mish.comp" "build/src/layer/vulkan/shader/mish_pack4.comp" "build/src/layer/vulkan/shader/mish_pack8.comp" "build/src/layer/vulkan/shader/normalize_coeffs_pack4.comp" "build/src/layer/vulkan/shader/normalize_coeffs_pack8.comp" "build/src/layer/vulkan/shader/normalize_norm.comp" "build/src/layer/vulkan/shader/normalize_norm_pack4.comp" "build/src/layer/vulkan/shader/normalize_norm_pack8.comp" "build/src/layer/vulkan/shader/normalize_reduce_sum4_fp16_to_fp32.comp" "build/src/layer/vulkan/shader/normalize_reduce_sum4_fp16_to_fp32_pack4.comp" "build/src/layer/vulkan/shader/normalize_reduce_sum4_fp16_to_fp32_pack8.comp" "build/src/layer/vulkan/shader/normalize_reduce_sum4_fp32.comp" "build/src/layer/vulkan/shader/normalize_reduce_sum4_fp32_pack4.comp" "build/src/layer/vulkan/shader/normalize_reduce_sum4_fp32_pack8.comp" "build/src/layer/vulkan/shader/packing.comp" "build/src/layer/vulkan/shader/packing_fp16_to_fp32.comp" "build/src/layer/vulkan/shader/packing_fp32_to_fp16.comp" "build/src/layer/vulkan/shader/packing_pack1to4_fp16_to_fp32.comp" "build/src/layer/vulkan/shader/packing_pack1to4_fp32_to_fp16.comp" "build/src/layer/vulkan/shader/packing_pack1to8.comp" "build/src/layer/vulkan/shader/packing_pack1to8_fp16_to_fp32.comp" "build/src/layer/vulkan/shader/packing_pack1to8_fp32_to_fp16.comp" "build/src/layer/vulkan/shader/packing_pack4.comp" "build/src/layer/vulkan/shader/packing_pack4to1.comp" "build/src/layer/vulkan/shader/packing_pack4to1_fp16_to_fp32.comp" "build/src/layer/vulkan/shader/packing_pack4to1_fp32_to_fp16.comp" "build/src/layer/vulkan/shader/packing_pack4to8.comp" "build/src/layer/vulkan/shader/packing_pack4to8_fp16_to_fp32.comp" "build/src/layer/vulkan/shader/packing_pack4to8_fp32_to_fp16.comp" "build/src/layer/vulkan/shader/packing_pack4_fp16_to_fp32.comp" "build/src/layer/vulkan/shader/packing_pack4_fp32_to_fp16.comp" "build/src/layer/vulkan/shader/packing_pack8to1.comp" "build/src/layer/vulkan/shader/packing_pack8to1_fp16_to_fp32.comp" "build/src/layer/vulkan/shader/packing_pack8to1_fp32_to_fp16.comp" "build/src/layer/vulkan/shader/packing_pack8to4.comp" "build/src/layer/vulkan/shader/packing_pack8to4_fp16_to_fp32.comp" "build/src/layer/vulkan/shader/packing_pack8to4_fp32_to_fp16.comp" "build/src/layer/vulkan/shader/packing_pack8_fp16_to_fp32.comp" "build/src/layer/vulkan/shader/packing_pack8_fp32_to_fp16.comp" "build/src/layer/vulkan/shader/padding.comp" "build/src/layer/vulkan/shader/padding_pack1to4.comp" "build/src/layer/vulkan/shader/padding_pack1to8.comp" "build/src/layer/vulkan/shader/padding_pack4.comp" "build/src/layer/vulkan/shader/padding_pack4to1.comp" "build/src/layer/vulkan/shader/padding_pack4to8.comp" "build/src/layer/vulkan/shader/padding_pack8.comp" "build/src/layer/vulkan/shader/padding_pack8to4.comp" "build/src/layer/vulkan/shader/permute.comp" "build/src/layer/vulkan/shader/permute_pack1to4.comp" "build/src/layer/vulkan/shader/permute_pack1to8.comp" "build/src/layer/vulkan/shader/permute_pack4.comp" "build/src/layer/vulkan/shader/permute_pack4to1.comp" "build/src/layer/vulkan/shader/permute_pack4to8.comp" "build/src/layer/vulkan/shader/permute_pack8.comp" "build/src/layer/vulkan/shader/permute_pack8to1.comp" "build/src/layer/vulkan/shader/permute_pack8to4.comp" "build/src/layer/vulkan/shader/pixelshuffle.comp" "build/src/layer/vulkan/shader/pixelshuffle_pack4.comp" "build/src/layer/vulkan/shader/pixelshuffle_pack4to1.comp" "build/src/layer/vulkan/shader/pixelshuffle_pack8.comp" "build/src/layer/vulkan/shader/pixelshuffle_pack8to1.comp" "build/src/layer/vulkan/shader/pixelshuffle_pack8to4.comp" "build/src/layer/vulkan/shader/pooling_adaptive.comp" "build/src/layer/vulkan/shader/pooling_adaptive_pack4.comp" "build/src/layer/vulkan/shader/pooling_adaptive_pack8.comp" "build/src/layer/vulkan/shader/pooling_global.comp" "build/src/layer/vulkan/shader/pooling_global_pack4.comp" "build/src/layer/vulkan/shader/pooling_global_pack8.comp" "build/src/layer/vulkan/shader/pooling_pack4.comp" "build/src/layer/vulkan/shader/pooling_pack8.comp" "build/src/layer/vulkan/shader/prelu.comp" "build/src/layer/vulkan/shader/prelu_pack4.comp" "build/src/layer/vulkan/shader/prelu_pack8.comp" "build/src/layer/vulkan/shader/priorbox.comp" "build/src/layer/vulkan/shader/priorbox_mxnet.comp" "build/src/layer/vulkan/shader/relu.comp" "build/src/layer/vulkan/shader/relu_pack4.comp" "build/src/layer/vulkan/shader/relu_pack8.comp" "build/src/layer/vulkan/shader/reorg_pack1to4.comp" "build/src/layer/vulkan/shader/reorg_pack1to8.comp" "build/src/layer/vulkan/shader/reorg_pack4.comp" "build/src/layer/vulkan/shader/reorg_pack4to8.comp" "build/src/layer/vulkan/shader/reorg_pack8.comp" "build/src/layer/vulkan/shader/reshape.comp" "build/src/layer/vulkan/shader/reshape_pack1to4.comp" "build/src/layer/vulkan/shader/reshape_pack1to8.comp" "build/src/layer/vulkan/shader/reshape_pack4.comp" "build/src/layer/vulkan/shader/reshape_pack4to1.comp" "build/src/layer/vulkan/shader/reshape_pack4to8.comp" "build/src/layer/vulkan/shader/reshape_pack8.comp" "build/src/layer/vulkan/shader/reshape_pack8to1.comp" "build/src/layer/vulkan/shader/reshape_pack8to4.comp" "build/src/layer/vulkan/shader/scale.comp" "build/src/layer/vulkan/shader/scale_pack4.comp" "build/src/layer/vulkan/shader/shufflechannel.comp" "build/src/layer/vulkan/shader/shufflechannel_pack4.comp" "build/src/layer/vulkan/shader/shufflechannel_pack8.comp" "build/src/layer/vulkan/shader/sigmoid.comp" "build/src/layer/vulkan/shader/sigmoid_pack4.comp" "build/src/layer/vulkan/shader/sigmoid_pack8.comp" "build/src/layer/vulkan/shader/slice.comp" "build/src/layer/vulkan/shader/slice_pack1to4.comp" "build/src/layer/vulkan/shader/slice_pack1to8.comp" "build/src/layer/vulkan/shader/slice_pack4.comp" "build/src/layer/vulkan/shader/slice_pack4to8.comp" "build/src/layer/vulkan/shader/slice_pack8.comp" "build/src/layer/vulkan/shader/softmax_div_sum.comp" "build/src/layer/vulkan/shader/softmax_div_sum_pack4.comp" "build/src/layer/vulkan/shader/softmax_div_sum_pack8.comp" "build/src/layer/vulkan/shader/softmax_exp_sub_max.comp" "build/src/layer/vulkan/shader/softmax_exp_sub_max_pack8.comp" "build/src/layer/vulkan/shader/softmax_reduce_max.comp" "build/src/layer/vulkan/shader/softmax_reduce_max_pack4.comp" "build/src/layer/vulkan/shader/softmax_reduce_max_pack8.comp" "build/src/layer/vulkan/shader/softmax_reduce_sum.comp" "build/src/layer/vulkan/shader/softmax_reduce_sum_pack4.comp" "build/src/layer/vulkan/shader/softmax_reduce_sum_pack8.comp" "build/src/layer/vulkan/shader/swish.comp" "build/src/layer/vulkan/shader/swish_pack4.comp" "build/src/layer/vulkan/shader/swish_pack8.comp" "build/src/layer/vulkan/shader/tanh.comp" "build/src/layer/vulkan/shader/tanh_pack4.comp" "build/src/layer/vulkan/shader/tanh_pack8.comp" "build/src/layer/vulkan/shader/unaryop.comp" "build/src/layer/vulkan/shader/unaryop_pack4.comp" "build/src/layer/vulkan/shader/unaryop_pack8.comp" ) set( mipsSourceFiles "build/src/layer/mips/absval_mips.cpp" "build/src/layer/mips/bias_mips.cpp" "build/src/layer/mips/clip_mips.cpp" "build/src/layer/mips/sigmoid_mips.cpp" "build/src/layer/mips/softmax_mips.cpp" "build/src/layer/mips/tanh_mips.cpp" ) set( headerFiles "build/src/gpu.h" "build/src/allocator.h" "build/src/benchmark.h" "build/src/blob.h" "build/src/command.h" "build/src/cpu.h" "build/src/c_api.h" "build/src/datareader.h" "build/src/layer/absval.h" "build/src/layer/argmax.h" "build/src/layer/arm/absval_arm.h" "build/src/layer/arm/arm_activation.h" "build/src/layer/arm/arm_usability.h" "build/src/layer/arm/batchnorm_arm.h" "build/src/layer/arm/bias_arm.h" "build/src/layer/arm/binaryop_arm.h" "build/src/layer/arm/cast_arm.h" "build/src/layer/arm/clip_arm.h" "build/src/layer/arm/convolutiondepthwise_3x3.h" "build/src/layer/arm/convolutiondepthwise_3x3_fp16s.h" "build/src/layer/arm/convolutiondepthwise_3x3_int8.h" "build/src/layer/arm/convolutiondepthwise_3x3_pack4.h" "build/src/layer/arm/convolutiondepthwise_3x3_pack4_bf16s.h" "build/src/layer/arm/convolutiondepthwise_3x3_pack8_fp16s.h" "build/src/layer/arm/convolutiondepthwise_3x3_pack8_int8.h" "build/src/layer/arm/convolutiondepthwise_5x5.h" "build/src/layer/arm/convolutiondepthwise_5x5_pack4.h" "build/src/layer/arm/convolutiondepthwise_5x5_pack4_bf16s.h" "build/src/layer/arm/convolutiondepthwise_5x5_pack8_fp16s.h" "build/src/layer/arm/convolutiondepthwise_arm.h" "build/src/layer/arm/convolution_1x1.h" "build/src/layer/arm/convolution_1x1_bf16s.h" "build/src/layer/arm/convolution_1x1_fp16s.h" "build/src/layer/arm/convolution_1x1_int8.h" "build/src/layer/arm/convolution_1x1_pack1to4_int8.h" "build/src/layer/arm/convolution_1x1_pack4.h" "build/src/layer/arm/convolution_1x1_pack4to1.h" "build/src/layer/arm/convolution_1x1_pack4to1_bf16s.h" "build/src/layer/arm/convolution_1x1_pack4to8_fp16s.h" "build/src/layer/arm/convolution_1x1_pack4_bf16s.h" "build/src/layer/arm/convolution_1x1_pack4_fp16s.h" "build/src/layer/arm/convolution_1x1_pack8to1_fp16s.h" "build/src/layer/arm/convolution_1x1_pack8to1_int8.h" "build/src/layer/arm/convolution_1x1_pack8to4_fp16s.h" "build/src/layer/arm/convolution_1x1_pack8_fp16s.h" "build/src/layer/arm/convolution_2x2.h" "build/src/layer/arm/convolution_3x3.h" "build/src/layer/arm/convolution_3x3_int8.h" "build/src/layer/arm/convolution_3x3_pack1to4.h" "build/src/layer/arm/convolution_3x3_pack1to4_bf16s.h" "build/src/layer/arm/convolution_3x3_pack1to4_fp16s.h" "build/src/layer/arm/convolution_3x3_pack1to4_int8.h" "build/src/layer/arm/convolution_3x3_pack1to8_fp16s.h" "build/src/layer/arm/convolution_3x3_pack4.h" "build/src/layer/arm/convolution_3x3_pack4to1.h" "build/src/layer/arm/convolution_3x3_pack4to1_bf16s.h" "build/src/layer/arm/convolution_3x3_pack4_bf16s.h" "build/src/layer/arm/convolution_3x3_pack4_fp16s.h" "build/src/layer/arm/convolution_3x3_pack8to1_int8.h" "build/src/layer/arm/convolution_3x3_pack8to4_fp16s.h" "build/src/layer/arm/convolution_3x3_pack8to4_int8.h" "build/src/layer/arm/convolution_3x3_pack8_fp16s.h" "build/src/layer/arm/convolution_4x4.h" "build/src/layer/arm/convolution_5x5.h" "build/src/layer/arm/convolution_5x5_pack4.h" "build/src/layer/arm/convolution_5x5_pack4_bf16s.h" "build/src/layer/arm/convolution_5x5_pack8_fp16s.h" "build/src/layer/arm/convolution_7x7.h" "build/src/layer/arm/convolution_7x7_pack1to4.h" "build/src/layer/arm/convolution_7x7_pack1to4_bf16s.h" "build/src/layer/arm/convolution_7x7_pack1to4_int8.h" "build/src/layer/arm/convolution_7x7_pack1to8_fp16s.h" "build/src/layer/arm/concat_arm.h" "build/src/layer/arm/convolution_1x1_pack8to4_int8.h" "build/src/layer/arm/convolution_3x3_pack8to1_fp16s.h" "build/src/layer/arm/convolution_pack4_bf16s.h" "build/src/layer/arm/crop_arm.h" "build/src/layer/arm/gru_arm.h" "build/src/layer/arm/interp_bicubic_pack8_fp16s.h" "build/src/layer/arm/convolution_arm.h" "build/src/layer/arm/convolution_bf16s.h" "build/src/layer/arm/convolution_fp16s.h" "build/src/layer/arm/convolution_int8.h" "build/src/layer/arm/convolution_pack1to4.h" "build/src/layer/arm/convolution_pack1to4_bf16s.h" "build/src/layer/arm/convolution_pack1to4_fp16s.h" "build/src/layer/arm/convolution_pack1to4_int8.h" "build/src/layer/arm/convolution_pack1to8_fp16s.h" "build/src/layer/arm/convolution_pack4.h" "build/src/layer/arm/convolution_pack4to1.h" "build/src/layer/arm/convolution_pack4to1_bf16s.h" "build/src/layer/arm/convolution_pack4to1_fp16s.h" "build/src/layer/arm/convolution_pack4to8_fp16s.h" "build/src/layer/arm/convolution_pack4_fp16s.h" "build/src/layer/arm/convolution_pack8to1_fp16s.h" "build/src/layer/arm/convolution_pack8to1_int8.h" "build/src/layer/arm/convolution_pack8to4_fp16s.h" "build/src/layer/arm/convolution_pack8to4_int8.h" "build/src/layer/arm/convolution_pack8_fp16s.h" "build/src/layer/arm/convolution_sgemm.h" "build/src/layer/arm/convolution_sgemm_int8.h" "build/src/layer/arm/convolution_sgemm_pack1to4_int8.h" "build/src/layer/arm/convolution_sgemm_pack4.h" "build/src/layer/arm/convolution_sgemm_pack4_bf16s.h" "build/src/layer/arm/convolution_sgemm_pack8to1_int8.h" "build/src/layer/arm/convolution_sgemm_pack8to4_int8.h" "build/src/layer/arm/convolution_sgemm_pack8_fp16s.h" "build/src/layer/arm/deconvolutiondepthwise_arm.h" "build/src/layer/arm/deconvolution_3x3.h" "build/src/layer/arm/deconvolution_4x4.h" "build/src/layer/arm/deconvolution_4x4_fp16s.h" "build/src/layer/arm/deconvolution_arm.h" "build/src/layer/arm/dequantize_arm.h" "build/src/layer/arm/dropout_arm.h" "build/src/layer/arm/eltwise_arm.h" "build/src/layer/arm/flatten_arm.h" "build/src/layer/arm/hardsigmoid_arm.h" "build/src/layer/arm/hardswish_arm.h" "build/src/layer/arm/innerproduct_arm.h" "build/src/layer/arm/instancenorm_arm.h" "build/src/layer/arm/interp_arm.h" "build/src/layer/arm/interp_bicubic.h" "build/src/layer/arm/interp_bicubic_bf16s.h" "build/src/layer/arm/interp_bicubic_fp16s.h" "build/src/layer/arm/interp_bicubic_pack4.h" "build/src/layer/arm/interp_bicubic_pack4_bf16s.h" "build/src/layer/arm/interp_bicubic_pack4_fp16s.h" "build/src/layer/arm/interp_bilinear.h" "build/src/layer/arm/interp_bilinear_bf16s.h" "build/src/layer/arm/interp_bilinear_fp16s.h" "build/src/layer/arm/interp_bilinear_pack4.h" "build/src/layer/arm/interp_bilinear_pack4_bf16s.h" "build/src/layer/arm/interp_bilinear_pack4_fp16s.h" "build/src/layer/arm/interp_bilinear_pack8_fp16s.h" "build/src/layer/arm/lrn_arm.h" "build/src/layer/arm/lstm_arm.h" "build/src/layer/arm/mish_arm.h" "build/src/layer/arm/neon_mathfun.h" "build/src/layer/arm/neon_mathfun_fp16s.h" "build/src/layer/arm/neon_mathfun_tanh.h" "build/src/layer/arm/packing_arm.h" "build/src/layer/arm/padding_arm.h" "build/src/layer/arm/padding_pack4.h" "build/src/layer/arm/padding_pack4_bf16s_fp16s.h" "build/src/layer/arm/padding_pack8_fp16s.h" "build/src/layer/arm/padding_pack8_int8.h" "build/src/layer/arm/pixelshuffle_arm.h" "build/src/layer/arm/pooling_2x2.h" "build/src/layer/arm/pooling_2x2_pack4.h" "build/src/layer/arm/pooling_3x3.h" "build/src/layer/arm/pooling_3x3_pack4.h" "build/src/layer/arm/pooling_arm.h" "build/src/layer/arm/prelu_arm.h" "build/src/layer/arm/quantize_arm.h" "build/src/layer/arm/relu_arm.h" "build/src/layer/arm/requantize_arm.h" "build/src/layer/arm/requantize_relu_pack4.h" "build/src/layer/arm/requantize_relu_pack8.h" "build/src/layer/arm/reshape_arm.h" "build/src/layer/arm/rnn_arm.h" "build/src/layer/arm/scale_arm.h" "build/src/layer/arm/selu_arm.h" "build/src/layer/arm/shufflechannel_arm.h" "build/src/layer/arm/sigmoid_arm.h" "build/src/layer/arm/slice_arm.h" "build/src/layer/arm/softmax_arm.h" "build/src/layer/arm/swish_arm.h" "build/src/layer/arm/tanh_arm.h" "build/src/layer/arm/unaryop_arm.h" "build/src/layer/batchnorm.h" "build/src/layer/bias.h" "build/src/layer/binaryop.h" "build/src/layer/bnll.h" "build/src/layer/cast.h" "build/src/layer/clip.h" "build/src/layer/convolution.h" "build/src/layer/convolutiondepthwise.h" "build/src/layer/crop.h" "build/src/layer/deconvolution.h" "build/src/layer/deconvolutiondepthwise.h" "build/src/layer/deepcopy.h" "build/src/layer/dequantize.h" "build/src/layer/detectionoutput.h" "build/src/layer/dropout.h" "build/src/layer/eltwise.h" "build/src/layer/elu.h" "build/src/layer/embed.h" "build/src/layer/exp.h" "build/src/layer/expanddims.h" "build/src/layer/flatten.h" "build/src/layer/gelu.h" "build/src/layer/gemm.h" "build/src/layer/groupnorm.h" "build/src/layer/gru.h" "build/src/layer/hardsigmoid.h" "build/src/layer/hardswish.h" "build/src/layer/innerproduct.h" "build/src/layer/input.h" "build/src/layer/instancenorm.h" "build/src/layer/interp.h" "build/src/layer/layernorm.h" "build/src/layer/log.h" "build/src/layer/lrn.h" "build/src/layer/lstm.h" "build/src/layer/memorydata.h" "build/src/layer/mips/absval_mips.h" "build/src/layer/mips/bias_mips.h" "build/src/layer/mips/clip_mips.h" "build/src/layer/mips/mips_common.h" "build/src/layer/mips/mips_mathfun.h" "build/src/layer/mips/sigmoid_mips.h" "build/src/layer/mips/softmax_mips.h" "build/src/layer/mips/tanh_mips.h" "build/src/layer/mish.h" "build/src/layer/multiheadattention.h" "build/src/layer/mvn.h" "build/src/layer/noop.h" "build/src/layer/normalize.h" "build/src/layer/packing.h" "build/src/layer/padding.h" "build/src/layer/permute.h" "build/src/layer/concat.h" "build/src/layer/sigmoid.h" "build/src/layer/pixelshuffle.h" "build/src/layer/pooling.h" "build/src/layer/power.h" "build/src/layer/prelu.h" "build/src/layer/priorbox.h" "build/src/layer/proposal.h" "build/src/layer/psroipooling.h" "build/src/layer/quantize.h" "build/src/layer/reduction.h" "build/src/layer/relu.h" "build/src/layer/reorg.h" "build/src/layer/requantize.h" "build/src/layer/reshape.h" "build/src/layer/riscv/cast_riscv.h" "build/src/layer/riscv/clip_riscv.h" "build/src/layer/riscv/mish_riscv.h" "build/src/layer/riscv/packing_riscv.h" "build/src/layer/riscv/riscv_v_071_fix.h" "build/src/layer/riscv/rvv_mathfun.h" "build/src/layer/riscv/rvv_mathfun_fp16s.h" "build/src/layer/riscv/sigmoid_riscv.h" "build/src/layer/riscv/swish_riscv.h" "build/src/layer/riscv/tanh_riscv.h" "build/src/layer/riscv/unaryop_riscv.h" "build/src/layer/rnn.h" "build/src/layer/roialign.h" "build/src/layer/roipooling.h" "build/src/layer/scale.h" "build/src/layer/selu.h" "build/src/layer/shufflechannel.h" "build/src/layer/slice.h" "build/src/layer/softmax.h" "build/src/layer/softplus.h" "build/src/layer/split.h" "build/src/layer/spp.h" "build/src/layer/squeeze.h" "build/src/layer/statisticspooling.h" "build/src/layer/swish.h" "build/src/layer/tanh.h" "build/src/layer/threshold.h" "build/src/layer/tile.h" "build/src/layer/unaryop.h" "build/src/layer/vulkan/absval_vulkan.h" "build/src/layer/vulkan/batchnorm_vulkan.h" "build/src/layer/vulkan/binaryop_vulkan.h" "build/src/layer/vulkan/cast_vulkan.h" "build/src/layer/vulkan/clip_vulkan.h" "build/src/layer/vulkan/concat_vulkan.h" "build/src/layer/vulkan/convolutiondepthwise_vulkan.h" "build/src/layer/vulkan/convolution_vulkan.h" "build/src/layer/vulkan/crop_vulkan.h" "build/src/layer/vulkan/deconvolutiondepthwise_vulkan.h" "build/src/layer/vulkan/deconvolution_vulkan.h" "build/src/layer/vulkan/deepcopy_vulkan.h" "build/src/layer/vulkan/dropout_vulkan.h" "build/src/layer/vulkan/eltwise_vulkan.h" "build/src/layer/vulkan/flatten_vulkan.h" "build/src/layer/vulkan/hardsigmoid_vulkan.h" "build/src/layer/vulkan/innerproduct_vulkan.h" "build/src/layer/vulkan/instancenorm_vulkan.h" "build/src/layer/vulkan/interp_vulkan.h" "build/src/layer/vulkan/lrn_vulkan.h" "build/src/layer/vulkan/memorydata_vulkan.h" "build/src/layer/vulkan/mish_vulkan.h" "build/src/layer/vulkan/normalize_vulkan.h" "build/src/layer/vulkan/packing_vulkan.h" "build/src/layer/vulkan/padding_vulkan.h" "build/src/layer/vulkan/permute_vulkan.h" "build/src/layer/vulkan/pixelshuffle_vulkan.h" "build/src/layer/vulkan/pooling_vulkan.h" "build/src/layer/vulkan/prelu_vulkan.h" "build/src/layer/vulkan/priorbox_vulkan.h" "build/src/layer/vulkan/relu_vulkan.h" "build/src/layer/vulkan/reorg_vulkan.h" "build/src/layer/vulkan/hardswish_vulkan.h" "build/src/layer/vulkan/reshape_vulkan.h" "build/src/layer/vulkan/scale_vulkan.h" "build/src/layer/vulkan/shufflechannel_vulkan.h" "build/src/layer/vulkan/sigmoid_vulkan.h" "build/src/layer/vulkan/slice_vulkan.h" "build/src/layer/vulkan/softmax_vulkan.h" "build/src/layer/vulkan/swish_vulkan.h" "build/src/layer/vulkan/tanh_vulkan.h" "build/src/layer/vulkan/unaryop_vulkan.h" "build/src/layer/x86/avx_mathfun.h" "build/src/layer/x86/batchnorm_x86.h" "build/src/layer/x86/bias_x86.h" "build/src/layer/x86/binaryop_x86.h" "build/src/layer/x86/cast_x86.h" "build/src/layer/x86/clip_x86.h" "build/src/layer/x86/concat_x86.h" "build/src/layer/x86/convolutiondepthwise_3x3.h" "build/src/layer/x86/convolutiondepthwise_3x3_int8.h" "build/src/layer/x86/convolutiondepthwise_3x3_pack8.h" "build/src/layer/x86/convolutiondepthwise_3x3_pack8_fp16.h" "build/src/layer/x86/convolutiondepthwise_5x5_pack8.h" "build/src/layer/x86/convolutiondepthwise_x86.h" "build/src/layer/x86/convolution_1x1.h" "build/src/layer/x86/convolution_1x1_int8.h" "build/src/layer/x86/convolution_1x1_pack4.h" "build/src/layer/x86/convolution_1x1_pack8to4_int8.h" "build/src/layer/x86/convolution_1x1_pack8_fp16.h" "build/src/layer/x86/convolution_2x2_pack8.h" "build/src/layer/x86/convolution_2x2_pack8_fp16.h" "build/src/layer/x86/convolution_3x3.h" "build/src/layer/x86/convolution_3x3_int8.h" "build/src/layer/x86/convolution_3x3_pack1to8.h" "build/src/layer/x86/convolution_3x3_pack8.h" "build/src/layer/x86/convolution_3x3_pack8to1.h" "build/src/layer/x86/convolution_5x5.h" "build/src/layer/x86/convolution_7x7.h" "build/src/layer/x86/convolution_int8.h" "build/src/layer/x86/convolution_pack1to4_int8.h" "build/src/layer/x86/convolution_pack8to1_int8.h" "build/src/layer/x86/convolution_pack8to4_int8.h" "build/src/layer/x86/convolution_sgemm.h" "build/src/layer/x86/convolution_sgemm_pack8to4_int8.h" "build/src/layer/x86/convolution_x86.h" "build/src/layer/x86/crop_x86.h" "build/src/layer/x86/dequantize_x86.h" "build/src/layer/x86/dropout_x86.h" "build/src/layer/x86/eltwise_x86.h" "build/src/layer/x86/flatten_x86.h" "build/src/layer/x86/hardsigmoid_x86.h" "build/src/layer/x86/hardswish_x86.h" "build/src/layer/x86/innerproduct_x86.h" "build/src/layer/x86/lrn_x86.h" "build/src/layer/x86/lstm_x86.h" "build/src/layer/x86/mish_x86.h" "build/src/layer/x86/packing_x86.h" "build/src/layer/x86/padding_pack4.h" "build/src/layer/x86/padding_pack8.h" "build/src/layer/x86/padding_pack8_int8.h" "build/src/layer/x86/padding_x86.h" "build/src/layer/x86/pooling_2x2.h" "build/src/layer/x86/pooling_2x2_pack8.h" "build/src/layer/x86/pooling_3x3_pack8.h" "build/src/layer/x86/convolution_1x1_pack8.h" "build/src/layer/x86/convolution_sgemm_int8.h" "build/src/layer/x86/pooling_x86.h" "build/src/layer/x86/prelu_x86.h" "build/src/layer/x86/quantize_x86.h" "build/src/layer/x86/relu_x86.h" "build/src/layer/x86/requantize_x86.h" "build/src/layer/x86/reshape_x86.h" "build/src/layer/x86/roialign_x86.h" "build/src/layer/x86/scale_x86.h" "build/src/layer/x86/sigmoid_x86.h" "build/src/layer/x86/slice_x86.h" "build/src/layer/x86/sse_mathfun.h" "build/src/layer/x86/swish_x86.h" "build/src/layer/x86/tanh_x86.h" "build/src/layer/x86/x86_activation.h" "build/src/layer/x86/x86_usability.h" "build/src/layer/x86/yolov3detectionoutput_x86.h" "build/src/layer/yolodetectionoutput.h" "build/src/layer/yolov3detectionoutput.h" "build/src/layer.h" "build/src/layer_declaration.h.in" "build/src/layer_registry.h.in" "build/src/layer_registry_arm82.h.in" "build/src/layer_registry_avx2.h.in" "build/src/layer_registry_rvv.h.in" "build/src/layer_shader_registry.h.in" "build/src/layer_shader_spv_data.h.in" "build/src/layer_shader_type.h" "build/src/layer_shader_type_enum.h.in" "build/src/layer_type.h" "build/src/layer_type_enum.h.in" "build/src/mat.h" "build/src/modelbin.h" "build/src/net.h" "build/src/option.h" "build/src/paramdict.h" "build/src/pipeline.h" "build/src/pipelinecache.h" "build/src/platform.h.in" "build/src/simpleocv.h" "build/src/simpleomp.h" "build/src/simplestl.h" "build/src/vulkan_header_fix.h" ) set( executableFiles "MOO" ) # ------------------------------------------------------------------------------------------------- add_library(NCNN STATIC) add_library(NCNN::Static ALIAS NCNN) target_compile_definitions( NCNN PUBLIC HAVE_PTHREAD ) target_include_directories( NCNN PUBLIC "build/src" PUBLIC "build/src/layer" ) target_sources( NCNN PUBLIC ${headerFiles} PRIVATE ${sourceFiles} PRIVATE ${x86SourceFiles} ) #set_target_properties(NCNN PROPERTIES PREFIX "") set_target_properties(NCNN PROPERTIES OUTPUT_NAME "ncnn") # ------------------------------------------------------------------------------------------------- #add_executable(NCNNCompiler) #target_compile_definitions( # NCNNCompiler # PUBLIC HAVE_PTHREAD #) #target_include_directories( # NCNNCompiler # PUBLIC "build/src" #) #target_sources( # NCNNCompiler # PUBLIC ${headerFiles} # PRIVATE ${executableFiles} #) #set_target_properties(NCNN PROPERTIES PREFIX "") #set_target_properties(NCNNCompiler PROPERTIES OUTPUT_NAME "ncnn") # ------------------------------------------------------------------------------------------------- install( DIRECTORY build/src/ncnn DESTINATION ${PROJECT_SOURCE_DIR}/Include FILES_MATCHING PATTERN "*.h" ) #install( # FILES ${headerFiles} # DESTINATION ${PROJECT_SOURCE_DIR}/Include #) install( TARGETS NCNN ARCHIVE DESTINATION ${PROJECT_SOURCE_DIR}/bin/${NUCLEX_COMPILER_TAG} ) #install( # TARGETS NCNNCompiler # RUNTIME DESTINATION ${PROJECT_SOURCE_DIR}/bin/${NUCLEX_COMPILER_TAG} #) # ------------------------------------------------------------------------------------------------- file( WRITE "${PROJECT_SOURCE_DIR}/NCNNConfig.cmake" "#!/usr/bin/cmake # Configuration to include NCNN in a CMake-based project. If you want to # reference NCNN as an externally compiled static library, do this: # # set(NCNN_DIR \"../ThirdParty/ncnn\") # find_package(NCNN REQUIRED CONFIG) # # target_link_libraries( # MyAwesomeProject # PRIVATE NCNN::Static # ) # # Alternatively, if you want to build NCNN together with your project, # use the normal CMakeLists.txt with CMake's add_subdirectory() command: # # add_subdirectory( # \"\${PROJECT_SOURCE_DIR}/../ThirdParty/ncnn\" # \"\${CMAKE_BINARY_DIR}/ncnn\" # ) # # target_link_libraries( # MyAwesomeProject # PRIVATE NCNN # ) # # ------------------------------------------------------------------------------------------------- if(NOT DEFINED NUCLEX_COMPILER_TAG) message( FATAL_ERROR \"NUCLEX_COMPILER_TAG not defined! Include cplusplus.cmake before importing this package \\ in order to generate a tag identifying the platform/compiler/architecture/variant!\" ) endif() # ------------------------------------------------------------------------------------------------- if(NOT EXISTS \"\${CMAKE_CURRENT_LIST_DIR}/bin/\${NUCLEX_COMPILER_TAG}\") # TODO: Warn and link release build when compiling in debug mode # TODO: Warn and link build for older compiler version if found message( FATAL_ERROR \"Directory '\${CMAKE_CURRENT_LIST_DIR}/bin/\${NUCLEX_COMPILER_TAG}' not found. \\ Please either build and install this project before importing it via \\ find_package() or use this project's main CMakeFiles.txt via add_subdirectory()!\" ) endif() # ------------------------------------------------------------------------------------------------- add_library(NCNN::Static STATIC IMPORTED) # This may cause warnings on recent GCC versions (10.0.0+?) with LTO because GCC detects # that the headers used during build (residing in build/) are not the same used when # linking the library (copies resising in Include/). # # CMake doesn't run the install step during build, so the only way to get the headers # in place before building would be by copying them rather than installing them. set_target_properties( NCNN::Static PROPERTIES INTERFACE_INCLUDE_DIRECTORIES \"\${CMAKE_CURRENT_LIST_DIR}/Include\" IMPORTED_LINK_INTERFACE_LANGUAGES \"C\" ) if(WIN32) set_target_properties( NCNN::Static PROPERTIES IMPORTED_LOCATION \"\${CMAKE_CURRENT_LIST_DIR}/bin/\${NUCLEX_COMPILER_TAG}/ncnn.lib\" ) else() set_target_properties( NCNN::Static PROPERTIES IMPORTED_LOCATION \"\${CMAKE_CURRENT_LIST_DIR}/bin/\${NUCLEX_COMPILER_TAG}/libncnn.a\" ) endif() message(STATUS \"Imported NCNN targets with binaries in '\${CMAKE_CURRENT_LIST_DIR}'\")" ) # -------------------------------------------------------------------------------------------------