首页 文章
  • 2 votes
     answers
     views

    缓存使用和派生类型

    我不熟悉用valgrind和cachegrind分析代码,最近我开始使用这些工具来查看我的代码在缓存利用率方面的表现 . 我发现一个简单的if语句似乎几乎每次执行都会导致缓存丢失 . 作为一个例子,我在我的Fortran程序中使用了以下派生类型: type :: particle real(pr), dimension(3) :: r = 0.0_pr ! position rea...
  • 3 votes
     answers
     views

    我不明白cachegrind与perf工具之间的缓存缺失计数

    我正在研究使用简单的微基准测试缓存效果 . 我认为如果N大于缓存大小,那么缓存在每个第一个读取缓存行都有一个未命中操作 . 在我的机器中,缓存行大小= 64Byte,所以我认为完全缓存发生N / 8未命中操作和缓存研磨显示 . 但是,perf工具显示不同的结果 . 它只发生34,265次高速缓存未命中操作 . 我对硬件预取感到怀疑,所以在BIOS中关闭此功能 . 无论如何,结果是一样的 . 我真的...

热门问题