Steered response power phase transform(SRP-PHAT)은 음원 방향 추정을 위해 널리 사용되는 알고리즘이다. SRP-PHAT는 매우 많은 수의 후보 좌표를 조사해야만 하므로 기존 SRP-PHAT들은 실시간에 실행되지 못할 수도 있었다. 이 문제를 극복하기 위해, SRP-PHAT를 graphics processing units(GPUs) 기반으로 병렬화하는 시도가 있었다. 그러나, 그 방법들은 on-chip 메모리를 모두 쓰지 못하여 GPUs의 최대 연산 능력을 활용할 수 없었다. 이 발표에서 우리는 SRP-PHAT의 GPU 기반 병렬 알고리즘들을 주파수 영역과 시간 영역의 두 버전으로 제안한다. 제안된 알고리즘들은 SRP-PHAT의 메모리 접근 패턴을 최적화하고 on-chip 메모리를 공격적으로 사용한다. 결과적으로 제안된 방법들은 CPU 기반 알고리즘들에 비해 주파수 영역에서 1,276 배 그리고 시간 영역에서 80 배의 속도 향상을, 그리고 기존 GPU 기반 알고리즘들에 비해 주파수 영역에서 1.5 배 그리고 시간 영역에서 6 배의 속도 향상을 보였다.
Steered response power phase transform(SRP-PHAT)은 음원 방향 추정을 위해 널리 사용되는 알고리즘이다. SRP-PHAT는 매우 많은 수의 후보 좌표를 조사해야만 하므로 기존 SRP-PHAT들은 실시간에 실행되지 못할 수도 있었다. 이 문제를 극복하기 위해, SRP-PHAT를 graphics processing units(GPUs) 기반으로 병렬화하는 시도가 있었다. 그러나, 그 방법들은 on-chip 메모리를 모두 쓰지 못하여 GPUs의 최대 연산 능력을 활용할 수 없었다. 이 발표에서 우리는 SRP-PHAT의 GPU 기반 병렬 알고리즘들을 주파수 영역과 시간 영역의 두 버전으로 제안한다. 제안된 알고리즘들은 SRP-PHAT의 메모리 접근 패턴을 최적화하고 on-chip 메모리를 공격적으로 사용한다. 결과적으로 제안된 방법들은 CPU 기반 알고리즘들에 비해 주파수 영역에서 1,276 배 그리고 시간 영역에서 80 배의 속도 향상을, 그리고 기존 GPU 기반 알고리즘들에 비해 주파수 영역에서 1.5 배 그리고 시간 영역에서 6 배의 속도 향상을 보였다.
How to Become a Thought Leader in Your NicheLeslie Samuel
Are bloggers thought leaders? Here are some tips on how you can become one. Provide great value, put awesome content out there on a regular basis, and help others.
How to Become a Thought Leader in Your NicheLeslie Samuel
Are bloggers thought leaders? Here are some tips on how you can become one. Provide great value, put awesome content out there on a regular basis, and help others.
20. Material 별로 정리 후 정렬.
( 같은 Material 별로 그룹화 )
For( Material 그룹화 개수 만큼 )
Material 바인딩.
for( 그룹내 오브젝트 개수 만큼 )
행렬세팅()
버퍼 바인딩()
그리기 명령()
21. 투명한 오브젝트와 불투명한 오브젝트로 분류. ( 투명 그룹, 불투명 그룹 )
For ( 각 투명 그룹에 대하여 )
알파 관련 셋팅
각각에 대해서 Material 별로 정리
Material 별로 정리 후 정렬.
( 같은 Material 별로 그룹화 )
For( Material 그룹화 개수 만큼 )
Material 바인딩.
for( 그룹내 오브젝트 개수 만큼 )
행렬세팅()
버퍼 바인딩()
그리기 명령()
22. 되도록 많은 것을 하나의 버퍼로 묶어라.
복수의 Stream 에 연결하라~
반드시 Strip 화 시켜라.
26. 시스템에서 목적으로 하는 효과를 얻기 위해
본질적인 것은 아니지만 요구되는 작동,
또는 그 때문에 필요한 자원.
필연적인 것!!!
27.
28. DrawIndexedPrimitive()
GPU 에게 n개의 폴리곤을 렌더링을 명령하는 작업.
같은 State들을 가지는 삼각형들의 묶음
Batch를 렌더링 하기 위해서는
반드시 State 들이 먼저 설정되어야 한다.
State가 변경되면, 최소 2개의 Batch가 필요.
34. 선행 처리가 필요.( Strip 기반의 버퍼 최적화 )
버퍼를 셋팅.
투명한 오브젝트와 불투명한 오브젝트로 분류. ( 투명 그룹, 불투명 그룹 )
For ( 각 투명 그룹에 대하여 )
알파 관련 셋팅
각각에 대해서 Material 별로 정리 및 정렬
( 같은 Material 별로 그룹화 )
For( Material 그룹화 개수 만큼 )
Material 바인딩.
for( 그룹내 오브젝트 개수 만큼 )
행렬세팅()
그리기 명령()