L2 캐시가 여러 커널 호출 사이에서 해제되는지 궁금합니다. 예를 들어 데이터에 대한 사전 처리 작업을 수행하는 커널과이를 사용하는 두 번째 커널이 있습니다. 데이터 크기가 768KB 미만인 경우 더 우수한 성능을 얻을 수 있습니까? 나는 NVidia 녀석들이 그렇지 않으면 구현할 이유가 없다고 생각하지만 어쩌면 내가 틀렸을 것입니다. 아무도 그 경험이 있습니까?NVidia CUDA : L2 및 여러 커널 호출 캐시
1
A
답변
1
페르미 (Fermi)에서 L2 데이터 캐시에 대해 이야기한다고 가정합니다.
각 커널 호출 후에 캐시가 비워진다고 생각합니다. 내 경험상, 많은 메모리 액세스 (및 # L2 캐시 실패)가있는 동일한 커널의 두 번 연속 실행은 L1/L2 캐시 통계를 크게 변경하지 않습니다.
데이터 종속성에 따라, 커널의 두 번째 부분이 첫 번째 부분에서 처리 된 데이터를 재사용 할 수 있도록 하나의 커널에 두 단계를 넣을 수 있습니다 (일부 동기화 사용).
다른 트릭이 있습니다. 예를 들어 N SM과 같이 gpu에있는 경우 첫 번째 N * M1 블록을 사용하여 첫 번째 부분을 수행 할 수 있습니다. 두 번째 부분에 대한 다음 N * M2 블록. 동기화를 사용하여 첫 번째 부분의 모든 블록이 동시에 (또는 거의) 완료되는지 확인하십시오. 내 경험상 블록 예약 순서는 실제로 결정적입니다.
희망이 있습니다.
관련 문제
- 1. Cuda 커널 코드는 nvidia GPU에서 어디에 있습니까?
- 2. NVIDIA의 L2 캐시 Fermi
- 3. Learn Nvidia CUDA
- 4. CUDA 커널
- 5. NVIDIA NVCC 및 CUDA : Cubin 대 PTX
- 6. NVIDIA CUDA : 개발자 드라이버는 무엇입니까?
- 7. PCI 인터페이스가있는 GPU의 nVidia CUDA
- 8. 어떻게 CPU의 L1 및 L2 캐시
- 9. CUDA 커널 사용
- 10. CUDA : 커널 CRT 문서?
- 11. Nvidia Tesla 대 CUDA 프로그래밍을위한 480
- 12. nvidia cuda 머신의 모든 코어 사용
- 13. CUDA : 루프 커널 용으로 임베디드
- 14. CUDA : 커널에서 __device__ 함수 호출
- 15. 최대 절전 모드의 트랜잭션 L2 캐시
- 16. LUT와 유사하게 L1/L2 캐시 동작이란 무엇입니까?
- 17. Fluent NHibernate에서 NHibernate L2 캐시 설정
- 18. NVIDIA CUDA SDK 예제 컴파일 지원되지 않는 아키텍처 'compute_20'
- 19. 커널 내에서 포인터를 사용하는 CUDA 4.0 - 오류
- 20. CUDA - 단일 값을 계산하기위한 다중 커널
- 21. NVIDIA CUDA 4.0, 런타임 API로 메모리 페이지 잠금
- 22. L1 및 L2 캐시의 크기 및 방향 순서 측정
- 23. CUDA : cudaEvent_t 및 cudaThreadSynchronize 사용량
- 24. Linux 및 일반 OS의 Nvidia Information Disclosure/Memory 메모리 보안
- 25. L2 캐시 크기는 컴파일 시간에 얼마나 큰 영향을 줍니까?
- 26. Shark L2 캐시 프로파일 링에서 샘플을 가져 오지 않습니다.
- 27. 중복 리눅스 커널 시스템 호출
- 28. NVIDIA Parallel Nsight 및 OpenCL
- 29. NVIDIA GPUs 및 PhysX 엔진
- 30. nvidia GTS 450의 스레드 수는