2012-08-12 55 views

回答

1

全局內存是一個虛擬地址空間。數據可以駐留在設備內存或固定的系統內存中。對於計算能力2.x的設備就可以計算層次結構如下:

SM到L1C全局負載交易

  • 緩存交易128B
  • sm2l1c_global_load_transactions = l1_global_load_hit + l1_global_load_miss

SM到L2C全局負載交易

  • SM未高速緩存的全局事務或L1 cac他錯過了L2在32B交易。
  • sm2l2c_global_load_transactions = (l1_global_load_miss * 4) + uncached_global_load_transaction

的CUDA探查不會爲global_atomic,global_atomic_cas和global_red操作暴露計數器。

CUDA Profiler不會公開計數器,以顯示基於全局和本地的L2到系統內存或設備內存的數據。你可以得到的帶寬L2和帶寬系統內存(PCIe上)或使用設備存儲器(DRAM)以下計數器:

L2交易

  • L2查詢根據32B
  • 版本的CUDA分析器,這包括從L2中的一個或多個源讀取:SM L1(本地,全局,原子,表面),TEX高速緩存,常量高速緩存,指令高速緩存,MMU,複製引擎......
  • l2_read_transactions = sum(l2_subp{0,1}_read_sector_queries)

設備存儲器(FB,DRAM)

  • 讀帶寬DRAM是從L2未命中和ECC(如果啓用)
  • FB查詢是32B
  • fb_read_transactions = sum(fb_supb{0,1}_read_sectors)

的計算全球商店,本地加載/存儲,L2到系統內存都遵循類似的模式。

欲瞭解更多信息,請參閱CUPTI User's Guide節活動參考 - 計算能力2.x.這些字符串名稱應該適用於使用CUDA Profiler,Visual Profiler,nvprof(5.0)和CUPTI API的最新驅動程序。

如果您正在使用CUDA 5.0 nvprof命令nvprof --query-events將列出已安裝設備上可用的所有事件。

+0

這只是緩存全局訪問的SM到L1的事務計數。如果您需要我進一步擴展其他類型交易的答案,請回復,我會擴大答案。 – 2012-08-14 02:42:49

+0

謝謝你的回覆,但這不是我所需要的。我只對全局內存事務感興趣,所以l1命中不在意。 – dalibocai 2012-08-14 14:12:58

+0

編輯我的回答,提供從sm到記憶的信息。 – 2012-08-17 02:13:04

相關問題