최소 단어 이상 선택하여야 합니다.
최대 10 단어까지만 선택 가능합니다.
다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
NTIS 바로가기한국컴퓨터정보학회 2018년도 제58차 하계학술대회논문집 26권2호, 2018 July 13, 2018년, pp.7 - 10
신필규 (서울대학교 전기정보공학부) , 홍성수 (서울대학교 전기정보공학부)
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
핵심어 | 질문 | 논문에서 추출한 답변 |
---|---|---|
전통적인 CUDA 프로그램은 어떤 단계를 거쳐 수행되나요? | 전통적인 CUDA 프로그램은 크게 세 단계를 거쳐 수행된다. 첫번째 단계에서는 CPU 메모리에 있는 데이터를 GPU 메모리로 옮긴다. 이는 cudaMemcpy()라는 CUDA API를 통해 이루어진다. 두 번째 단계에서는 GPU 메모리에 있는 데이터를 사용하여 연산을 수행한다. 수행하는 연산은 C나 C++ 언어의 함수로 표현되는데, 이를 커널이라고 한다. 개발자는 커널을 수행시킬 때 스레드 수와 블록 수를 지정하여야 한다. 스레드 수는 동시에 커널을 수행하는 인스턴스의 수를 의미하고 블록 수는 동시에 수행되는 인스턴스 묶음의 수를 의미한다. 세 번째 단계에서는 연산 수행 결과를 다시 cudaMemcpy()를 사용하여 GPU 메모리에서 CPU 메모리로 옮긴다. | |
GPU란 무엇인가요? | GPU는 데이터 병렬 처리에 강점을 가진 하드웨어로 그래픽 응용뿐만 아니라 심층 학습과 같은 광범위한 GPGPU 응용에 사용되고 있다. 이러한 GPU 응용들은 데이터 집약적인 특성이 있으므로 CPU 메모리와 GPU 메모리 사이의 데이터 통신은 개별 GPU에서 성능에 있어 매우 중요한 요소 중 하나다. | |
전통적인 GPU 프로그래밍 모델에서는 데이터 통신을 누가 관리하고 최적화하나요? | 전통적인 GPU 프로그래밍 모델에서는 이 데이터 통신을 개발자가 명시적으로 관리하고 최적화한다. 하지만 이는 개발자에게 GPU의메모리 아키텍처를 고려하여 프로그래밍해야만 하는 부담을 준다. |
*원문 PDF 파일 및 링크정보가 존재하지 않을 경우 KISTI DDS 시스템에서 제공하는 원문복사서비스를 사용할 수 있습니다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.