Commit Graph

890 Commits

Author SHA1 Message Date
nihui f74639deeb gemm block quantization infrastructure for llm decoder style (#6814)
* another mha oob read
2026-07-13 10:13:39 +08:00
nihui bd5842174f pnnx reshape improve compatibility with old ncnn (#6806)
* onnx flatten to reshape
2026-07-06 19:23:00 +08:00
nihui 81e8cbffd0 pnnx ci update torch 2.12 (#6796) 2026-07-03 23:46:56 +08:00
nihui b10a8327fb pnnx ncnn legalize global pooling layout (#6795) 2026-07-03 16:21:59 +08:00
nihui 127b414614 reshape support batch to/from dim (#6784) 2026-07-02 19:29:34 +08:00
噜小噜芋团 cc16734913 fix modelwriter optional weight serialization (#6726)
Co-authored-by: nihui <nihuini@tencent.com>
Co-authored-by: nihui <shuizhuyuanluo@126.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-22 18:36:55 +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
Lune bedf9c6568 unaryop: extend sign, hyperbolic, expm1 and log1p support (#6675)
Add backend support for new UnaryOp operations across scalar, SIMD and Vulkan paths, including sign, sinh, cosh, asinh, acosh, atanh, expm1 and log1p.

Wire the new ops through onnx2ncnn and pnnx expression conversion, update generated Python emission, and add regression coverage for the new conversion paths.

Fix portability issues for expm1/log1p math declarations, NCNN_SIMPLEMATH builds, ONNX-enabled pnnx linking, and stabilize unary op tests across fp16, bf16 and torch exporter/version differences.

Co-authored-by: nihui <nihuini@tencent.com>
2026-05-21 16:19:58 +08:00
Yeuvoir 9db7174bc6 pnnx: fix Conv2d padding tuple normalization (#6694)
Normalize 4-element aten pad values from (left, right, top, bottom) to nn.Conv2d padding order (height, width) when fusing Conv2d modules.

Also add regression coverage for asymmetric ZeroPad2d + depthwise Conv2d to keep the output shape and ncnn pad params correct.
2026-05-21 10:17:58 +08:00
Layla 3724d10fc8 tools:Move Embed/MHA/RNN/LSTM/GRU weight scale generation to ncnn2table (#6688)
Co-authored-by: nihui <nihuini@tencent.com>
2026-05-18 19:38:07 +08:00
e8g(w7n) 485d17327b feat(pnnx): convert prelu[num_parameters=1] to leakyrelu, so that it can be fused with conv (#6344)
Co-authored-by: nihui <nihuini@tencent.com>
2026-05-07 19:46:19 +08:00
nihui 476901a510 pnnx print flops and memops (#5836)
---------

Co-authored-by: luxincn <2391719912@qq.com>
Co-authored-by: SZUwishion <2559916473@qq.com>
Co-authored-by: luxincn <luxincn@users.noreply.github.com>
Co-authored-by: Wu YuXuan <148472521+SZUwishion@users.noreply.github.com>
Co-authored-by: nihui <nihui@users.noreply.github.com>
Co-authored-by: luxincn <118981961+luxincn@users.noreply.github.com>
Co-authored-by: nihui <171016+nihui@users.noreply.github.com>
2026-05-07 19:28:58 +08:00
nihui aa01024557 pnnx: support npy input tensors (#6700)
Co-authored-by: lovedream-ms <209071654+lovedream-ms@users.noreply.github.com>
Co-authored-by: lancerstadium <57707690+lancerstadium@users.noreply.github.com>
Co-authored-by: AtomAlpaca <66774326+AtomAlpaca@users.noreply.github.com>
2026-05-06 20:52:04 +08:00
nihui 0d29a8d048 update pnnx torch-2.11 (#6701) 2026-05-06 20:06:51 +08:00
Lune 82352c9158 [bugfix] pnnx: emit Erf layer for expression erf (#6677) 2026-04-14 19:01:54 +08:00
Molly Sophia c0034d2f51 fix fuse_padding_convolution asymmetric padding params being skipped (#6661)
Signed-off-by: mollyji <mollyji@tencent.com>
2026-04-09 15:26:20 +08:00
nihui 3e97a6e61c update pnnx ci torch 2.10.0 (#6592)
* Downgrade actions/cache from v5 to v4
2026-03-10 11:49:14 +08:00
風的彷徨 f698111525 fmod logaddexp floor_divide remainder support for binaryop (#6549) 2026-03-08 00:05:11 +08:00
nihui b1a08ae9ed packed shape hint for vulkan layers (#6553) 2026-02-26 14:33:43 +08:00
Sense_wang 22ef29fe0a fix: replace 1 bare except clauses with except Exception (#6555) 2026-02-26 11:50:20 +08:00
Evgeny Proydakov 4699b26933 Using snprintf instead of sprintf for a tools (#6554)
Signed-off-by: Evgeny Proydakov <e.proydakov@gmail.com>
2026-02-26 10:29:28 +08:00
nihui ec19da2b61 fix modelwriter padding crash on empty per_channel_pad_data (#6533) 2026-02-04 16:55:39 +08:00
Yiming 4063d7c3df pnnx: add TNN Flatten operator support in pass_level2 (#6513) 2026-01-15 14:09:09 +08:00
nihui 6ebcb644c5 skip opening foldable constant zip without any foldables (#6492) 2026-01-06 16:25:45 +08:00
nihui bfcdd0633e ncnn2mem support new style array and string type (#6440) 2026-01-05 14:12:10 +08:00
nihui 99eccaff80 pnnx ncnn more interleaved rope pattern (#6468) 2025-12-26 17:19:43 +08:00
nihui 7d357031db pnnx fuse adjacent permute, eliminate noop permute (#6467) 2025-12-26 14:16:34 +08:00
nihui c74787622e pnnx ncnn torch flatten handle multiple dynamic dimension (#6466) 2025-12-25 20:01:54 +08:00
nihui a7c1fc2499 pnnx fix ncnn torch stack shape out-of-range crash with negative axis (#6461) 2025-12-24 10:17:33 +08:00
nihui 232c7ab244 pnnx ncnn convert torch flatten, add test (#6462)
* Update upload-artifact action version to v5
2025-12-23 18:36:47 +08:00
nihui bee91ae026 modelwriter tile (#6426) 2025-11-26 19:54:54 +08:00
nihui 430b3124a7 fix ncnn2int8 top_blob int8 scales saving for dequant only style (#6425) 2025-11-26 17:31:57 +08:00
nihui 14d97156d9 pnnx fuse more rmsnorm pattern (#6418) 2025-11-21 15:54:09 +08:00
nihui 559a8e8cb0 rotaryembed layer (#6407)
* add deepseek_v3 attention test
* fuse non interleaved rotary embed
* fuse t5 layernorm without gamma
* test qwen2 attention
* sdpa pattern ++
2025-11-19 17:28:08 +08:00
nihui 11fb99795b sdpa kvcache (#6405) 2025-11-18 11:05:27 +08:00
nihui 69652f4e0d pnnx attribute pooling (#6404) 2025-11-13 13:02:20 +08:00
nihui 299b6eae5d fix sdpa attn mask with single channel (#6402) 2025-11-12 19:07:11 +08:00
nihui 94bb3e7bf0 pnnx generate export_pnnx and export_ncnn utility function (#6401) 2025-11-12 14:17:42 +08:00
nihui d73c0d6fd8 pnnx ncnn convert tensor expand to tile, fix missing tile repeats (#6399) 2025-11-12 10:56:57 +08:00
nihui 641a3e5be8 ncnn sdpa layer (#6397)
* fuse gqa
2025-11-11 11:14:04 +08:00
nihui dfb9ba7844 pnnx generate valid shape for inference from auto inputshape (#6381) 2025-10-31 16:00:21 +08:00
nihui 5cddb454bd pnnx onnx reshape drop allowzero arg (#6380) 2025-10-31 11:28:10 +08:00
Glenn Jocher 9b86753ff7 pnnx fix sanitize op from convert.py (#6379)
* Remove sanitize op from convert.py

@y-t-g @nihui PR to help https://github.com/ultralytics/ultralytics/pull/22347/

* Replace dashes with underscores in pnnx file names

Sanitize file names by replacing dashes with underscores.

---------

Co-authored-by: nihui <shuizhuyuanluo@126.com>
2025-10-31 10:52:50 +08:00
nihui 27ae758da7 pnnx convert interpolate nearest-exact (#6376) 2025-10-28 12:52:57 +08:00
nihui c7a1af0c7e pnnx convert Tensor.unflatten (#6374) 2025-10-27 17:44:00 +08:00
nihui 8903f443aa pnnx fuse more transformer attention variants (#6371)
* pnnx fuse more transformer attention variants
* test new transformers
* always eliminate contiguous
* unified view and reshape
* better float param string
2025-10-27 11:41:12 +08:00
nihui 98eebba72d fix pnnx windows build (#6370) 2025-10-23 11:34:07 +08:00
nihui 7b207dd3ad update pnnx ci torch 2.9.0, support onnx external data, enable dynamo exported onnx test (#6364) 2025-10-23 10:07:42 +08:00
nihui ccfc6c5aa3 pnnx convert onnx gridsample, fix fused constant input dropping logic, fix onnx padding non-constant value conversion, convert onnx dynamic resize, paddle-style tensor size pattern (#6348) 2025-10-10 16:41:34 +08:00
nihui 9e4b9031ec pnnx onnx fix partial shape folding on old opset (#6347) 2025-10-10 13:01:27 +08:00