Quantcast
Channel: C6000™多核 - 最近的话题
Viewing all articles
Browse latest Browse all 5545

关于IPC中断和-o3级优化的冲突??

$
0
0

最近再调试多核并行运算一个算法时遇到不明白的问题了,在此请教大家:

就是一个算法流程代码都放在一个.c文件中,单核运行时加-o3级优化能顺利执行,现在想把算法分成两部分放在两个核中执行,实现并行运算,首先调试不加优化,双核运行结果正确,具体方法就是:

1.先把算法需要的数据准备好,L1dcachewritback()操作后,给core1发送一个IPC中断,

2.然后两核同时运算,core1运算结束后给core0一个IPC中断,

3.最后Core0收到core1中断后,L1dcacheinvalid()操作,然后读取数据,

4.继续往后的操作。

不加优化时一切正常,加了优化后发现程序运算好像是死在哪块,出不来,暂停后发现指针停在第一步之后,一直不动,为什么呢???是cache操作还是IPC中断发送受优化影响了?奇怪的地方出现了:

这个时候我在1步之后加一个断点,然后每次会停在断点一次,继续运行就没有问题,结果也正确,实在没想明白,望大家指导一下,多谢多谢。。


Viewing all articles
Browse latest Browse all 5545

Latest Images

Trending Articles