vtune测试发现64K alias conflicts,高分求教解决方案!

erigido 2010-11-04 09:42:26
通过vtune测试发现64K alias conflicts计数特别大,怀疑它影响性能,所以请各位专家看看以前有没有碰到过类似的情况,如果有,通常的解决方案是什么?

PS:我们翻了一些帮助说明上的解释,理解的不是很透彻。我的理解是:当虚拟内存地址引用的缓存行与已驻留在 L1 缓存中的其他缓存行的距离是 64K 字节的倍数时,将发生冲突。 但是实在是想不出什么方案能够解决该现象。
...全文
83 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Intel_CG 2010-11-09
  • 打赏
  • 举报
回复
一般是多个线程访问相隔64K整数倍的数据造成的。如
float a[64K], b[64K], c[64K]
thread1->a[i] = ???
thread2->b[i] = ???
thread3->c[i] = ???

解决方法
float a[64K], d1[1K],b[64K], d2[1K],c[64K]

566

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧