(此 ISSUE 为 PaddlePaddle Hackathon 第二期活动的任务 ISSUE,更多详见 【PaddlePaddle Hackathon 第二期】任务总览 )
【任务说明】
- 任务标题:为Paddle修复ROCM(HIP)算子
- 技术标签:深度学习框架,C++,Python,HIP
- 任务难度:简单
- 详细描述:飞桨支持在C86加速卡上运行,但是存在部分算子在C86加速卡下还无法通过算子单测。下表中为当前在C86加速卡下算子单测失败的用例,请根据单测错误提示,对列表中的算子C++文件和单测Python文件进行相应修复,在不删减单测Python文件中的单测用例的前提下,使得算子单测列表通过。
单测失败的OP |
---|
test_poisson_op |
test_row_conv_op |
test_strided_slice_op |
test_transfer_dtype_op |
【修复建议】
- 无,请根据具体单测的错误信息和失败结果进行修复,更多修复建议请参考《Paddle框架下C86加速卡算子修复说明》。
【提交流程】
- 请按 贡献指南 中的描述,完成飞桨PR任务提交过程中的相关步骤。
【提交内容】
- 算子修复代码,在Paddle repo的 paddle/fluid/operators 目录
- 单测修复代码,在Paddle repo的 python/paddle/fluid/tests/unittests 目录
- 单测修复之后,在C86加速卡环境下的成功运行结果截图
- 单测修复之后,每个算子的问题定位及修复思路的简单描述(1-2句话即可)
【合入标准】
- 按照 贡献指南 要求提交相关算子修复的PR,并通过所有PR的CI检测
- PR描述中需贴入C86加速卡环境下的算子单测修复之后,成功运行的结果截图
- PR描述中针对每个单测需给出1-2句话关于每个单测修复的问题及解决办法
【技术要求】
- 熟悉Paddle框架的AI算子开发和测试
- 熟悉C86加速卡软件栈ROCm的开发接口
- 熟练掌握 C++, Python, HIP
【参考内容】
【答疑交流】
- 在开发中对于上述任务有任何问题:请登录 光合开发者社区 进行交流,可至 光合开发者社区-论坛-AI应用-paddle专栏 进行发帖。
- 更多任务详情、技术内容可在光合开发者社区【揭榜挂帅】、【资源工具】等更多页面查看。
3条答案
按热度按时间tcbh2hod1#
您好,我们已经收到了您的问题,会安排技术人员尽快解答您的问题,请耐心等待。请您再次检查是否提供了清晰的问题描述、复现代码、环境&版本、报错信息等。同时,您也可以通过查看 官网API文档 、 常见问题 、 历史Issue 、 AI社区 来寻求解答。祝您生活愉快~
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 API , FAQ , Github Issue and AI community to get the answer.Have a nice day!
cczfrluj2#
报名请回复这个 ISSUE 哈: #40234
cotxawn73#
59 # hist, prob, rtol=0.01),
60 hist, prob, rtol=0.05),
解决思路:增大算子对齐容差。
运行结果如下:
1747 # max_relative_error=0.005,
1748 max_relative_error=0.008,
解决思路:增加梯度容差。
运行结果如下:
762 # self.create_case(Net01(array_size=10))
763 self.create_case(Net01(input_size=112, array_size=10))
解决思路:矩阵的维度需要对齐。
运行结果如下:
73 # ipt = np.array(np.random.randint(10, size=[10, 10])).astype('uint16')
74 ipt = np.array(np.random.randint(1, size=[10, 10])).astype('uint16')
解决思路:了解bfloat16定义,与float32数据类型转化时需控制有效位数
运行结果: