Release Notes

功能加强

  • 支持subblock的图优化,即pass支持对 while/conditional_block 等 Op 的 subblock的优化,例如对subblock的Op Fuse、Kernel选择等,目前已在ARM和华为NPU上支持transformer模型 PR3947
  • 支持内部处理错误时向应用层抛出异常,防止程序出现 abort PR3947
  • 新增 retinanet_detection_output Op,支持RetinaNet模型 PR4157

NPU 增强

  • 增加NPU模型缓存机制(支持内存和文件两种缓存方式),支持 dynamic shape,避免每次进行NPU模型的在线生成,缩短第一次推理耗时,同时降低内存的消耗 PR3947
  • 支持NPU内存共享,增加 zero copy 优化,大幅提高 CPU+NPU hybrid的推理性能 PR3947

OpenCL 增强

  • 增加 OpenCL 预判API IsOpenclBackendValid,对于优先选择执行GPU的用户,可基于该API预判手机是否支持OPENCL,否则加载CPU模型,PR3951 PR4003
  • 优化OPENCL Conv和depthwise Conv执行流程,去除冗余计算,PR3924
  • 增加OPENCL auto tuning API,应用场景是对于长时跑的GPU模型,首次执行先做kernel tuning,对执行性能有一定提升,在mali gpu如kirin990/980/970上,针对mobilenetv1/v2有20~50%左右的GPU性能提升,PR4016

Bug fix

  • 修复android armv8的静态库编译出现undef pad问题 PR3977
  • 修复ARM CPU LSTM kernel注册问题 PR4007
  • 修复ARM CPU非对称的pooling计算结果不对的问题PR4013

项目简介

Multi-platform high performance deep learning inference engine (『飞桨』多平台高性能深度学习预测引擎)

发行版本 20

v2.7-beta

全部发行版

贡献者 87

全部贡献者

开发语言

  • C++ 82.3 %
  • Swift 4.1 %
  • CMake 3.0 %
  • Metal 2.6 %
  • C 2.3 %