2017-03-20 5 views
-2

나는 할당 메모리 오류 (가중치 행렬)의 가장자리에있는 깊은 학습을위한 모델을 가지고 있습니다. 나는 모델의 복잡성을 내 예측을 위해 잘 작동하는 레벨로 정돈했다 (그러나 더 좋을 수있다). 그리고 RAM 메모리로 잘 동작하지만, GPU를 사용하여 훨씬 빠른 훈련을위한 theano를 바꿀 때 (2GB gddr5 vram의 GPU) , 할당 오류가 발생합니다.GPU로 RAM 공유

RAM을 GPU와 공유하는 방법을 많이 찾았으며 많은 사람들이 이 가능하지 않으며 (참조 또는 설명 없음)이며 가능한 경우에도 속도가 느릴 것이라고 말합니다. 포럼에는 항상 1-2 명의 사람들이 할 수 있다고 나와 있는데 (나는 전체 페이지 1을 구글 검색에서 확인했다.), 지원할 아무것도없는 매우 신뢰할 수없는 정보였다.

저속 인수를 알고 있지만 심화 학습에서 행렬이 많은 계산을 위해 CPU + RAM을 사용하는 것보다 GPU + RAM을 사용하는 것이 더 느립니다? 아무도 그 점을 언급하지 않습니다. 내가 읽은 모든 논쟁 (새로운 카드 구입, 낮은 설정)은 게임에 관한 것이었고, 전체 속도가 아니라 적절한 시간에 더 나은 성능을 발휘할 때 나에게 의미가 있습니다.

GPU를 RAM에 연결하는 버스가 시스템에서 가장 좁은 파이프 (RAM보다 느리다)이므로 빠른 GPU보다 CPU + RAM (실제로는 빠른 버스 사용)을 사용하는 것이 좋습니다. (+ RAM). 그렇지 않으면 많은 의미가 없습니다.

+2

메모리 공유가 프로그래밍 관련 질문이 아니기 때문에이 질문을 주제와 관련이 없도록 닫으려고합니다. 그것은 하드웨어, 아키텍처 및 어쩌면 운영 체제와 드라이버에 관한 것입니다. –

답변

-1

QUDA로 질문에 태그를 추가 했으므로 다음 대답을 드릴 수 있습니다.

Managed memory을 사용하면 커널 메모리에서 CPU 메모리에있을 수도 있고 그렇지 않을 수도 있습니다. 이런 방식으로, GPU 메모리 종류는 캐시처럼 작동하며, 실제 GPU 메모리 크기에 의해 제한되지 않습니다.

이것은 소프트웨어 기술이므로이 주제에 관해서는 이렇게 말합니다.

+1

OP가 관리 메모리를 사용하기 위해 theano 등을 다시 쓰고 싶다고 가정하면,이 상황에서 이것은 주제에 관한 것일 수 있습니다. 그러나 그런 질문에서 내 추측은 아닐 것이다. 그리고 당신이 말하는 것은 Pascal GPU에서만 의미가있을 수 있습니다. 현재 다른 GPU 패밀리의 경우 관리되는 메모리를 사용하면 GPU에서 물리적 RAM보다 큰 GPU에 액세스 할 수있는 메모리 크기를 할당 할 수 없습니다. –