속도 향상을 테스트하기 위해 GPU 코어 수를 제어하고 싶습니다. OpenCL에서 어떻게 할 수 있습니까? 동기화를 제어하기 위해 그룹 크기를 제어 할 수 있다는 것을 알았지 만 그룹 크기가 백 개가 될 수 있기 때문에 혼란 스럽습니다. 이는 GPU 코어 수보다 훨씬 큽니다.OpenCL 사용하는 프로세서 수를 제어하는 방법
답변
당신이 찾고있는 것은 장치 핵분열입니다. 이것은 OpenCL 1.1의 확장이며 OpenCL 1.2의 핵심 사양입니다.
시작 지점을 알려면 clCreateSubDevices
을 사용해야합니다. 예를 들어, 하나의 컴퓨팅 장치에서 실행되는 커널을 제한하기 위해, 당신은 같은 properties
을 통과 할 수 있습니다 :
{
CL_DEVICE_PARTITION_BY_COUNTS,
1, // Use only one compute unit
CL_DEVICE_PARTITION_BY_COUNTS_LIST_END
}
이 하나 개의 컴퓨팅 장치로 구성된 하나의 서브 장치를 생성하여 드라이버를 알려줍니다. 그런 다음 해당 하위 장치에서 커널을 실행할 수 있습니다.이 하위 장치는 하나의 계산 장치에서만 예약됩니다.
기본적으로 모든 코어가 사용됩니까? – ethanjyx
* 물리적 장치 ('clGetDevices'에 의해 반환 된 장치)에서 커널을 실행하면, 모든 계산 단위가 사용됩니다 ("코어"라는 용어는 모호한 의미를가집니다). 논리 장치 * (하위 장치)에서 커널을 실행하면 지정한 계산 단위 수만 사용됩니다. –
내가 fx8150의 nbody 알고리즘을 사용하여 8 대신 7 코어 만 선택하면 성능이 % 50- % 70까지 올라갔습니다. 아마도 opencl에 대한 모든 코어를 사용하여 다른 스레드에 실행할 기회를 허용 할 수있었습니다. –
- 1. Opencl Workitem 및 스트리밍 프로세서
- 2. 최대 연결 수를 제어하는 방법
- 3. JasperReports의 행 수를 제어하는 방법
- 4. Apache Tomcat에서 열린 스레드 수를 제어하는 방법
- 5. Amazon Cloudfront를 통한 다운로드 수를 제어하는 방법
- 6. 격자 플롯에서 패널 수를 제어하는 방법 R
- 7. iOS의보기에서 동시 터치 수를 제어하는 방법
- 8. 알림 센터에서 APN 항목 수를 제어하는 방법
- 9. 리눅스의 프로세서 코어 수를 계산하십시오
- 10. Mac에서 프로세서 틱 수를 얻으시겠습니까?
- 11. Inno Setup에서 프로세서 수를 감지합니다.
- 12. 다른보기를 제어하는 버튼을 사용하는 방법
- 13. 클라이언트 수를 제어하는 소켓 프로그래밍
- 14. OpenCL 동시 실행
- 15. OpenCL : JOCL에서 로컬 메모리를 사용하는 방법
- 16. 사용되는 스레드/코어 수를 제어하는 방법은 무엇입니까?
- 17. OpenCL 장치의 코어 수를 얻는 방법은 무엇입니까?
- 18. 프로세서 버스 승수를 조정하는 방법
- 19. openmpi를 사용하기위한 프로세서 수를 알아 내기
- 20. CUDA 용 프로세서 수를 지정하는 방법이 있습니까?
- 21. 어셈블리 목록 파일을보고 프로세서 수를 결정합니다.
- 22. JVM에서 프로세서 수를 늘리는 방법은 무엇입니까?
- 23. HD 프로세서 그래픽 (HD4000)을 Intel OpenCL SDK에서 장치로로드하지 못했습니다.
- 24. 구글 애플 리케이션 엔진 인스턴스 nodejs의 수를 제어하는 방법
- 25. Objective-C에서 클래스를 제어하는 방법을 사용하는 방법
- 26. 에펠을 사용하는 사용 가능한 프로세서 수
- 27. 경계에서 미러링을 사용하는 opencl 이미지
- 28. vbscript로 많은 수를 사용하는 방법
- 29. C에서 동시 스레드 수를 제어하는 가장 좋은 방법 #
- 30. 페이지 매기기에서 페이지 당 항목 수를 제어하는 방법
장치 분열 장치를 사용하십시오 (OpenCL> = 1.2). –
@ 박영배 (Pat Young-Bae) 답변이없는 탭에서 질문을 지우려면 답을 써주세요. –