Nvidia는 Cuda 4.0을 사용하여 프로그래머가 CPU와 GPU간에 통합 메모리 모델을 사용할 수 있다고 주장합니다. 이것은 최상의 성능을 위해 GPU와 CPU에서 수동으로 메모리를 관리 할 필요를 대체하지는 않지만 테스트, 검증 및 최적화 (수동으로 GPU와 CPU 메모리 관리)가 가능한 구현을 허용합니까? 나는 의견이나 의견을 듣고 싶다.Cuda 4.0 및 통합 메모리 모델에 대한 질문
답변
내가 읽은 것에서 중요한 차이점은 2 개 이상의 GPU가있는 경우 호스트 RAM을 건드리지 않고도 GPU1에서 GPU2로 메모리를 전송할 수 있다는 것입니다. 또한 호스트의 단 하나의 스레드로 2 GPU를 제어 할 수 있습니다.
흠, 큰 소식 인 것 같다! 엔비디아 자체 기술자에 의해 구축 된 thrust 라이브러리는 이미 당신에게 약간의 맛을줍니다. = 부호만으로 RAM에서 GPU의 DRAM으로 데이터를 옮길 수 있습니다 (cudaMalloc 및 cudaMemcpy를 호출 할 필요가 없습니다). 그래서 추력은 CUDA-C를 '그냥 C'와 더 비슷하게 만듭니다.
어쩌면 그들은 이것을 미래에 CUDA-API에 통합 할 것입니다. 백 핸드에서는 프로 시저가 동일 할 것이고 (그리고 영원히 동일하게 유지 될 것입니다), 프로그래머에게는 쉽게 숨겨져 있습니다. (나는 그것을 싫어한다)
편집 : CUDA 4.0이 발표되었으며 은이 통합되었다.
"통합 된"메모리는 주소 공간만을 나타냅니다. 호스트 및 장치 포인터는 동일한 64 비트 주소 공간에서 할당되므로 주어진 포인터 범위는 프로세스 전체에서 고유합니다. 결과적으로 CUDA는 포인터 범위에서 "속하는"포인터를 추론 할 수 있습니다.
주소 공간과 해당 포인터 범위를 읽고 쓸 수있는 기능을 혼동하지 않는 것이 중요합니다. CPU는 장치 메모리 포인터를 역 참조 할 수 없습니다. 통합 주소 가능 플랫폼에서 모든 호스트 할당이 기본적으로 매핑되므로 GPU가 호스트 할당을 역 참조 할 수 있다고 생각합니다.
참고 : Windows Vista/Windows 7의 기본 드라이버 모델은이 기능을 지원하지 않습니다.
- 1. 기존 VS2008 프로젝트에 CUDA 4.0 통합
- 2. 자바 메모리 모델에 관한 질문
- 3. 메모리 및 하위보기에 대한 질문
- 4. CUDA 4.0 - cudaHostUnregister가 느립니다.
- 5. XCode와 CUDA 통합
- 6. NVIDIA CUDA 4.0, 런타임 API로 메모리 페이지 잠금
- 7. 힙 및 스택 메모리 사용에 대한 질문
- 8. Cuda 다른 메모리 할당
- 9. WPF, 트리거, 스타일 범위 및 선언적 프로그래밍 모델에 대한 질문
- 10. OpenCL : SIMT 실행 모델에 대한 기본 질문
- 11. CUDA 대 CuBlas 메모리 관리
- 12. CUDA 스레드로 전역 메모리 복사
- 13. 커널 내에서 포인터를 사용하는 CUDA 4.0 - 오류
- 14. CUDA 4.0 SDK에 파일이 누락 되었습니까?
- 15. 쿠다 4.0 대 3.2
- 16. CUDA 및 링커 오류
- 17. 계산 된 열을 EF 4.0 모델에 추가
- 18. NSAutoreleasePool EXC_BAD_ACCESS 및 Objective-C의 메모리 관리에 대한 질문
- 19. 실버 라이트에 대한 일반 질문 ... 클래스 인스턴스 및 공유 메모리
- 20. 호스트 및 장치 모두에서 CUDA 메모리 할당 가능
- 21. C# 메모리 및 관련 질문 처리
- 22. CUDA, MySQL 및 CMake
- 23. 메모리 질문
- 24. NSTimer에 대한 질문 및
- 25. 리눅스 프로세스 메모리 레이아웃에 대한 질문
- 26. Google Checkout 및 Django 통합 질문
- 27. 모델에 대한 JSON의 url_for이
- 28. CUDA : 대용량 2D 배열을 통한 공유 메모리
- 29. C++ 메모리 할당 및 삭제에 관한 질문
- 30. CUDA 용 미세 입자 메모리 검사기?
추력은 대입 연산자가 밑에있는 cudaMemcpy를 오버라이드합니다. 메인 메모리를 통해 GPU에서 다른 GPU로 복사하지 않으면 다른 GPU에서 다른 GPU로 데이터를 가져와야합니다. CUDA 4.0은이 제한을 없앴습니다. –
멋지다는 것을 몰랐습니다. – tim