Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【PaddlePaddle Hackathon 4】核心框架开源贡献算子性能优化任务合集 #50657

Closed
cloud2009 opened this issue Feb 20, 2023 · 1 comment
Assignees

Comments

@cloud2009
Copy link

cloud2009 commented Feb 20, 2023

【PaddlePaddle Hackathon 4】核心框架开源贡献算子性能优化任务合集

(此 ISSUE 为 PaddlePaddle Hackathon 第四期活动的任务 ISSUE,更多详见 【PaddlePaddle Hackathon 第四期】任务总览

注:为飞桨框架优化一系列算子性能,提交流程请参考 算子性能优化&提交流程,开发请参考 贡献指南,任务列表如下:

No.32:为 Paddle 优化 expand_as 前向&反向 op 在 GPU 上的计算性能

  • 技术标签:深度学习框架,Python,C++,CUDA
  • 任务难度:基础
  • 详细描述:
    • 现状:目前 Paddle 内 expand_as 前向和反向算子的 GPU 实现采用 Eigen 组合的模式,缺少 GPU Kernel,性能相对不足;
    • 目标:请实现高性能的 GPU 计算 Kernel,为 Paddle 优化 expand_as op 在 GPU 上的计算性能,性能至少提升6倍,对性能极差的 case 提升达700倍。
  • 任务提交:

No.33:为 Paddle 优化 Histogram 在GPU上的性能

  • 技术标签:深度学习框架,Python,C++,CUDA
  • 任务难度:基础
  • 详细描述:
    • 现状:目前 Paddle 内 Histogram 算子的计算调用了eigen,kernel实现中存在原子操作。GPU kernel的性能有待提升;
    • 目标:请优化计算实现,为 Paddle 优化 Histogram OP 在 GPU 上的计算性能,性能平均提升2x。
  • 任务提交:

No.34:为 Paddle 优化 Lerp OP在GPU上的性能

  • 技术标签:深度学习框架,Python,C++,CUDA
  • 任务难度:基础
  • 详细描述:
    • 现状:目前 Paddle 内 lerp 算子采用第三方库组合实现,性能不足;
    • 目标:请优化计算实现,为 Paddle 优化 lerp op 在 GPU 上的计算性能,性能至少提升20%,针对性能差的case,性能至少提升4+倍。
  • 任务提交:

No.35:为 Paddle 优化 Prelu OP在GPU上的性能

  • 技术标签:深度学习框架,Python,C++,CUDA
  • 任务难度:基础
  • 详细描述:
    • 现状:目前 Paddle 内 lerp 算子采用第三方库组合实现,性能不足;
    • 目标:请优化计算实现,为 Paddle 优化 lerp op 在 GPU 上的计算性能,性能至少提升20%,针对性能差的case,性能至少提升4+倍。
  • 任务提交:

No.36:为 Paddle 优化 Tile OP在GPU上的性能

  • 技术标签:深度学习框架,Python,C++,CUDA
  • 任务难度:基础
  • 详细描述:
    • 现状:目前 Paddle 内 Tile 算子的 GPU 计算和CPU采用相同的逻辑,GPU性能仍有提升空间;
    • 目标:请优化计算实现,为 Paddle 优化 Tile op 在 GPU 上的计算性能,性能平均提升70%。
  • 任务提交:

No.37:为 Paddle 优化 matrix_rank op 在 GPU 上的计算性能

  • 技术标签:深度学习框架,Python,C++,CUDA
  • 任务难度:进阶
  • 详细描述:
    • 现状:目前 Paddle 内 matrix_rank 算子采用第三方库组合实现,性能不足;
    • 目标:请优化计算实现,为 Paddle 优化 matrix_rank op 在 GPU 上的计算性能,性能至少提升3倍,针对性能差的case,性能提升120+倍。
  • 任务提交:

No.38:为 Paddle 优化 p_norm op 在 GPU 上的计算性能

  • 技术标签:深度学习框架,Python,C++,CUDA
  • 任务难度:进阶
  • 详细描述:
    • 现状:目前 Paddle 内 p_norm 算子 Reduce_Any Kernel 的性能较竞品存在差异;
    • 目标:请优化计算实现,为 Paddle 优化 p_norm op 在 GPU 上的计算性能,性能平均提升2.5倍。
  • 任务提交:

No.39:为 Paddle 优化 p_norm_grad op 在 GPU 上的计算性能

  • 技术标签:深度学习框架,Python,C++,CUDA
  • 任务难度:进阶
  • 详细描述:
    • 现状:目前 Paddle 内 p_norm_grad 算子 GPU 计算采用了 CUDA Kernel 与 Eigen 混合的模式,用现有的 Reduce OP 等取代 Eigen 可以提升计算性能,减少数据 HtoD 拷贝等开销;
    • 目标:请优化计算实现,为 Paddle 优化 p_norm_grad op 在 GPU 上的计算性能,性能平均提升3倍。
  • 任务提交:

No.40:为 Paddle 优化 kthvalue op 在 GPU 上的计算性能

  • 技术标签:深度学习框架,Python,C++,CUDA
  • 任务难度:进阶
  • 详细描述:
    • 现状:目前 Paddle 内 kthvalue 算子 GPU 计算采用了cub库实现,性能仍有不足;
    • 目标:请优化计算实现,为 Paddle 优化 kthvalue op 在 GPU 上的计算性能,性能平均提升2.7倍。
  • 任务提交:

No.41:为 Paddle 优化 cumprod_grad op 在 GPU 上的计算性能

  • 技术标签:深度学习框架,Python,C++,CUDA
  • 任务难度:进阶
  • 详细描述:
    • 现状:目前 Paddle 内 cumprod_grad 算子 GPU 计算采用了采用GPU Kernel等拼接实现,性能仍有提升空间;
    • 目标:请优化计算实现,为 Paddle 优化 cumprod_grad op 在 GPU 上的计算性能,性能平均提升30%。
  • 任务提交:

No.42:为 Paddle 优化 FminGrad OP在GPU上的性能

  • 技术标签:深度学习框架,Python,C++,CUDA
  • 任务难度:进阶
  • 详细描述:
    • 现状:目前 Paddle 内 FminGrad 在 GPU 的计算性能有待提升;
    • 目标:请优化计算实现,为 Paddle 优化 FminGrad OP 在 GPU 上的计算性能,性能平均提升40%。
  • 任务提交:

No.43:为 Paddle 优化 GeluGrad OP在GPU上的性能

  • 技术标签:深度学习框架,Python,C++,CUDA
  • 任务难度:进阶
  • 详细描述:
    • 现状:目前 Paddle 内 GeluGrad OP 在GPU的计算性能有待提升;
    • 目标:请优化计算实现,为 Paddle 优化 GeluGrad 在 GPU 上的计算性能,性能平均提升60%。
  • 任务提交:

No.44:为 Paddle 优化 logsumexp OP在GPU上的性能

  • 技术标签:深度学习框架,Python,C++,CUDA
  • 任务难度:进阶
  • 详细描述:
    • 现状:目前 Paddle 内 logsumexp OP 的 GPU 计算调用了 eigen,性能较差,有较大的提升空间;
    • 目标:请优化计算实现,为 Paddle 优化 logsumexp OP 在 GPU 上的计算,性能平均提升10x。
  • 任务提交:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

合入标准

  • 目标:依据各任务描述,达成任务目标(可以超出);
  • OP Benchmark内优化算子的全部配置 case 性能不出现下降问题,优化算子的计算精度不出现下降问题;
  • 要求:测试case需要覆盖全部的计算分支,同时至少覆盖fp32,fp16两种数据类型。

技术要求

  • 熟练掌握 Python、C++、CUDA代码编写;
  • 掌握 OP Benchmark 使用方法

参考内容

答疑交流

  • 如果在开发中对于上述任务有任何问题,欢迎在本 ISSUE 和 Discussion下留言交流。
  • 对于开发中的共性问题,在活动过程中,会定期组织答疑,请大家关注官网&微信群的通知,及时参与~
@paddle-bot
Copy link

paddle-bot bot commented Feb 20, 2023

您好,我们已经收到了您的问题,会安排技术人员尽快解答您的问题,请耐心等待。请您再次检查是否提供了清晰的问题描述、复现代码、环境&版本、报错信息等。同时,您也可以通过查看官网API文档常见问题历史IssueAI社区来寻求解答。祝您生活愉快~

Hi! We've received your issue and please be patient to get responded. We will arrange technicians to answer your questions as soon as possible. Please make sure that you have posted enough message to demo your request. You may also check out the APIFAQGithub Issue and AI community to get the answer.Have a nice day!

@paddle-bot paddle-bot bot added type/others 其他问题 hackathon labels Feb 20, 2023
@cloud2009 cloud2009 changed the title 【PaddlePaddle Hackathon 4】 子任务合集5(2023-02-20公布) 【PaddlePaddle Hackathon 4】 核心框架开源贡献算子性能优化任务合集 Feb 20, 2023
@cloud2009 cloud2009 changed the title 【PaddlePaddle Hackathon 4】 核心框架开源贡献算子性能优化任务合集 【PaddlePaddle Hackathon 4】核心框架开源贡献算子性能优化任务合集 Feb 20, 2023
@luotao1 luotao1 assigned luotao1 and unassigned LemonNoel Feb 20, 2023
WintersMontagne10335 added a commit to WintersMontagne10335/community that referenced this issue Apr 16, 2023
JamesLim-sy pushed a commit to PaddlePaddle/community that referenced this issue Apr 20, 2023
@luotao1 luotao1 closed this as completed May 31, 2023
@paddle-bot paddle-bot bot added the status/close 已关闭 label May 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants