이정근 (Jeong-Gun Lee, http://www.onchip.net)
전화번호 | 연구실 | 면담시간 | |
---|---|---|---|
[email protected] | 033-248-2312 | 공학관 1306 | 이메일 연락후 면담가능 |
정다운
전화번호 | 연구실 | |
---|---|---|
[email protected] | 033-248-2312 | 공학관 1306 |
이 과목은 소프트웨어융합대학 기초를 수강한 학부 상급생을 대상으로 병렬처리 환경의 소개와 병렬프로그래밍 기법에 대하여 입문수준의 지식을 제공함을 목적으로 한다. 현재 병렬 프로그래밍은 빅데이터/머신러닝 분야에서 크게 이슈가 되고 있고, 병렬 프로그래밍은 선택적인 지식에서 벗어나 컴퓨터 전문가로서 필수적인 지식으로 요구되고 있다. 특히 최근 AMD 및 NVIDIA의 고성능 GPU 프로그래밍에 대해서 심도 있게 살펴보며, 산업체 수요가 많은 NVIDIA의 CUDA 프로그래밍에 대해서 집중적으로 살펴본다.
본 강의에 사용되는 강의 자료와 실습 코드 등은 Github를 통해서 전달될 예정이며, https://github.com/jeonggunlee/Parallel_Programming_2018_Fall 를 통해 접근할 수 있다.
본강의는 기업이 제시하는 기업형 문제를 하나의 프로젝트로 할당 받아 한학기 동안 진행하는 종합설계형 교과목
입니다. 할당되는 프로젝트는 병렬 컴퓨팅 기반의 기업과제로써 학생들은 4명이 한팀을 이루어 프로젝트를 진행하게 됩니다. 팀의 최종 결과물(보고서, 개발소스)는 모두 Github
를 통하여 공개하며, 오픈소스화 하는 것이 최종 미션입니다.
- 교수자 PPT 자료 및 보조 문서
- 특별히 책으로 된 교재는 없습니다. 다만, 필요에 따라 병렬 프로그래밍에 도움이 되는 문서들을 업로드할 계획입니다.
- 필요에 따라 동영상 강의 클립이 제공될 수 있습니다.
- 1주:
- 병렬프로그래밍소개: 병렬 프로그래밍 개요 / 병렬 컴퓨터 구조
- 동영상 시청
- 2주:
- 병렬프로그래밍 모델 소개
- 병렬프로그래밍 = OpenMP 간략 소개
- LAB 1: OpenMP를 활용한 매트릭스 곱셈 구현 및 평가
- 3주:
- GPU 병렬 프로그래밍 기초 1
- LAB 2: Amazon 클라우드를 활용한 GPU 실습 환경 구축 / Google 클라우드에서 GPU 사용법 소개
- 4주:
- GPU 병렬 프로그래밍 기초 2
- LAB 3: HelloCUDA !
- Grid-Block-Thread 구조 실험
- DeviceQuery / Vector Addition 구현
- 5주:
- GPU 아키텍쳐: SIMD / SIMT
- LAB 4: BandwidthTest, Unified Memory 사용 실습
- 6주:
- GPU 병렬 프로그래밍 기초 3
- LAB 5: Matrix Transpose 구현 (기본)
- 7주:
- 중간 고사
- 8주:
- GPU 병렬프로그래밍 최적화 1
- LAB 6: 최적화 실습
- 9주:
- GPU 병렬프로그래밍 최적화 2
- LAB 7: 최적화 실습
- 10주:
- Parallel Transpose 최적화 1
- LAB 8: Transpose 최적화 실습 1
- 11주:
- Parallel Transpose 최적화 2
- LAB 9: Transpose 최적화 실습 2
- 12주:
- Parallel Reduction 최적화 1
- LAB 10: Reduction 최적화 실습 1
- 13주:
- Parallel Reduction 최적화 2
- LAB 11: Reduction 최적화 실습 2
- 14주:
- 병렬 CUDA 벡터곱 최적화 소개
- LAB 12: CUDA 벡터곱 최적화
- 중간고사 25%, 기말고사 25%
- 프로젝트 25%, 실습 25%
- 과제 copy 시에 해당 과제 0점 처리
- 팀별 프로젝트 진행시, 각 참여 학생의 역활에 대한 평가 진행
- OpenMP 동영상 강의 (KISTI) - 한국어 !~
- CUDA Sample Directory: C:\ProgramData\NVIDIA Corporation\CUDA Samples
- CUDA 최고의강좌! 강추! Udacity Intro to Parallel Programming
- Udacity High Performance Computer Architecture
- Udacity High Performance Computing
- CUDA LECTURE - Oklahoma State University
- 코딩 실습을 위한 클라우드 설정(AWS)
- 머신러닝에 사용되는 CNN의 CUDA 구현