1 / 18

Image Processing with CUDA - 중간 발표 -

Image Processing with CUDA - 중간 발표 -. J 조 고준호 김학봉 정보영. 목차. 자세한 스펙 소개 현재 진행중인 작업 ( 진행한 작업 ) 개발 환경 구축 CUDA study 앞으로 진행 예정 작업 일정 및 평가 기준. 스펙 개요. 이미지 프로세싱 성능 개선 공통으로 쓰이는 부분에 대하여 개선 cf ) 다양한 모듈 ( 함수 단위 ) 의 전체 개선 아님 어느 정도 선까지 가능한지 체크 최종 목표는 모듈화 하여 회사에 제공

asher
Télécharger la présentation

Image Processing with CUDA - 중간 발표 -

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Image Processing with CUDA- 중간 발표 - J조 고준호 김학봉 정보영

  2. 목차 • 자세한 스펙 소개 • 현재 진행중인 작업(진행한 작업) • 개발 환경 구축 • CUDA study • 앞으로 진행 예정 작업 • 일정 및 평가 기준

  3. 스펙 개요 • 이미지 프로세싱 성능 개선 • 공통으로 쓰이는 부분에 대하여 개선 cf) 다양한 모듈(함수 단위)의 전체 개선 아님 • 어느 정도 선까지 가능한지 체크 • 최종 목표는 모듈화 하여 회사에 제공 추가) 자주 쓰이는 모듈 몇 가지 에 대해서 개선 하여 제공

  4. 스펙소개(1/3) 1.음영 제거

  5. 스펙소개(2/3) 2. 도형 그리기

  6. 스펙소개(3/3) 3. Edge Detection Algorithm • 중간 과정의 미분 값을 구하는 것이 목표 • 위 과정이 완료 되면 직접 구현 시도 • (추가사항) Canny Edge Detector • (추가사항) Sobel Edge Detector

  7. 진행 완료 작업(1/2) • 10월 19일에 스펙 결정(시간 부족) • 개발 환경 구축 • 주어진 HALCON 라이브러리를 이용 • 쿠다 설치 및 테스트 완료 • SVN 설치 및 팀원간 의사소통 환경 설정

  8. 진행 완료 작업(2/2) • CUDA code와 application 코드의 분리 • Module화 가능성 제고 DLL CALL • MFC code section • HALCON library section • ☞ host code • image processing • dynamic linked library • ☞ device code Visual Studio Complier CUDA Compiler (nvcc)

  9. 진행중인 작업(1/2) • 3가지 문제에 대하여 적용 방안 연구중 간단한 실험 결과 : CPU가 더 빠른 현상 발견 (다음 페이지)

  10. CPU가 더 빠르다? • 이미지 역상 처리 테스트 (x축:횟수, y축:시간)

  11. 진행중인 작업(2/2) • CUDA basic study • Hierarchy에 대한 이해 • device와 host간의 교환 • emulation 모드 디버깅 • nvcc컴파일러 사용법 • 기본 reference • 예제를 통한 이해!!

  12. 진행 예정 작업 – 큰 그림 • 프로젝트 진행방식 : 2 way • problem solving with ex. • environment setting • convert to parallel way • find more efficient thing CUDA study & exercise Design algorithm • Optimization considering coalescing, bank conflict, etc.. • Make DLL and show UI with MFC dialog or something • Provide our result with company and get feedback Merge and Execute

  13. 진행 예정 작업 : CUDA study • CUDA의 다양한 이슈들에 대해 공부 • Host-Device data transfer • Shared memory bank conflict • Coalescing • Partition camping • 각 문제에 적용하도록 시도 • 여러 개의 이미지에 대하여 동시 진행할 경우 • 이미지의 특정 부분별로 처리를 해야 할 경우 • sequential한 부분을 parallel하게 하는 경우

  14. 진행 예정 작업 :문제의 병렬화 • 주의 : 병렬화한다고 끝나는 것이 아님 • 항상 및 작업 단위의 최적화 생각 • 물리적 메모리 구조 • 논리적 메모리 구조 • 항상 CPU와 고려/비교 • context switching 속도 • cpu cache의 위력 (locality) • DLL call over-head

  15. 최종 작업 : Merge 병렬화한 알고리즘을 CUDA에적용 최적화 후 회사로 보내서 피드백 받음 추가 수정 후 프로젝트 완료

  16. 일정

  17. 평가기준(1)

  18. 평가기준(2)

More Related