Skip to content

【年度总结】2020年opencl工作汇总 #41

Description

@ysh329

OpenCL 业务支持

LiteKit手机端OPENCL和CPU模型(已经开源)

2个GPU模型,手势检测与超分,1个cpu模型,人像分割;

  1. 视频超分模型增加opencl前后处理、uint8支持,PR内容详细:[LITE][OPENCL] Support video-sr feature using OpenCL FP16 Image PaddlePaddle/Paddle-Lite#3049
  2. 对视频超分模型做了细致的内存占用比较Lite和Mobile:开启内存复用前后,输入规模越大,物理内存节省越多大概50%+,详见《超分模型与多层间内存复用》http://agroup.baidu.com/paddle-infer/view/office/2539063
  3. 超分模型支持OpenCL多层内存复用:[LITE][PASS][OPENCL] Fix memory_resuse for opencl PaddlePaddle/Paddle-Lite#3077
  4. 超分gpu模型执行期挂掉:更换模型与库匹配的版本后问题解决,库和模型版本不匹配,模型版本太老

手百lens手机端OPENCL和CPU业务(已经上线)

  1. 修复lens_mnasnet找不到kernel_func_name_导致挂的问题,[LITE][OPENCL] Fix act bug for opencl kernel PaddlePaddle/Paddle-Lite#3085
  2. 修复lens mnasnet加载模型时在高通手机上出现segfault问题。原因:模型固化的op和库的实现不兼容
  3. 发现头文件不同导致,模型加载挂掉,原因ios和android头文件不能共用
  4. 旧的int16模型不兼容新版lite在加载模型时的反量化fp32会出现Crash,更新模型后1.8Paddle另存重新转换修复
  5. lens_saoma_yolonano的cpu模型转换时出现conv-conv pass执行挂掉,原因是融合条件没有前置,判断条件出现过晚,找负责人解决;

男女变换GAN手机端OPENCL模型(未上线,算法未调整好)

  1. 修复模型转换出现layout pass找不到对应匹配layout kernel的问题;
  2. 修复/支持找不到tanh、exp的opencl kernel;
  3. 修复io_copy报错;

反黄反暴力手机端OPENCL模型(未上线,算法未调整好)

  1. 修复int16 opencl模型加载fc权重出错的问题
  2. 修复执行过程出现CL_INVALID_BUFFER_SIZE

图像修复手机端OPENCL模型

  1. conv3x3带group的情况不支持,增加支持;
  2. concat计算结果不对,已修复并提pr。特殊机型concat单测结果不对;
  3. 特殊机型骁龙625,网络计算结果错误,conv3x3 group的部分结果在内存写入时失败,低端opencl驱动版本不支持矢量数组;

如流人像分割手机端OPENCL模型(准备上线)

  1. 人像分割增加hard_sigmoid算子,性能提升37ms->26ms;
  2. 修复dropout注册缺失Mask的bug;
  3. 定位荣耀特定机型(荣耀V30)的内存泄露问题,原因是驱动有内存泄露bug;

如流人像分割PC端OPENCL模型(准备上线)

  1. 增加Mac对人像分割模型FP32类型的支持兼容:[OPENCL] support fp32 in dwconv, bilinear, dropout, concat PaddlePaddle/Paddle-Lite#4827[OPENCL] Support OpenCL on MAC OS x86. test=develop PaddlePaddle/Paddle-Lite#4757

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions