2012-12-12 4 views
2

CUDA 시각적 프로파일 러 버전 5에서는 "gld/st_requested_throughput"이 요청 된 응용 프로그램의 메모리 처리량이라는 것을 알고 있습니다. 그러나 하드웨어의 실제 처리량을 찾으려고 할 때 자격이있는 것으로 보이는 두 쌍의 메트릭이 있으며 "gld/st_throughput"및 "dram_read/write_throughput"이므로 혼란 스럽습니다. 어떤 쌍이 실제로 하드웨어 처리량입니까? 그리고 다른 사람은 무엇으로 봉사합니까?"gld/st_throughput"및 "dram_read/write_throughput"측정 항목의 차이점은 무엇입니까?

답변

1

gld/st_throughput에는 L1 및 L2 캐시가 처리하는 트랜잭션이 포함됩니다. dram_read/write_throughput은 L2와 장치 메모리 사이의 처리량입니다. 따라서 각 글로벌 메모리 액세스는 gld/st_throughput으로 계산되지만 L1 및 L2 캐시를 모두받지 못한 요청은 dram_read/write_throughput으로 계산됩니다.

어디서나 카운터에 대한 개요를 찾지 못했습니다. NVIDIA가이를 제공 할 수 있기를 소망합니다 ...

+0

여기에 메트릭 참조 [http://docs.nvidia.com/cuda/profiler-users-guide/index.html#metrics-reference]가 있습니다. 그것이 좋은지 아닌지에 대한 토론을 시작하려하지 않고, 더 좋을 것이라고 확신합니다. –

+0

IMHO 전역 메모리에서 직접 트랜잭션을 처리하지 않습니다. 전역 메모리에 대한 모든 액세스는 CPU 호스트로 /로부터의 복사본을 포함하여 L2를 통과합니다. [에서 찾았습니다.] (http://developer.download.nvidia.com/CUDA/training/cuda_webinars_GlobalMemory.pdf) – stuhlo

+0

@stuhlo : 감사합니다. 저의 대답은 저 점에 대해 잘 말하지 않았습니다. 고칠 것입니다. –

관련 문제