已关闭
torch.repeat_interleave的api在处理数据时太慢 #1474
g创建于 2025年12月26日关闭于 3月9日
huangyunlong
2025年12月26日 评论:
2025年12月26日 评论:
block不固定是1,针对Atlas A2或A3产品,cann 8.3.rc1的版本可以考虑torch.repeat_interleave(x, repeats, 0)来替换,多传一个dim值即可,或者考虑第一个参数使用int32类型


g
2025年12月28日 评论:
2025年12月28日 评论:
block不固定是1,针对Atlas A2或A3产品,cann 8.3.rc1的版本可以考虑torch.repeat_interleave(x, repeats, 0)来替换,多传一个dim值即可,或者考虑第一个参数使用int32类型
你好,感谢回复,考虑第一个参数使用int32类型的方法确实有用,但是tqdm显示的速度波动比较大,我profile了速度较慢的几个step,发现较慢的几个相邻step中,关于repeat的block数量是不一致的,有些block还是分配了1个,怎么解决。



huangyunlong
2025年12月29日 评论:
2025年12月29日 评论:
这种情况推荐使用dim=0,用torch.repeat_interleave(x, repeats, 0)来替换


g
2025年12月29日 评论:
2025年12月29日 评论:
这种情况推荐使用dim=0,用torch.repeat_interleave(x, repeats, 0)来替换
我的代码中就是使用torch.repeat_interleave(x, repeats, 0)来进行计算的



g
2025年12月29日 评论:
2025年12月29日 评论:
我查文档发现8.3RC1更新写了这个算子的性能优化,我现在版本是8.2RC1,我先升级版本试一试


3月9日 issue状态由 TODO 改变为 DONE
3月9日 关闭了 issue
huangyunlong
3月9日 评论:
3月9日 评论:
当前issue长期未更新,暂时先关闭,如果还有疑问可以继续提问


你好,我想知道这个 aclnnRepeatInterleave配置是固定block就是1吗,但是速度太慢了,我在跑代码中发现这个地方甚至不如切换为cpu运行。有没有可以提高性能的方法或者替换的api使用?