일정 기간 동안 GPU (NVIDIA Tesla K20, Linux에서 실행)의 전반적인 사용률에 대한 정보를 얻으려고합니다. "전반적으로"나는 스트리밍 멀티 프로세서가 몇 개나 실행되도록 스케줄되어 있는지, 얼마나 많은 GPU 코어가 실행되도록 스케줄되어 있는지 (코어가 실행 중일 때 전체 속도/빈도로 실행될 수 있다고 생각하십니까?) . 내가 플립에 의해 측정 된 전체 이용률을 얻을 수 있다면 좋을 것이다.일정 기간 동안 GPU의 전반적인 활용도를 얻는 방법은 없습니까?
물론 질문을하기 전에 NVML (nvidia-smi), CUPTI (and nvprof), PAPI, TAU 및 Vampir 등의 기존 도구/라이브러리를 검색하여 조사했습니다. . 그러나, 그것은 보인다 (그러나 나는 아직 확실하지 않다) 그들 중 누구도 필요한 정보를 제공 할 수 없었다. 예를 들어, NVML은 퍼센트로 "GPU 사용률"을보고 할 수 있지만 문서/설명에 따르면이 사용률은 "GPU에서 하나 이상의 커널이 실행되고있는 과거 초의 비율"로, 이는 충분히 정확하지 않습니다 . nvprof의 경우 개별 커널에 대해 (매우 높은 오버 헤드로) 플립을보고 할 수 있지만 GPU가 얼마나 잘 활용되는지 아직 알지 못합니다.
PAPI는 명령어 카운트를 얻을 수있는 것 같지만 다른 것들과 부동 소수점 연산을 다른 부동 소수점 수 없습니다. 나는 다른 두 가지 도구 (TAU와 Vampir)를 아직 시도하지 않았지만 그들이 내 필요를 충족시킬 수 있을지는 의문입니다.
그래서 GPU의 전반적인 활용 정보를 얻을 수 있는지 궁금합니다. 그렇지 않다면, 그것을 추정하는 최선의 대안은 무엇입니까? 이 작업을 수행하는 목적은 GPU를 기반으로 실행되는 여러 작업에 대한 더 나은 일정을 찾는 것입니다.
제 질문을 명확하게 설명했는지 확신 할 수 없으므로 더 자세한 설명을 위해 추가 할 수있는 것이 있으면 알려주십시오.
대단히 감사합니다!
빠른 답장을 보내 주셔서 감사합니다. 네, 저는 리눅스를 사용하고 있으며, nvprof가 비주얼 프로파일 러와 동일한 기능을 수행 할 수 있다고 생각합니다. 그러나 이러한 측정 기준조차도 충분하지 않습니다. – rsm
다른 측정 항목이 필요합니까? NVprof는 각 커널에 대해 이러한 메트릭을 개별적으로 계산하고 적절한 해석을 통해 추가 정보를 결정할 수 있습니다. 게시물의 내 마지막 성명서를보십시오. – VAndrei
내 마지막 코멘트가 게시되기 전에 미안합니다. sm_efficiency는 단일 컨텍스트에만 적용될 수 있으며 다중 컨텍스트 또는 다중 프로세스가있는 경우 전체 효율성을 측정 할 수 없습니다. 이전에는 flop_count_sp도 시도했지만 성능이 크게 떨어졌지만 별도의 라운드에서 실행 시간을 별도로 측정 할 수있었습니다. ipc 메트릭은 유용하지만 단일 워프 내에서만 유용합니다. 어쨌든, 마지막 메모에 명시된 바와 같이 이것이 우리가 얻을 수있는 최선의 것 같습니다. – rsm