Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

Like this presentation? Why not share!

1,779 views

Published on

CUDA등의 범용 개발툴은 거의 모든 종류의 프로그래밍문제에 다양한 방식으로 적용되고 있습니다.

그런데 게임기술개발과 HPC 프로그래밍은 과연 정말 전혀 다른 영역일까요?

이 세션에서는 GPU를 활용한 속도 최적화를 위해 병렬처리와 관련한 알고리즘 적인 접근방식이 게임이나 그래픽과 수퍼컴퓨터에서 사용되는 기술간에 어떤 유사성이 있는지에 대해 논의 합니다.

또 게임개발에서 습득한 여러 GPU 기술들이 다른 문제들에 어떻게 적용, 확장될수 있는지도 설명합니다.

Published in:
Technology

No Downloads

Total views

1,779

On SlideShare

0

From Embeds

0

Number of Embeds

686

Shares

0

Downloads

0

Comments

0

Likes

4

No embeds

No notes for slide

- 1. 게임기술과 수퍼컴퓨팅의 공생관계 김태용, NVIDIA taeyongk@nvidia.com
- 2. 강연자에 대한 간략한 소개 컴퓨터 그래픽 공부 헐리웃 영화효과에서 사용되는 특수효과 기술개발 현재 엔비디아에서 게임용 특수효과를 위해 GPU를 사용한 병렬처리 알고리즘들 연구중
- 3. 들어가는 말 컴퓨터는 더 이상 빨라지지 않는다 (다만 넓어질 뿐이다)
- 4. 병렬 컴퓨팅의 간략한 역사 2012 18,688 개의 노드를 사용한 AMD Opteron/ NVIDIA Tesla Titan 시스템 ( ORNL ) 1985 최초의 분산메모리 병렬시스템 (Intel iPSC/1, 32 CPUs) 이 오크리지(ORNL) 에서 사용 Image source: The Far Side, Gary Larson 1980s Today
- 5. 컴퓨팅의 새로운 벽 • Clock speed 에 의존하는 단일코어 CPU 성능의 한계 • 발열 • 에너지 " 파티는 아직 끝나지 않았다. 하지만, 경찰이 찾아왔고 음악은 이미 멈췄다. “ – Peter Kogge -
- 6. 문제는 전력! = Jaguar (Nov. ‘11) 2.3 petaflops @ 7 megawatts (224,256 x86 CPU cores) 7,000 Homes = 7 megawatts 조그만 도시의 총 전력사용량!
- 7. 120 petaflops | 376 megawatts 샌프란시스코의 총전력사용량!
- 8. 난세의 영웅~ 두둥! © Unreal Engine 4 Epic Games
- 9. GPU (Graphic Processing Unit, 그래픽 처리장치)
- 10. 날로 번창하는 게임산업이 수퍼컴퓨터기술의 투자자 2016년까지 게임산업의 규모는 $82 billion (87조원) 예상
- 11. 현재의 실시간 그래픽기술은 수십억개의 병렬 연산을 필요로 함
- 12. 게임을 하는데 왜 그렇게 많은 병렬연산이 필요한가요? 수백만개의 삼각형들 수백만개의 픽셀들 Image plane 입력된 삼각형 버텍스 변환 표면 분할 (Tessellation ) Camera 카메라 변환 Rasterize 칼라생성 (Shading)
- 13. 게임에서 사용되는 기술은 더이상 게임만을 위한것이 아니다?
- 14. 수퍼컴퓨팅용 과학연산은 일초에 수천조 (quadrillions) 단위의 병렬연산 필요 예) 왜 오늘 날씨예보가 잘 안맞나요?
- 15. GPU = 주용도는 그래픽, 하지만 내부는 수퍼컴퓨터 CPU = 몇개의 복잡한 연산전문 프로세서들 GPU = 간단한 연산에 최적화된 수많은 프로세서들 범용연산을 단일쓰레드로 최대의 성능을 낼수 있게 설계 범용연산은 느리나 연산총량 (throughput)에 맞춰 설계 단위전력당 성능 최적화
- 16. GPU의 진화과정 “Kepler” 7B xtors GeForce 8800 681M xtors RIVA 128 3M xtors 1995 GeForce 256 23M xtors 2000 고정연산처리 GeForce 3 60M xtors 2001 GeForce FX 250M xtors 2003 프로그래밍가능한 쉐이더 2006 2012 범용프로그래밍 가능 (CUDA)
- 17. 무어의 법칙 • 18개월 마다 (혹은 2년마다) 회로의 직접도 2배 증가 • CPU 의 경우 지난 수십년간 단일코어 성능 향상 • “The Power Wall”
- 18. 무어의 법칙 (GPU의 경우) • 18개월 마다 (혹은 2년마다) 회로의 직접도 2배 증가 • 늘어난 회로의 직접도는 코어갯수의 증가로 이어짐 • 수백-수천개의 ‘코어’로 구성
- 19. “새로운” 무어의 법칙 • 코어 하나의 성능향상은 더이상 없다, 다만 코어의 갯수만 늘어날 뿐이다 • 성능향상을 위해 새로운 병렬 알고리즘 개발필요 • 새로운 다중코어 환경에서 적합한 Data-parallelism 필요
- 20. 게임기법과 수퍼컴퓨팅알고리즘의 공통분모
- 21. 1 입자 움직임계산 (PARTICLE SIMULATION)
- 22. 입자움직임 계산 — 게임의 경우 예) 머리카락 시뮬레이션 NVIDIA Hair Demo
- 23. 입자움직임 계산 — 게임의 경우 옷 시뮬레이션 Vertical © Samaritan demo Epic Games /NVIDIA Apex Clothing Horizontal Shear
- 24. 입자움직임 계산— 분자생물학 리보솜 계산 (simulated by NAMD, visualized by VMD) 새로운 약품개발연구 및 기존 생물학 이론 검증 Bond Atom Forces
- 25. 게임연산과 수퍼컴퓨팅의 공통분모 첫번째 • 수많은 독립된 연산사용 ( 수백만 ~ 수억개) • 최대의 성능을 위한 로직 병렬화 작업 • 독립된 연산을 막는 의존성문제 • 예) 입자연산의 경우, 입자간의 상호의존성 • 동시에 여러개의 연산이 같은 메모리주소에 접근하는 문제 • 대응방법 • 병렬처리에 적합한 새로운 알고리즘 사용 • Graph Coloring을 통한 의존성제거, 다중 패스 적용
- 26. 데이터 충돌 방지를 위한 기법들 • 쓰기 연산이 같은 노드에 사용되는 것 방지 • 원자적 (atomic) 연산 -> 연산의 직렬화 -> 느림 • Graph Coloring을 통한 패스의 생성 • 각각의 패스에서는 완전히 독립적 -> 최대한의 병렬화 • 패스의 갯수를 줄이는게 관건
- 27. 2 컨볼루션 (신호처리, 이미지 프로세싱 등) 0 0 0 입력 픽셀값 0 0 0 0 0 1 1 1 0 0 0 0 1 2 2 1 1 1 0 1 2 2 2 1 1 0 1 2 2 2 1 1 0 0 1 1 1 1 1 출력값은 픽셀위치의 주위 모든 픽셀값들의 값과 커널에 의해 결정되는 가중치 평균값 (weighted sum) 이 된다 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 -4 Convolution 커널 새로운 픽셀값 (출력) -8
- 28. 컨볼루션— 게임의 경우 카메라 초점효과 (Depth of field) In focus © Halo 3 Bungie Studios
- 29. 컨볼루션— 게임의 경우 뽀사시 효과 (Film bloom) 과도한 빛이 광원주위로 산란되는 현상 © Crysis Crytek GmbH
- 30. CONVOLUTION — 게임의 경우 반투명한 피부질감 렌더링 (Subsurface scattering) 불투명한 오브젝트의 경우 반투명한 물체의 내부 광원 산란효과 Jimenez 2008 Used In Samaritan, Crysis2 and other games 직접광원 텍스쳐 convolution
- 31. 컨볼루션 — 수퍼컴퓨팅의 경우 지질탐사 (유정위치 탐색등)에서 사용되는 Reverse Time Migration 파동시뮬레이션의 정확도를 돕이기 위해 가변량계산시 convolution사용 Petroleum Geo Services complex wave interaction near a salt tooth propagated using AxRTM
- 32. 게임연산과 수퍼컴퓨팅의 공통분모 두번째 • 수많은 독립된 연산사용 ( 수백만 ~ 수억개) • 컨볼루션 연산시 픽셀위치에 가까운 픽셀들 데이터 사용 • 게임의 경우 – 텍스쳐 캐쉬를 이용한 성능향상 • 일반연산의 경우 – 공유 메모리 (shared memory) 와 상수 메모리 (constant memory)를 사용한 성능향상 • 같은 메모리 구조를 가지는 하드웨어를 사용하므로 메모리 접근방식개선을 통한 최적화기법 공유
- 33. 3 편미분 방정식 (PARTIAL DIFFERENTIAL EQUATIONS, PDEs)
- 34. 유체역학에서의 편미분방정식 계산 속도 압력
- 35. 게임에서의 유체효과를 위한 물리연산
- 36. 수퍼컴퓨터에서의 유체역학 기상예측, 제품 디자인, 공기역학설계 등 On the Development of a High-Order, Multi-GPU Enabled, Compressible Viscous Flow Solver for Mixed Unstructured Grids. P. Castonguay et al.
- 37. 게임연산과 수퍼컴퓨팅의 공통분모 세번째 • 수많은 독립된 연산사용 ( 수백만 ~ 수억개) • 수학연산 등 높은 계산량 (FLOPS) 이 필요한 분야에 사용 • 게임 • 정해진 시간안에 최대한의 효과 • 속도 > 정확도 • 단정밀도 부동소수점 연산에 최적화 (single precision float) / GeForce 제품군 • 수퍼컴퓨팅 • 최대의 데이터와 높은 수준의 정확도 요구 • 정확도 > 속도 • 배정밀도 부동소수점 연산에 최적화 (double precision) / Tesla 제품군
- 38. 4. 푸리에 변환 (FFT) + = +
- 39. FFT — 게임의 경우 렌즈 플레어 등의 후처리 효과 HDRI 등에서 발생하는 고휘도 픽셀입력값 FFT Frequent 주파수 영역 이미지 Domain (Frequency Domain Image ) Image x 주파수 영역 커널 Frequent (Frequency Domain Domain Kernel Kernel ) 효과가 적용된 이미지 FFT-1
- 40. © 3D Mark 11 Futuremark
- 41. © 3D Mark 11 Futuremark
- 42. © 3D Mark 11 Futuremark
- 43. FFT — 게임의 경우 파도 시뮬레이션 NVIDIA Ocean Demo
- 44. FFT — 수퍼컴퓨팅의 경우 난류 시뮬레이션 (Turbulence simulation), 단백질 합성, 분자동역학, 영상처리, 암호학
- 45. 게임연산과 수퍼컴퓨팅의 공통분모 네번째 • 자주사용되는 핵심 기술 (FFT, 선형대수등)에 대한 라이브러리들 존재 • 게임 • 주로 게임용 개발환경인 DirectX/Direct Compute사용 • 게임엔진및 독립적인 미들웨어 사용 • 수퍼컴퓨팅 • CUDA 용 기본 라이브러리들 • CUFFT, CUBLAS 등 • 가속라이브러리의 핵심커널은 대동소이함 (같은 하드웨어 구조)
- 46. 수퍼컴퓨팅과 게임응용분야간의 근본적인 유사성 메모리연산에 의한 병목의 경우들 (메모리 사용량 > 계산량) Gaming HPC Ambient occlusion Sparse Matrix vector multiply
- 47. 수퍼컴퓨팅과 게임응용분야간의 근본적인 유사성 수학연산에 의한 병목의 경우들 (계산량 > 메모리 사용량) © Team Fortress 2 Valve Gaming 복잡한 광원효과 계산 AMBER를 사용한 혈액 응집 시뮬레이션 HPC 단백질과 지질 (lipid) 시뮬레이션
- 48. 게임연산과 수퍼컴퓨팅의 공통분모 마지막 • 병렬처리 성능의 소프트웨어적인 개선 방법 • 병목을 찾아라 • 메모리 병목 (bandwidth bound) vs 계산 병목 (compute bound)? • 하드웨어에 대한 이해 필요 • Parallel Nsight 등의 툴들 사용
- 49. GPU Computing – Game On!
- 50. Growth of GPU Computing 100M 430M CUDA –Capable GPUs CUDA-Capable GPUs 150K 1.6M CUDA Downloads CUDA Downloads 50 1 Supercomputers Supercomputer 640 60 University Courses University Courses 37,000 4,000 Academic Papers Academic Papers 2008 2013
- 51. 2008 Supercomputing Exhibit Floor
- 52. 2012 Supercomputing Exhibit Floor
- 53. ADVANCING HEALTHCARE The Chinese Academy of Sciences used a GPU-powered supercomputer to model a complete H1N1 virus for the first time.
- 54. ENHANCING FINANCE With NVIDIA Tesla GPUs, J.P Morgan . achieved a 40x speedup of its risk calculations.
- 55. MEDICAL BREAKTHROUGHS GPUs enable doctors to perform beating heart surgery with robotic arms that predict and adjust for movement. Laboratoire d’Informatique de Robotique et de Microelectronique de Montpellier
- 56. 정보 검색 Tweets Per Day 500 Millions 400 500M 300 Tweets 200 1M Expressions 100 <5 0 Minutes 2007 2008 2009 2010 2011 2012
- 57. 오디오 검색 SHAZAM 300M 300M User Queries (per month) 200M 100M 0 2008 2009 2010 2011 2012 2013
- 58. 패턴 검색
- 59. 게임 효과의 미래? 현재 가까운 미래
- 60. 수퍼컴퓨팅의 미래? 현재 미래에는?
- 61. 수퍼컴퓨팅의 또다른 미래? 현재 미래?
- 62. Mobile GPUs are coming Relative Graphics Horsepower 300X Mobile Kepler 8800 GTX 200X PS3 100X iPad 4 iPhone 4 Galaxy S2 1X 2009 2010 2011 2012 2013 2014
- 63. Gesture Augmented Reality Beautification Speech Recognition Facial Recognition 모바일 수퍼컴퓨터?
- 64. http://nvidiakoreapsc.com

No public clipboards found for this slide

Be the first to comment