Cuda 사용에 있어서 질문이 있습니다.

   조회 367   추천 0    

 


안녕하세요?


Cuda 사용에 있어서 질문이 있습니다.


- 목적: 큰 사이즈 영상처리(머신비젼)

- 문제: 그래픽 카드 메모리에 데이터 긴 전송시간 발생으로 처리속도가 느려짐.

- 해결방법: N개 그래픽카드를 사용 SLI로 연결하여 전송시간 줄임.

- 검토사항:


1) 전송 속도가 빨라지는 것이 그래픽카드에 데이터를 분산하여 처리하기 때문인지?

2) 분산되어 송수신 된다면, cuda 프로그램에서 처리에 문제점은 없는지?(하나 처럼 프로그램되길 희망)

3) N개(아마2개)그래픽 카드 사용시에 고려해야할 H/W 요구사항은 무엇이 있을까요?(메인보드 선정 등등)


감사합니다.

짧은글 일수록 신중하게.
무아 09-11
2)
머신비전으로 처리해야할 내용이 여러 영역으로 나누어 각각 처리가 가능하다면 되겠죠.
간단하게 예를 들어 영상의 평균 밝기 값을 구하는 문제라면 (이런 걸 cuda로 하진 않겠지만 쉬운 예를 든 것 입니다)
전체 영상의 평균을 구하지 않고 N 개의 서브 영역으로 구분하여 N 개의 카드로 각각의 평균을 구한뒤 그 값을 다시 평균하는 거라면 가능하겠죠.
즉, 어떤 영상처리를 하느냐 (어떤 알고리즘을 적용하느냐)에 따라 달라집니다.
경우에 따라서는 영상을 어느정도 겹치게 중복되는 영역을 만들어 나누는 방법이 가장 일반적일 것이고..
단순히 큰 영상을 나누어 전체적인 알고리즘을 별도로 실행해서 합치는 것은 안될 겁니다.
구하고자 하는 결과가 (평균 구하기 처럼) separable 한 알고리즘을 쓸 수 있을 때 만 가능합니다.

국내의 AI 머신비전 업체 중 한 곳인 라온피플에서 보내온 광고메일에는 이런 식으로 한다는 광고도 있습니다.
epowergate 09-11
CUDA를 사용해서 개발해본지가 오래되기는 했지만 제가 아는 범위에서는 CUDA를 사용한다고 해서 Graphic Card의 메모리를 빠르게 전송하지는 않습니다.
분산해서 송수신하는 로직은 직접 개발 또는 이를 수행하는 SDK (예전에는 없었음)를 사용하셔야 할 겁니다.
하셀호프 09-11
제가 아는 바로는 cuda를 사용하신다면 sli가 필요없습니다
글픽 2개 설치하고 1개처럼 사용하면 다 인식합니다
 개별 gpu 인식하고 각각의 cuda 코어, gpu 메모리 인식할 거라고 생각합니다
어떤 최적화가 필요한지는 저도 잘 모릅니다
cuda 메모리는  레지스터 메모리 / 로컬 메모리, shared 메모리, global 메모리가 있습니다
이런 메모리를 조정하는 것이 최적화일것이구요 저는 잘 모르는 부분입니다




QnA
제목Page 5/4503
2014-04   2527065   회원K
2015-12   12166   백메가
09-11   368   모아레김호열
09-11   423   나우너
09-10   316   핵터빈
09-10   311   김동수P
09-10   318   이희주
09-10   507   슈퍼차저
09-10   474   화니류
09-10   349   kino0924
09-10   414   조용원
09-09   605   신은왜
09-09   860   김건우
09-09   416   막울었어요
09-09   359   통통9
09-09   611   Fibula
09-09   799   Smile
09-09   484   레드베터
09-09   498   빠시온
09-09   579   HEUo김용민
09-09   434   취미컴
09-09   532   화란