2015-01-25 4 views
4

우분투에서 CUDA nsight 프로파일 러를 사용하여 GPU 가속 어플리케이션의 메모리 대역폭 사용률 및 컴퓨팅 처리량 사용률에 대한 전반적인 측정을 시도하고 있습니다. 이 응용 프로그램은 Tesla K20c GPU에서 실행됩니다. Figure oneCUDA 프로필러 : 메모리 계산 및 컴퓨팅 사용량

문제점이 더 정확한 숫자는 내가이 비율은 방법을 알고하지 않는 것이 중요하게 여기 더 주어지지되는 : 일부는이 그래프에서 주어진 것들에 비교 연장에 내가 원하는

두 측정은 계산 중입니다.

메모리 대역폭 사용률 프로파일 러 내 GPU 208 GB/s의 최대 글로벌 메모리 대역폭을 가지고 있음을 알려줍니다

.

enter image description here

이 장치 메모리 BW 또는 글로벌 메모리 BW를 참조합니까? 그것은 sais 글로벌 있지만 첫 번째 더 나에게 의미가 있습니다.

내 커널의 경우 프로파일 러에서 장치 메모리 대역폭이 98.069GB/s라고 알려줍니다.

enter image description here

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 %로 컴퓨팅 사용률을 계산해야합니까 아니면 아무 것도 계산하지 않아야합니까?

내 커널이 리소스를 얼마나 효율적으로 사용하고 있는지에 대한 첫 번째 인상을주는 두 가지 측정 값 (메모리 및 컴퓨팅 사용률)이 있습니까? 또는 포함되어야하는 다른 중요한 측정 항목이 있습니까?

추가 그래프

enter image description here

+0

전역 메모리 대역폭은 장치 메모리 (GPU 보드의 메모리)에 대한 이론적 인 대역폭입니다. –

답변

2

참고 : 나는 미래에 추가 자세한 내용은이 대답을 업데이트하려고합니다. Visual Profiler 보고서에서 계산의 개별 구성 요소를 모두 쉽게 볼 수 있다고 생각하지 않습니다.메모리 제어 플로우 및 산술 :

계산 이용

이는 파이프 라인 논리 파이프의 이용이다. SM에는 문서가 아닌 많은 실행 파이프가 있습니다. 명령 처리량 차트를 보면 사용률을 계산하는 방법을 상위 수준에서 결정할 수 있습니다. 파이프 라인에 대한 자세한 내용은 케플러 또는 맥스웰 아키텍처 문서를 참조하십시오. CUDA 코어는 정수/단 정밀도 부동 소수점 수학 파이프 라인의 마케팅 용어입니다.

이 계산은 IPC를 기반으로하지 않습니다. 그것은 파이프 라인 이용 및 발행 사이클에 기반합니다. 예를 들어, 1 명령/사이클 (이중 문제 없음)을 발행하면 100 % 사용률을 유지할 수 있습니다. 최대 배율 (GPU에 따라 다름)에서 배정 밀도 명령을 발행하는 경우 100 % 일 수도 있습니다.

메모리 대역폭 활용

프로파일 러 L1, TEX, L2, 장치 메모리의 사용량을 산출한다. 가장 높은 값이 표시됩니다. 매우 높은 데이터 경로 활용도를 가질 수는 있지만 대역폭 사용률은 매우 낮습니다.

메모리 지연 시간 제한 이유도 계산해야합니다. 메모리 대기 시간에 구속되지만 컴퓨팅 사용 또는 메모리 대역폭에 구속되지 않는 프로그램은 매우 쉽습니다.

+0

케플러 아키텍처 문서는 기본적으로이 것을 의미합니다 : [Kepler Compute Architecture White Paper] (http://international.download.nvidia.com/pdf/kepler/NVIDIA-Kepler-GK110-GK210-Architecture-Whitepaper.pdf)? – Clood

+0

명령 처리량 차트에서 위의 (편집 한) 위에 게시 한 것과 같은 의미입니까? – Clood

+0

그래프 4에서로드/저장 단위는 가장 높은 사용률을 갖지만 그래프에서는 메모리 연산이 산술 연산보다 작은 점유율을가집니다. 왜 그런가요? – Clood