inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

CUDA 프로그래밍 (3) - C/C++/GPU 병렬 컴퓨팅 - 메모리 구조

18-F closing - 클로징

video에 필터를 적용하는 경우

해결된 질문

392

superdy

작성한 질문수 3

0

- 출장이 잦아서, 답변에 시간이 좀 걸릴 수도 있습니다. 양해 바랍니다.

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

선생님 너무 좋은 강의 다시 한번 감사드립니다. 다름이 아니고, video에서 각각의 frame별로 filter를 처리하는 부분을 cuda도 구현하는 코드를 짠다고 가정할 때, 각 프레임은 W x H x C ( rbg) 의 차원을 가지고 있고 영상이기 때문에 영상은 W x H x C x T 의 차원을 가지고 있을 겁니다. 그렇다면, cudaMalloc3D나 cudaMemecpy3D 부분을 사용해서 각 frame을 처리하고 ( device ) 나머지는 for 문 ( host ) 으로 시간에 따라 frame을 device로 보내도록 구현하였습니다. 그런데 혹시 시간 부분 까지 device에서 처리할 수 있는 방법이 있는 지가 궁금합니다.

c c++ cuda gpu 병렬-처리

답변 1

1

드립커피+한모금더

안녕하세요.

이미지 처리, 비디오 처리 분야도 CUDA 에서 많이 다루는 문제입니다.

보통, cudaMalloc3D( ) 로 메모리 영역을 잡게 될 것인데, 말씀하신대로, W x H x C x T 까지 고려하면, 4개의 차원이 되어서, 좀 애매한 상황이 생길 수 있습니다.

제가 많이 사용하는 방법은, pixel 당 RGBA 로, 4바이트 integer 를 할당하면, 0xRRGGBBAA 또는 0xAABBGGRR 형태로 저장될 겁니다.

이렇게 하면, data type 을 바이트가 아니라, 4 바이트 integer 로 바꾸면서, C 차원을 생략해도 되어서,

W x H 짜리 2차원 이미지로 되고, T 차원까지 고려하면, 3차원이 되어서, cudaMalloc3D( ) 로 메모리 관리가 가능할 것입니다.

픽셀마다의 access 패턴으로 보아도, 이쪽이 속도가 빠를 겁니다.

RGB 만 쓰더라도, A에 해당하는 1 바이트를 버려도, integer 단위로 자료를 주고 받는게 빠르다는 점을 고려해야 할 겁니다.

감사합니다.🍀

섹션7에서 개념적 궁금증

0

3

0

26년2회 실기기출은 언제쯤...

0

20

2

이론 공부법 요약본 버전 업데이트 문의

0

17

2

코딩살구클럽 가입부탁드립니다

0

27

2

vs 디버그 옵션 설정

0

26

2

코딩살구클럽 가입 요청 확인부탁드립니다

0

30

2

54강 양자화의 끝판왕, 터보퀀트 (예정) 강의 업로드

0

29

1

블로그에 학습 내용 올려도 되나요?

0

32

1

5-S 테스트 케이스 질문

0

34

2

정처기 필기 준비할때 이 이론을 다시 외워도 될까요?

0

54

2

코살 문제풀이 환경

0

48

2

2 - T 오큰수 문제가 있는 것 같습니다.

0

43

1

추천 추가문제들

0

43

2

프로그래머스 코테 환경 관련해서 질문드립니다.

0

47

2

최댓값 구하기(서바이벌)에서 수식 구성에 대한 질문

0

41

2

자료 한번에 다운받기

0

30

1

해당 문제에 대한 채점이 코딩살구클럽에서 올바르게 처리되지 않습니다.

0

41

2

균형 이진 트리 설명 시 높이 숫자

0

31

2

4-H 질문드립니다.

0

35

2

1-K 질문드립니다.

0

41

2

대기업 인적성 시험 질문

0

41

2

pitch값에 따른 alignement boundary(size) 질문

0

203

2

[Matrix Addition Problem] 1D를 사용하지 않는 이유가 뭔가요?

0

243

1

계산시간 비교

1

408

2