首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解nvprof事件"l2_subp0_write_sector_misses“和"l2_subp1_write_sector_misses”的结果

理解nvprof事件"l2_subp0_write_sector_misses“和"l2_subp1_write_sector_misses”的结果
EN

Stack Overflow用户
提问于 2014-01-17 17:39:03
回答 1查看 297关注 0票数 0

通过查看l2_subp0_read_sector_misses帖子,我能够理解"l2_subp1_read_sector_misses“和”this“。现在,对于事件"l2_subp0_write_sector_misses“和"l2_subp1_write_sector_misses”,我有一个类似的问题。

让我们首先以给定链接(向量添加)中的相同示例为例。

内核代码:

代码语言:javascript
复制
__global__ void AddVectors(const float* A, const float* B, float* C, int N)
{
    int blockStartIndex  = blockIdx.x * blockDim.x * N;
    int threadStartIndex = blockStartIndex + threadIdx.x;
    int threadEndIndex   = threadStartIndex + ( N * blockDim.x );
    int i;

    for( i=threadStartIndex; i<threadEndIndex; i+=blockDim.x ){
        C[i] = A[i] + B[i];
    }
}

在这里,我还将数组C从主机复制到设备。因此,C数组必须在L2缓存中(3个数组的总大小小于L2缓存的大小)。但是,我仍然看到,根据nvprof的结果,所有对C的写访问都是由于L2缓存失败而导致的。

这是预期的行为吗?是否有任何情况可以预期L2写缓存命中,或者L2缓存写访问总是被忽略?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-27 18:07:58

发现L2是一个通过缓存写的,因此L2的所有写访问都被报告为L2丢失。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21192342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档