우분투에서 CUDA nsight 프로파일 러를 사용하여 GPU 가속 어플리케이션의 메모리 대역폭 사용률 및 컴퓨팅 처리량 사용률에 대한 전반적인 측정을 시도하고 있습니다. 이 응용 프로그램은 Tesla K20c GPU에서 실행됩니다. CUDA 프로필러 : 메모리 계산 및 컴퓨팅 사용량
문제점이 더 정확한 숫자는 내가이 비율은 방법을 알고하지 않는 것이 중요하게 여기 더 주어지지되는 : 일부는이 그래프에서 주어진 것들에 비교 연장에 내가 원하는
두 측정은 계산 중입니다.
메모리 대역폭 사용률 프로파일 러 내 GPU 208 GB/s의 최대 글로벌 메모리 대역폭을 가지고 있음을 알려줍니다
.
이 장치 메모리 BW 또는 글로벌 메모리 BW를 참조합니까? 그것은 sais 글로벌 있지만 첫 번째 더 나에게 의미가 있습니다.
내 커널의 경우 프로파일 러에서 장치 메모리 대역폭이 98.069GB/s라고 알려줍니다.
208기가바이트의 맥스/s 제가 단순히 90.069/208 = 43 %이되는 메모리 BW 사용량을 계산할 수있는 장치 메모리를 참조한다고 가정? 이 커널은 추가 CPU-GPU 데이터 전송없이 여러 번 실행됩니다. 따라서 시스템 BW는 중요하지 않습니다.
계산 처리량 이용
I 아니에요 가장 좋은 방법은 숫자로 계산 처리량 사용률을 넣어 무엇인지 정확히 확인하십시오. 내 최고의 추측은 사이클 당 명령어 수를 최대 사이클 당 비율로 사용하는 것입니다. 프로파일 러는 최대 IPC가 7이라고 알려줍니다 (위 그림 참조).
우선, 실제로 그게 무슨 뜻입니까? 각 멀티 프로세서에는 192 코어가 있으므로 최대 6 개의 활성 워프가 있습니다. 최대 IPC는 6이어야한다는 뜻입니까?
프로필러는 내 커널이 IPC = 1.144를 발행하고 IPC = 0.907을 실행했다고 알려줍니다. 1.144/7 = 16 % 또는 0.907/7 = 13 %로 컴퓨팅 사용률을 계산해야합니까 아니면 아무 것도 계산하지 않아야합니까?
내 커널이 리소스를 얼마나 효율적으로 사용하고 있는지에 대한 첫 번째 인상을주는 두 가지 측정 값 (메모리 및 컴퓨팅 사용률)이 있습니까? 또는 포함되어야하는 다른 중요한 측정 항목이 있습니까?
추가 그래프
전역 메모리 대역폭은 장치 메모리 (GPU 보드의 메모리)에 대한 이론적 인 대역폭입니다. –