2013-02-16 1 views
-4

GigaThread 글로벌 스케줄러 코드에 액세스 할 수 있습니까?GigaThread 글로벌 스케줄러를 읽는 방법은 무엇입니까?

제 의도는 주어진 순간에 스케줄러가 얼마나 많은 SM을 사용하고 있는지를 아는 것입니다 (GigaThread 글로벌 스케줄러는 특정 SM을 위해 얼마나 많은 SM과 SM을 결정할 책임이있는 스케줄러 임) 신청). 그래서 스케줄러가 로그를 유지하고 SM의 수 또는 SM의 ID가있는 어플리케이션에 대해 새로운 SM 세트를 사용할 때마다 업데이트 할 수있는 방법이 있습니까?

이렇게하면 정보가 필요할 때마다 최근에 스케줄러가 SM에 얼마나 많은 SM을 고용했는지 확인하는 데 로그 파일을 조사하는 데 도움이됩니다.

+2

같은 것을 계속해서 반복해서 묻지 마십시오. – RoBiK

+0

그리고 OpenCL이 아무 관련이없는 경우 질문에 태그를 추가하지 마십시오. – Thomas

답변

1

현재 계산 작업 분배기를 추적하는 노출 된 메소드는 없습니다.

% smid 및 % clock을 사용하여이 정보를 수집하는 커널 코드를 측정 할 수 있습니다. 이는 워프 또는 스레드 블록 단위로 수행 할 수 있습니다.

계산 작업 분배기는 모든 SM을 사용 중으로 유지하려고 시도합니다.

+0

계산 작업 배포자 소스 코드는 어디에 있습니까? –

+0

% smid를 사용한다는 것은 gpu에서 해당 프로그램을 실행해야 함을 의미합니다. 일부 프로그램이 이미 실행중인 경우 프로그램을 동시에 실행할 수 없습니다. 그래서 컨텍스트 장면 밖에서 뭔가를해야합니다. 추적 스케줄러가 어려워 보입니다. –

+0

계산 작업 분배기는 프로그래밍 할 수 없습니다. 블록의 최대 디스패치 성능을 벤치마킹하면 (a) 추적으로 막대한 로그 파일이 생성되고 (b) 성능에 영향을 미치지 않으면 서 블록 디스패치를 ​​추적하는 것이 매우 어려워집니다. –

관련 문제