This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

没开cache预取和缓存,算法运行时间约200秒(2核)。打开cache预取和缓存,算法运行时间约2秒(2核)。



没开cache预取和缓存,算法运行时间约200秒(2核)。打开cache预取和缓存,算法运行时间约2秒(2核)。

经检查程序执行结果,程序运行出错。

我猜测,可能是某些代码文件设置 O3 选项的原因,导致核心计算部分未执行。

我想问问,我的猜测是否正确???

                如果不是,可能是别的什么原因造成的??

// 使能缓存 L1 及 L2
CACHE_setL1PSize(CACHE_L1_32KCACHE);
CACHE_setL1DSize(CACHE_L1_32KCACHE);
CACHE_setL2Size(CACHE_128KCACHE);
CACHE_invAllL1p(CACHE_WAIT);
CACHE_wbInvAllL1d(CACHE_WAIT);
CSL_XMC_invalidatePrefetchBuffer();
_mfence();
_mfence();

// 配置 DDR3 内存为可被缓存和可预取
for (i = 129; i < 256; i++)
{
C66xCorePacRegs->MAR[i] = 1 | (1 << CSL_CGEM_MAR0_PFX_SHIFT);
}

谢谢!