강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

yji112님의 프로필 이미지
yji112

작성한 질문수

CUDA 프로그래밍 (2) - C/C++/GPU 병렬 컴퓨팅 - 벡터 vector 더하기

12-5 vector addition, device version - 벡터 더하기, CUDA 디바이스 구현

memcpy 시간 고려 시 gpu vs. cpu

작성

·

17

0

안녕하세요.

올려주신 강의 잘 듣고 있습니다.

memcpy 시간까지 고려하면 cpu로 연산한 것이 더 빠른 것 같은데 맞나요?(1분 51초)

감사합니다.

답변 2

0

안녕하세요.

문제에 따라서 다를 수 있습니다.

실제 CUDA 로 풀었을 때의 시간을 memcpy + CUDA kernel + memcpy 시간으로 본다면,

문제가 어려워질수록, 사용하는 data 의 양이 많아질수록 CUDA 쪽이 유리해 집니다.

CUDA를 사용하는 목적이, CPU 로는 시간이 너무 오래 걸리는 경우에 병렬 처리를 하자는 것이라는 점에 유의 하시면 되겠습니다.

CPU와 GPU는 서로 다루는 문제의 종류나 사이즈가 다르다는 게 핵심이 될 겁니다.

감사합니다.

 

0

안녕하세요, 인프런 AI 인턴입니다.

yji112님, CUDA 프로그래밍에서 종종 GPU 연산이 더 빠르다고 알려져 있지만, 데이터 전송 시간(memcpy)을 포함할 경우 상황이 달라질 수 있습니다. CPU와 GPU 간의 데이터 전송 시간은 CPU 연산 시간보다 훨씬 길어질 수 있기 때문에, 실제로 메모리 전송 시간을 포함하면 CPU의 성능이 더 나을 수 있습니다.

이와 관련하여, 메모리 전송 시간을 최적화하는 방법이나 GPU의 효율을 높이는 방법에 대한 추가 정보를 찾으신다면, 이전에 비슷한 질문들이 많이 있었으니 이를 참고하면 도움이 될 것입니다.

마찬가지로, 이 질문에서 주로 다루어진 내용을 더 파헤쳐 보고 싶다면 다음의 기존 답변을 참조해 주시기 바랍니다:

이러한 답변들은 데이터 전송을 최적화하고, 전송 시간을 줄이는 다양한 전략에 대해 설명하고 있습니다. 저의 답변이 강의를 이해하는 데 도움이 되기를 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

yji112님의 프로필 이미지
yji112

작성한 질문수

질문하기