2012-11-21 5 views
1

저는 GPU에 대한 몇 가지 CUDA 가속화에 관한 프로젝트를 수행 중이며 일부 소프트웨어 레벨 최적화를 마쳤습니다. GPU 아키텍처의 일부 변경 사항은 프로젝트 최적화에 도움이 될 수도 있습니다.GPU 아키텍처 맞춤 설정?

이제 내 질문에 GPU 아키텍처에서 일부 기능이나 부품을 변경하는 효율적인 방법이나 존재하는 에뮬레이터가 있습니까? 그런 다음 성능 결과를 얻으려면 해당 맞춤형 아키텍처에서 CUDA PTX 코드를 벤치마킹 할 수 있습니다 정확한 사이클이되어야 하는가?) CPU의 아키텍처 시뮬레이터가 몇 가지 있습니다. 그래서 그 중 일부가 GPU를 지원하는지 궁금합니다. 아니면 GPU 에뮬레이터를 직접 작성해야 할 수도 있습니다^_ ^?

답변

3

정확하게 GPGPU-sim을 찾고 있습니다. 시뮬레이터는 NVIDIA GPU를 정확하게 모델링하고 코드에서 수정없이 OpenCL 및 CUDA 작업 부하 을 실행합니다. PTX 워크로드 모델링 옵션도 있습니다. manual에서 :

GPGPU-SIM 3.x의는 CPU 부분 와 GPU 부분으로 구성되어 프로그램의 바이너리를 실행합니다. 그러나 GPGPU-Sim 3.x의 마이크로 아키텍처 (타이밍) 모델은 GPU가 사용중인 사이클을보고합니다. 은 CPU 타이밍 또는 PCI Express 타이밍을 모델링하지 않습니다. 즉, CPU와 GPU 사이의 메모리 전송 시간은 입니다.

GPGPU-sim은 다양한 마이크로 아키텍처를 모델링 할 수 있도록 광범위하게 구성 할 수 있습니다. 예를 들어 매뉴얼에 설명 된 SM, 워프 스케줄러, SIMD 그룹, SM 당 스레드 수, 공유 메모리 크기, 레지스터 파일 크기 및 기타 여러 매개 변수 수를 조정할 수 있습니다. 시뮬레이션이 끝나면 시뮬레이터 덤프 실행 시간 (GPU 클럭 사이클) 및 기타 여러 성능 카운터가 덤프됩니다.

추가 정보 :

GPU Ocelot은 PTX 분석기입니다. 이전 버전에서는 작업 부하를 시뮬레이션 할 수있었습니다. 그러나 최근 버전에서는 PTX 코드의 컴파일러 최적화에 중점을 둡니다.

MacSim은 CPU와 GPU의 이기종 시스템을 시뮬레이션하는 또 다른 복잡하지만 강력한 도구입니다.