Skip to content

  • 体验新版
    • 正在加载...
  • 登录
  • PaddlePaddle
  • Paddle
  • 合并请求
  • !26447

P
Paddle
  • 项目概览

PaddlePaddle / Paddle
大约 2 年 前同步成功

通知 2325
Star 20933
Fork 5424
  • 代码
    • 文件
    • 提交
    • 分支
    • Tags
    • 贡献者
    • 分支图
    • Diff
  • Issue 1423
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 543
  • Wiki 0
    • Wiki
  • 分析
    • 仓库
    • DevOps
  • 项目成员
  • Pages
P
Paddle
  • 项目概览
    • 项目概览
    • 详情
    • 发布
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者
    • 分支图
    • 比较
  • Issue 1,423
    • Issue 1,423
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 543
    • 合并请求 543
  • Pages
  • 分析
    • 分析
    • 仓库分析
    • DevOps
  • Wiki 0
    • Wiki
  • 成员
    • 成员
  • 收起侧边栏
  • 动态
  • 分支图
  • 创建新Issue
  • 提交
  • Issue看板

optimized transformation form tensor to numpy !26447

  • Report abuse
!26447 已合并 8月 19, 2020 由 saxon_zh@saxon_zh 创建
#<User:0x00007f0efdecac08>
  • 概览 0
  • 提交 5
  • 变更 3

Created by: wanghuancoder

PR types

Performance optimization

PR changes

Others

Describe

背景: Paddle的Fetch性能不好。经分析Fetch过程中涉及多次深拷贝。

深拷贝分析: Executor&CPU: 1)原始数据->FetchVar; 2)TensorToPyArray错误使用pybind带来一次深拷贝;3)as_numpy中使用np.array()带来一次深拷贝; Executor&GPU: 与Executor&CPU相同; PE&CPU: 1)多Place TensorMerge;2)TensorToPyArray错误使用pybind带来一次深拷贝;3)as_numpy中使用np.array()带来一次深拷贝; PE&GPU: 1)原始数据->FetchTensors;2)多Place TensorMerge;3)TensorToPyArray错误使用pybind带来一次深拷贝;4)as_numpy中使用np.array()带来一次深拷贝; 动态图: 只有一次深拷贝,是合理的。

期望目标: 原始数据到用户使用的numpy变量只有1次深拷贝,可分两个修改完成: 第一步:去掉两个深拷贝:1)TensorToPyArray错误使用pybind带来一次深拷贝;2)as_numpy中使用np.array()带来一次深拷贝。同时,将PE&CPU模式,增加一次原始数据->FetchTensors的深拷贝。 第二步:优化多Place TensorMerge中的深拷贝。

本PR,完成第一步。

测试: Fetch数据正确性测试通过。 内存泄露测试,通过检测内存,未发现内存使用量上涨。 性能: ERNIE DOC模型,fp32性能提升4.7%。amp性能提升7.7%。

指派人
分配到
审核者
Request review from
无
里程碑
无
分配里程碑
工时统计
标识: paddlepaddle/Paddle!26447
Source branch: github/fork/wanghuancoder/develop_fxi_tensor2numpy
渝ICP备2023009037号

京公网安备11010502055752号

网络110报警服务 Powered by GitLab CE v13.7
开源知识
Git 入门 Pro Git 电子书 在线学 Git
Markdown 基础入门 IT 技术知识开源图谱
帮助
使用手册 反馈建议 博客
《GitCode 隐私声明》 《GitCode 服务条款》 关于GitCode
Powered by GitLab CE v13.7