基于框架写的iTPN模型训练时memcpy_ascpy耗时时间较长导致训练时间较长,希望通过包括减少memcpy_ascpy的次数减少训练时间
收藏回复举报
基于框架写的iTPN模型训练时memcpy_ascpy耗时时间较长导致训练时间较长,希望通过包括减少memcpy_ascpy的次数减少训练时间
t('forum.solved') 已解决
新人帖
发表于2024-09-26 16:30:23
0 查看

运行环境: CANN7.0商发版,Mindspore2.2.14,npu是910卡;

问题过程:基于Mindspore框架的iTPN模型可以成功完成训练,但是训练时间较长,通过profile机制采集出模型训练过程中的数据,发现存在大量的memcpy_ascpy算子,该算子是异步拷贝的,每个step耗时1.2s左右,memcpy占耗时的2/3以上。打印出info级别的plog日志后memcpy算子接口人分析了一个memcpy_ascpy执行周期内操作和耗时,找出了rtMemcpyAsync接口、aclSetCurrentContext接口和aclSynchronizeStreamWithTimeout三个接口,但是是谁调用的,无法看出。需要具体看一下mindspore那个模块或组件调用的,或如何减少提到到的三个接口的调用次数。具体见profile图和代码,profile图和代码私发内部负责人。

本帖最后由 匿名用户2024/09/26 17:09:20 编辑

我要发帖子