CUDA SDK의 다양한 CUDA 데모는 "흩어진 쓰기"를 참조하십시오. 이 흩어져있는 글은 무엇이며 왜 그렇게 훌륭한가? 그것과는 대조적으로?CUDA : 흩어져있는 글은 무엇입니까?
답변
여기에서 CUDA 용어를 사용하려고합니다.
scattered write
은 각 cuda 스레드에서 임의의 주소로 쓰는 것을 의미합니다 (예 : 워프의 스레드는 연속적인 메모리에 쓰지 않습니다). 2d-coherent 인 프레임 버퍼 쓰기와 대조되며 하드웨어에 의해 통합 될 수 있습니다. 오래 전에 GPU에서만 쓸 수 있었던 유일한 글이었습니다.
분산 된 위치에서 데이터를 읽고 수집 된 데이터에 대해 SIMD 방식으로 실행되는 스레드의 워핑 전에 모든 데이터를 수집하는 것은 gather read
의 반대 작업입니다. 그러나 임의의 텍스처 페치를 통해 GPU에서 오랫동안 수집 읽기가 가능했습니다.
분산 된 쓰기는 모든 메모리 주소에 쓸 수 있기 때문에 좋습니다. 이전 셰이더 임 페션은 주어진 셰이더 프로그램이 쓸 수있는 메모리 주소가 제한적이었습니다.
"그래픽 API의 프래그먼트 프로그램은 미리 지정된 위치에 32 개의 부동 소수점 (RGBA * 8 렌더 타겟)을 출력하는 데 한계가 있지만 CUDA는 흩어져있는 쓰기를 지원합니다. 즉, 임의의 주소에 무제한으로 저장할 수 있습니다. 불가능했던 알고리즘은 그래픽을 사용하면 CUDA 자주 묻는 질문에서
"CUDA를 사용하여 효율적으로 수행하기 위해 API를 :
는 기본적으로 어디 의해 제한으로 그들이 아니기 때문에 쓰기 쉽게 CUDA 프로그램을 만드는 사람들 결과를 쓸 수 있습니다. GPU에서 좋은 성능을 얻는 열쇠 중 하나는 메모리 지역을 이용하는 것입니다. 전역 메모리에 많은 양을 쓰면 분산 된 쓰기를 과도하게 사용하면 성능에 큰 영향을 줄 수 있습니다.
- 1. 흩어져있는 균일 분산 형 scatterViewItems
- 2. cuda.net은 CUDA 런타임 또는 CUDA 드라이버를 기반으로합니까?
- 3. HTML 페이지 전체에 흩어져있는 요소를 그룹화하는 가장 깨끗한 방법은 무엇입니까?
- 4. 디스크 전체에 흩어져있는 git track 데이터 만들기
- 5. NVIDIA CUDA : 개발자 드라이버는 무엇입니까?
- 6. RDLC 고정 위치 바닥 글은 어떻게 만드나요
- 7. SSRS 2008 - 보고서 바닥 글은 어디에 있습니까?
- 8. , 왜 바닥 글은 여기에 그 앞의 내용
- 9. CUDA 메모리는
- 10. CUDA 커널
- 11. 최적화 CUDA
- 12. CUDA 컴파일 오류
- 13. Cuda optimization techniques
- 14. CUDA 차단 플래그
- 15. CUDA 커널 사용
- 16. CUDA 히스토그램 커널을 만드는 방법은 무엇입니까?
- 17. 다른 CUDA SDK의 성능 차이는 무엇입니까?
- 18. Windows에서 CUDA 프로그램을 배포하는 방법은 무엇입니까?
- 19. CUDA exp() expf() 및 __expf()
- 20. coalescence 대 은행 충돌 (Cuda)
- 21. CUDA from Ubuntu PPA : 첫 번째 CUDA 프로그램 컴파일
- 22. YDL.net의 Eclipse CUDA 플러그인이 CUDA 4.0을위한 준비가 되었습니까?
- 23. CUDA : 첫 번째 cuda 프로그램을 컴파일하는 동안 오류가 발생했습니다.
- 24. XCode와 CUDA 통합
- 25. CUDA : 커널 CRT 문서?
- 26. Matlab과 GPU/CUDA 프로그래밍
- 27. 초급 오류가 CUDA
- 28. CUDA 바이너리 검색 구현
- 29. CUDA 헤더 파일은
- 30. CUDA Dll from C#
여전히 "장치 메모리"에서 발생하고 있습니다. (DMA 엔진이 상이한 메인 메모리 위치에서 콘텐츠를 예를 들어 단일 I/O 스트라이프로 구동 할 수있게하는 I/O 분산/수집 동작과 반대) – PypeBros
정답. 이것은 GPU의 메모리를 가리키고 범용 메모리는 아닙니다. –