24 Commits

Author SHA1 Message Date
nihui 41f031e045 reduce redundant tests that do not contribute to coverage (#7042)
* adjust tests
* opt shader coverage op
* update gpu_coverage.cpp atomicor coalesce
2026-10-05 08:57:20 +08:00
nihui 5ea98309e3 layer param hardening (#7003)
* harden layer parameter validation

Original patches and author identities:
https://github.com/Tencent/ncnn/pull/6912 (beilzx)
https://github.com/Tencent/ncnn/pull/6919 (FluxMind-O)
https://github.com/Tencent/ncnn/pull/6928 (lxcxjxhx)
https://github.com/Tencent/ncnn/pull/6948 (ktz03)
https://github.com/Tencent/ncnn/pull/6950 (ktz03)
https://github.com/Tencent/ncnn/pull/6971 (LI)
https://github.com/Tencent/ncnn/pull/6974 (LI)
https://github.com/Tencent/ncnn/pull/6977 (LI)

Co-authored-by: beilzx <2069360659@qq.com>
Co-authored-by: FluxMind-O <3283918317@qq.com>
Co-authored-by: lxcxjxhx <lxcxjxhx@users.noreply.github.com>
Co-authored-by: ktz03 <2484593937@qq.com>
Co-authored-by: LI <2484593937@qq.com>
2026-09-15 19:18:46 +08:00
nihui f6f734f44d vulkan int8 kernels (#6751)
* vulkan: add int8 kernels for core layers
Implement Vulkan int8 paths for convolution, convolutiondepthwise, innerproduct, and gemm with scalar fallback and integer dot product shader branches. Add goal.md and enable existing int8 unit tests for Vulkan coverage.
* enable int8 gpu benchmark
2026-06-17 17:39:49 +08:00
nihui 706c4d1964 support 4d mat in more operators (#6737)
Add 4d Mat handling across generic and optimized backends, extend operator tests, and document supported input and output Mat dimensions.
2026-05-22 15:31:01 +08:00
nihui 544230f71d gemm x86 tile-N threading, drop testutil layer hook function (#6428)
* test threading
* drop testutil layer hook function
2025-11-28 15:48:48 +08:00
nihui 171b9d1bba use spdx license header, copyright Tencent (#6152) 2025-07-08 11:01:29 +08:00
nihui 556b79ce4d create layer decoupled (#5258)
* create layer decoupled
* no more virtual public
* allow build test with shared library
* decouple cpu vulkan
* drop old scripts
2024-01-05 14:08:15 +08:00
nihui dadc640c66 x86 avx512 optimization (#3581)
* unified relu avx512

* unifed clip avx512

* unaryop avx512

* sigmoid avx512

* binaryop avx512

* padding convolution avx512

* convolutiondepthwise avx512

* innerproduct avx512

* reshape avx512

* slice avx512

* hardsigmoid hardswish avx512

* swish avx512

* pooling avx512

* crop avx512

* convolution sgemm pack16

* convolution 3x3 winograd pack16

* interp avx512

* convolution sgemm pack1to16

* convolution sgemm pack16to8

* convolution sgemm pack8to16

* convolution sgemm pack16to4

* fix vulkan permute pack8

* fix vulkan convolution gemm pack8to1
2022-04-09 17:23:27 +08:00
nihui f10cc6dd93 initial data structure changes for 3dcnn, conv3d, pooling3d (#3378)
Co-authored-by: ElvisYu <elvisyuovo@gmail.com>
Co-authored-by: 余浩文 <m18107220188@163.com>
Co-authored-by: Zr2223 <67497651+Zr2223@users.noreply.github.com>
2021-12-02 16:50:55 +08:00
nihui c1ce8ea84d add more test 2021-06-19 10:48:06 +08:00
nihuini 07fa2e1fe3 prefer large channels for int8 operator tests 2021-06-18 11:04:37 +08:00
nihui 3a77b09c31 fix test failure 2021-06-17 23:51:17 +08:00
nihuini 934a1a8e32 test flatten packing padding int8 2021-06-17 19:42:45 +08:00
nihui fca04980f3 enhance padding test (#2580)
* workaround nvidia driver crash
* workaround radv buffer_ld1 zero bug
* fix offset elempack
2021-01-11 14:58:28 +08:00
nihui be49c07e93 fix arm82 fp16s crop padding 2020-11-29 15:56:21 +08:00
nihui e68f15d2f0 padding vulkan vec and image, more padding test 2020-11-29 14:46:40 +08:00
nihui 71272d1b99 more padding test 2020-11-26 23:10:34 +08:00
nihui 11cffce114 armv8.2 infrastructure (#1856)
* runtime cpu dispatch

* force thread one

* disable openmp for coverage

* simplify test layer

* print NCNN_TARGET_ARCH

* less ci build variants

* weight fp16 storage option

* test convdw int8

* apple a12 a13

* ncnn_add_layer ncnn_add_shader cmake macro
2020-07-19 19:29:52 +08:00
nihui 3ef995ed1e format code style and setup restyled.io (#1840) 2020-06-13 22:17:51 +08:00
Tijmen Verhulsdonck da09e5e7f1 Adding channel padding support for blazeface model. (#1826)
* Add channel padding and blazeface model support.

* remove python binding

* remove std::min usage

* fix reference blob usage

* Increased padding test  coverage

* implement requested changes
2020-06-09 19:25:40 +08:00
nihui 979dd5fd11 test does not need to provide data type options 2020-04-12 19:28:04 +08:00
nihui 0f7e7bca02 shader shape specialization constant and basic local group size partition (#1523)
* use Mat class for Shape description

* shape specialization constant in compute shader

* wip

* wip

* test forward_inplace, add binaryop unaryop sigmoid test

* fix arm unaryop test

* fix arm binaryop test

* make shape hint optional, cast int8 to fp32, add cast test

* wip

* follow the good and old local size setting for conv1x1

* the optimal local size rewrite

* fix build on msvc

* add permute shader for all packing layout, add permute test

* concat and slice patial shape constant, slice test

* fix slice test

* interp test

* add lrn test, test packing layout implicitly

* add eltwise test

* add normalize test

* add instancenorm test

* reorg shape constant

* simple local group size partition

* add shape constant param
2020-02-17 15:45:29 +08:00
nihuini 2f16eaa476 fix padding test per channel pad value 2020-01-10 17:53:01 +08:00
nihuini c78b8a08fd padding reflect pack4, add padding test 2020-01-10 17:37:15 +08:00