GPU가 paralleled computation 일 때 실제로 빠르며 15-30 (일부는 심지어 50으로보고되는) 시간 동안 CPU를 수행하지만, GPU 메모리는 매우 제한적입니다 CPU 메모리와 GPU 메모리와 CPU 간의 통신 속도가 빠르다.커널을 실행하는 동안 데이터를 GPU로 전송
GPU 램에 맞지 않는 데이터가 있지만 우리는 여전히 을 사용하여 계산하는 것이 궁금합니다. 우리가 할 수있는 일은 데이터를 조각으로 나누어 하나씩 GPU에 공급하는 것입니다.
GPU에 대용량 데이터를 보내려면 시간이 걸릴 수 있습니다. 데이터 조각을 두 개로 나누고 전반부를 공급하고 커널을 실행 한 다음 커널이 실행되는 동안 나머지 절반을 공급한다면 어떻게 될지 생각할 수 있습니다. 데이터 전송이 진행되어야하기 때문에 계산이있는 동안 우리는 시간을 절약해야한다는 논리에 의해
, 희망는 직업 및 완료되면, 그것을 잘, 그것은 새로운 데이터를 대기 위해 필요없이 작업의 계속, 단지 수 방해하지 통로.나는 cpu에 익숙하지 않은 gpgpu에 익숙하지 만 간단한 cuda 코드를 실험 해본 결과 kerner가 실행 중이면 cudaMemcpy이 CPU와 GPU간에 데이터를 전송하는 데 사용됨을 알았습니다. 커널이 끝날 때까지 기다렸다가 그 일을 할 것입니다.
내 질문에, 그것은 하나의 예를 표시하거나 그것을 할 수있는 방법에 대한 몇 가지 정보 소스를 제공 할 수 위 그렇다면 설명한 것과 같은 작업을 수행 할 수 있습니다?
감사합니다.
나는 더 나은 잡동사니가 나오길 원한다. 정말 대단 하시겠습니까? 고마워요! –