Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
게임기술과
수퍼컴퓨팅의
공생관계
김태용, NVIDIA

taeyongk@nvidia.com
강연자에 대한 간략한 소개

컴퓨터 그래픽 공부
헐리웃 영화효과에서 사용되는 특수효과 기술개발
현재 엔비디아에서 게임용 특수효과를 위해
GPU를 사용한 병렬처리 알고리즘들 연구중
들어가는 말

컴퓨터는 더 이상 빨라지지 않는다
(다만 넓어질 뿐이다)
병렬 컴퓨팅의 간략한 역사
2012
18,688 개의
노드를 사용한
AMD Opteron/
NVIDIA Tesla
Titan 시스템
( ORNL )

1985
최초의 분산메모리
병렬시스템 (Intel
iPSC/1, 32...
컴퓨팅의 새로운 벽
• Clock speed 에 의존하는
단일코어 CPU 성능의 한계
• 발열
• 에너지
" 파티는 아직 끝나지 않았다.
하지만, 경찰이 찾아왔고 음악은 이미
멈췄다. “
– Peter Kogge -
문제는 전력!

=

Jaguar (Nov. ‘11)
2.3 petaflops @ 7 megawatts
(224,256 x86 CPU cores)

7,000 Homes = 7 megawatts
조그만 도시의 총 전력사...
120 petaflops | 376 megawatts
샌프란시스코의 총전력사용량!
난세의 영웅~
두둥!

©

Unreal Engine 4 Epic Games
GPU (Graphic Processing Unit, 그래픽
처리장치)
날로 번창하는 게임산업이 수퍼컴퓨터기술의 투자자

2016년까지 게임산업의 규모는 $82
billion (87조원) 예상
현재의 실시간 그래픽기술은 수십억개의 병렬
연산을 필요로 함
게임을 하는데 왜 그렇게 많은
병렬연산이 필요한가요?

수백만개의 삼각형들

수백만개의 픽셀들

Image plane

입력된 삼각형

버텍스 변환

표면 분할
(Tessellation
)

Camera

카메라 변환
...
게임에서 사용되는 기술은 더이상
게임만을 위한것이 아니다?
수퍼컴퓨팅용 과학연산은 일초에 수천조 (quadrillions)
단위의 병렬연산 필요
예) 왜 오늘 날씨예보가 잘 안맞나요?
GPU = 주용도는 그래픽, 하지만 내부는
수퍼컴퓨터

CPU = 몇개의 복잡한
연산전문 프로세서들

GPU = 간단한 연산에 최적화된
수많은 프로세서들

범용연산을 단일쓰레드로
최대의 성능을 낼수 있게
설계

범용연산...
GPU의 진화과정
“Kepler”
7B xtors
GeForce 8800
681M xtors

RIVA 128
3M xtors

1995

GeForce 256
23M xtors

2000

고정연산처리

GeForce...
무어의 법칙
• 18개월 마다 (혹은 2년마다)
회로의 직접도 2배 증가
• CPU 의 경우 지난 수십년간
단일코어 성능 향상
• “The Power Wall”
무어의 법칙 (GPU의 경우)
• 18개월 마다 (혹은 2년마다)
회로의 직접도 2배 증가
• 늘어난 회로의 직접도는
코어갯수의 증가로 이어짐
• 수백-수천개의 ‘코어’로 구성
“새로운” 무어의 법칙
• 코어 하나의 성능향상은 더이상 없다, 다만 코어의 갯수만
늘어날 뿐이다
• 성능향상을 위해 새로운 병렬 알고리즘 개발필요
• 새로운 다중코어 환경에서 적합한 Data-parallelism 필요
게임기법과 수퍼컴퓨팅알고리즘의
공통분모
1 입자 움직임계산 (PARTICLE SIMULATION)
입자움직임 계산 — 게임의 경우
예) 머리카락 시뮬레이션

NVIDIA Hair Demo
입자움직임 계산 — 게임의 경우
옷 시뮬레이션

Vertical
©

Samaritan demo Epic Games /NVIDIA Apex Clothing

Horizontal

Shear
입자움직임 계산— 분자생물학

리보솜 계산 (simulated by NAMD, visualized by VMD)
새로운 약품개발연구 및 기존 생물학 이론 검증

Bond

Atom

Forces
게임연산과 수퍼컴퓨팅의 공통분모 첫번째
• 수많은 독립된 연산사용 ( 수백만 ~ 수억개)
• 최대의 성능을 위한 로직 병렬화 작업
• 독립된 연산을 막는 의존성문제
• 예) 입자연산의 경우, 입자간의 상호의존성

• 동...
데이터 충돌 방지를 위한 기법들

• 쓰기 연산이 같은 노드에 사용되는 것 방지
• 원자적 (atomic) 연산 -> 연산의 직렬화 -> 느림
• Graph Coloring을 통한 패스의 생성
• 각각의 패스에서는 완전...
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...
컨볼루션— 게임의 경우

카메라 초점효과 (Depth of field)

In focus

©

Halo 3 Bungie Studios
컨볼루션— 게임의 경우
뽀사시 효과 (Film bloom)

과도한 빛이
광원주위로
산란되는 현상

©

Crysis Crytek GmbH
CONVOLUTION — 게임의 경우

반투명한 피부질감 렌더링 (Subsurface scattering)

불투명한 오브젝트의
경우

반투명한 물체의 내부
광원 산란효과

Jimenez 2008
Used In Sama...
컨볼루션 — 수퍼컴퓨팅의 경우

지질탐사 (유정위치 탐색등)에서 사용되는 Reverse Time Migration
파동시뮬레이션의 정확도를 돕이기 위해 가변량계산시 convolution사용

Petroleum Geo S...
게임연산과 수퍼컴퓨팅의 공통분모 두번째

• 수많은 독립된 연산사용 ( 수백만 ~ 수억개)
• 컨볼루션 연산시 픽셀위치에 가까운 픽셀들 데이터 사용
• 게임의 경우 – 텍스쳐 캐쉬를 이용한 성능향상

• 일반연산의 경우...
3 편미분 방정식 (PARTIAL DIFFERENTIAL
EQUATIONS, PDEs)
유체역학에서의 편미분방정식 계산

속도

압력
게임에서의 유체효과를 위한 물리연산
수퍼컴퓨터에서의 유체역학

기상예측, 제품 디자인, 공기역학설계 등

On the Development of a High-Order, Multi-GPU Enabled, Compressible
Viscous Flow So...
게임연산과 수퍼컴퓨팅의 공통분모 세번째
• 수많은 독립된 연산사용 ( 수백만 ~ 수억개)
• 수학연산 등 높은 계산량 (FLOPS) 이 필요한 분야에 사용
• 게임

• 정해진 시간안에 최대한의 효과
• 속도 > 정확도...
4. 푸리에 변환 (FFT)

+
=

+
FFT — 게임의 경우

렌즈 플레어 등의 후처리 효과

HDRI 등에서 발생하는
고휘도 픽셀입력값

FFT

Frequent
주파수 영역 이미지
Domain
(Frequency Domain
Image )
Image

...
©

3D Mark 11 Futuremark
©

3D Mark 11 Futuremark
©

3D Mark 11 Futuremark
FFT — 게임의 경우
파도 시뮬레이션

NVIDIA Ocean Demo
FFT — 수퍼컴퓨팅의 경우
난류 시뮬레이션 (Turbulence simulation), 단백질 합성, 분자동역학, 영상처리, 암호학
게임연산과 수퍼컴퓨팅의 공통분모 네번째
• 자주사용되는 핵심 기술 (FFT, 선형대수등)에 대한
라이브러리들 존재
• 게임
• 주로 게임용 개발환경인 DirectX/Direct Compute사용
• 게임엔진및 독립적인 ...
수퍼컴퓨팅과 게임응용분야간의 근본적인 유사성
메모리연산에 의한 병목의 경우들 (메모리 사용량 > 계산량)

Gaming

HPC

Ambient occlusion

Sparse Matrix vector multiply
수퍼컴퓨팅과 게임응용분야간의 근본적인 유사성
수학연산에 의한 병목의 경우들 (계산량 > 메모리 사용량)

©

Team Fortress 2 Valve

Gaming

복잡한 광원효과 계산

AMBER를 사용한 혈액 응집...
게임연산과 수퍼컴퓨팅의 공통분모 마지막

• 병렬처리 성능의 소프트웨어적인 개선 방법

• 병목을 찾아라
• 메모리 병목 (bandwidth bound) vs 계산 병목 (compute
bound)?
• 하드웨어에 대한...
GPU Computing – Game On!
Growth of GPU Computing
100M

430M

CUDA –Capable GPUs

CUDA-Capable GPUs

150K

1.6M

CUDA Downloads

CUDA Downloads

50
...
2008 Supercomputing Exhibit Floor
2012 Supercomputing Exhibit Floor
ADVANCING HEALTHCARE

The Chinese Academy of Sciences used
a GPU-powered supercomputer to
model a complete H1N1 virus for ...
ENHANCING FINANCE

With NVIDIA Tesla GPUs, J.P Morgan
.
achieved a 40x speedup of its risk
calculations.
MEDICAL BREAKTHROUGHS

GPUs enable doctors to perform beating
heart surgery with robotic arms that predict
and adjust for ...
정보 검색
Tweets Per Day
500

Millions

400

500M

300

Tweets
200

1M
Expressions

100

<5

0

Minutes
2007

2008

2009

2010...
오디오 검색
SHAZAM
300M

300M

User Queries (per month)

200M

100M

0

2008

2009

2010

2011

2012

2013
패턴 검색
게임 효과의 미래?

현재

가까운 미래
수퍼컴퓨팅의 미래?

현재

미래에는?
수퍼컴퓨팅의 또다른 미래?

현재

미래?
Mobile GPUs are coming

Relative Graphics Horsepower

300X

Mobile
Kepler
8800 GTX

200X

PS3
100X

iPad 4

iPhone 4

Gala...
Gesture

Augmented Reality

Beautification

Speech Recognition

Facial Recognition

모바일 수퍼컴퓨터?
http://nvidiakoreapsc.com
Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계
Upcoming SlideShare
Loading in …5
×

of

Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 1 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 2 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 3 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 4 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 5 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 6 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 7 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 8 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 9 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 10 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 11 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 12 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 13 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 14 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 15 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 16 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 17 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 18 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 19 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 20 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 21 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 22 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 23 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 24 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 25 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 26 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 27 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 28 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 29 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 30 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 31 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 32 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 33 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 34 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 35 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 36 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 37 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 38 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 39 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 40 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 41 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 42 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 43 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 44 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 45 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 46 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 47 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 48 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 49 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 50 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 51 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 52 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 53 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 54 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 55 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 56 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 57 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 58 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 59 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 60 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 61 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 62 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 63 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 64 Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계 Slide 65
Upcoming SlideShare
Logging 101
Next

4 Likes

Share

Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계

그래픽작업과 게임을 위해 발전해온 그래픽 프로세서 (GPU)는 최근에 수퍼컴퓨터에 없어서는 안될 핵심 요소로 자리 잡고 있습니다.
CUDA등의 범용 개발툴은 거의 모든 종류의 프로그래밍문제에 다양한 방식으로 적용되고 있습니다.
그런데 게임기술개발과 HPC 프로그래밍은 과연 정말 전혀 다른 영역일까요?
이 세션에서는 GPU를 활용한 속도 최적화를 위해 병렬처리와 관련한 알고리즘 적인 접근방식이 게임이나 그래픽과 수퍼컴퓨터에서 사용되는 기술간에 어떤 유사성이 있는지에 대해 논의 합니다.
또 게임개발에서 습득한 여러 GPU 기술들이 다른 문제들에 어떻게 적용, 확장될수 있는지도 설명합니다.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Deview2013 - 게임기술과 수퍼컴퓨팅의 공생관계

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

    Oct. 7, 2016
  • kihanchoi

    Jun. 30, 2014
  • jaehryu

    Oct. 18, 2013
  • RinjaeYoo

    Oct. 18, 2013

그래픽작업과 게임을 위해 발전해온 그래픽 프로세서 (GPU)는 최근에 수퍼컴퓨터에 없어서는 안될 핵심 요소로 자리 잡고 있습니다. CUDA등의 범용 개발툴은 거의 모든 종류의 프로그래밍문제에 다양한 방식으로 적용되고 있습니다. 그런데 게임기술개발과 HPC 프로그래밍은 과연 정말 전혀 다른 영역일까요? 이 세션에서는 GPU를 활용한 속도 최적화를 위해 병렬처리와 관련한 알고리즘 적인 접근방식이 게임이나 그래픽과 수퍼컴퓨터에서 사용되는 기술간에 어떤 유사성이 있는지에 대해 논의 합니다. 또 게임개발에서 습득한 여러 GPU 기술들이 다른 문제들에 어떻게 적용, 확장될수 있는지도 설명합니다.

Views

Total views

2,348

On Slideshare

0

From embeds

0

Number of embeds

763

Actions

Downloads

0

Shares

0

Comments

0

Likes

4

×