KR100915329B1 - 그래픽 프로세서의 범용 계산을 위한 성능 테스트 방법 - Google Patents

그래픽 프로세서의 범용 계산을 위한 성능 테스트 방법

Info

Publication number
KR100915329B1
KR100915329B1 KR1020070081862A KR20070081862A KR100915329B1 KR 100915329 B1 KR100915329 B1 KR 100915329B1 KR 1020070081862 A KR1020070081862 A KR 1020070081862A KR 20070081862 A KR20070081862 A KR 20070081862A KR 100915329 B1 KR100915329 B1 KR 100915329B1
Authority
KR
South Korea
Prior art keywords
performance
graphics processor
testing
patch
calculation
Prior art date
Application number
KR1020070081862A
Other languages
English (en)
Other versions
KR20080050545A (ko
Inventor
김영희
구본기
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20080050545A publication Critical patent/KR20080050545A/ko
Application granted granted Critical
Publication of KR100915329B1 publication Critical patent/KR100915329B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing

Abstract

본 발명은 그래픽 프로세서(Graphics Processing Unit, GPU)를 범용 계산에 활용하는 방법에서 다양한 프로세서에서 최대의 성능을 내는 소프트웨어를 개발하는 방법을 개시한다. 본 발명의 방법은 텍스쳐와 픽셀 버퍼에 따른 데이터 패치 성능을 테스트하는 단계와, 계산영역 모양에 따라 성능을 테스트하는 단계, 그래픽 카드 드라이버 버전에 따른 성능을 테스트하는 단계, 해당 그래픽 프로세서가 계산 제한적인지 대역폭 제한적인지 판별하는 단계, 상기 성능평가 결과에 기반하여 그래픽 프로세서 적응적 알고리즘을 개발하는 단계로 구성된다. 따라서 픽셀 쉐이더의 성능에 영향을 미치는 요소들을 찾아 내어 다른 특성을 가진 그래픽 프로세서를 대상으로 성능 평가 결과를 제공함으로써 픽셀 쉐이더를 이용한 범용 계산에서 최대의 성능을 내기 위한 방법을 제공할 수 있다.

Description

그래픽 프로세서의 범용 계산을 위한 성능 테스트 방법{METHOD FOR TESTING GRAPHICS PROCESSING UNIT PERFORMANCE FOR GENERAL-PURPOSE COMPUTATION}
본 발명은 그래픽 프로세서를 위한 소프트웨어 개발 기술에 관한 것으로, 더욱 상세하게는 그래픽 프로세서(GPU:Graphics Processing Unit)를 범용 계산에 활용한 소프트웨어 개발에 있어서 사용자의 그래픽 프로세서의 성능을 테스트하여 테스트된 성능을 기반으로 하여 최고의 성능을 발휘할 수 있는 알고리즘을 적절하게 사용할 수 있도록 하는 그래픽 프로세서의 범용 계산을 위한 성능 테스트 방법에 관한 것이다. 특히, 본 발명의 주 초점은 그래픽 프로세스 장치의 픽셀 쉐이더(pixel shader)에 있지만 버텍스 쉐이더(vertex shader) 및 그래픽 프로세서의 다른 장치에도 본 발명과 동일한 방법을 적용할 수 있다.
최근들어, 그래픽 프로세서(GPU)가 고기능화되면서 프로그래밍이 가능해지고 32 비트(bit) 부동 소수점(floating-point) 계산이 가능해졌다. 또한 상당한 메모리 대역폭과 산술 연산 능력을 가지게 되면서 그래픽 프로세서(GPU)는 범용 계산을 위한 자원으로 여겨지고 있다. 더욱이 그래픽 프로세서(GPU)는 엄청난 속도로 발전하고 있어서 새로운 그래픽 카드의 출시까지 걸리는 기간이 상당히 짧다. 예컨대, 몇 년전에 64MB 그래픽 메모리를 가진 그래픽 카드로 출발했으나 지금은 512MB 메모리를 가진 그래픽 카드 2개를 병렬로 사용하는 SLI 기술이 사용되고 있다. 앞으로 더욱 실험적인 그래픽 프로세서(GPU)들이 개발될 것이고, 이들은 각기 다양한 특성을 지니게 될 것이다. 더불어 사용자의 GPU 환경은 더욱 다양화될 것이다.
각 그래픽 프로세서(GPU) 벤더는 새로운 그래픽 프로세서가 출시될 때마다 그래픽 프로세서의 성능 및 특징에 관한 자료를 발표하고 있다. 이 성능 평가는 그래픽 프로세서의 전체적인 성능평가로써 범용 계산에 적용했을 때 정확하게 일치되는 것은 아니다. 학계에서는 그래픽 프로세서의 일반적인 성능에 대한 내용이 발표되고 있으나 세부적인 계산 방법론이 발표되고 있지 않거나 특정 GPU에 국한되어 성능 평가가 이루어지고 있다.
따라서 그래픽 프로세서로 범용 연산을 수행하기 위한 소프트웨어가 이러한 자료를 바탕으로 개발이 이루어진다면 사용자의 다양한 그래픽 프로세서 환경에서 예상치 못한 나쁜 결과를 초래하거나 또는 특정 그래픽 프로세서가 장착된 환경에서만 사용 가능한 소프트웨어가 될 수 있다. 이와 같이 그래픽 프로세서를 범용 계산에 사용한다는 것은 계산 집약적인 작업으로써 상당한 처리 시간을 필요로 한다는 것을 의미하므로 처리 시간을 최적화할 수 있는 소프트웨어 개발방법이 필요하다.
본 발명은 상기와 같은 필요성을 충족시키기 위해 제안된 것으로, 본 발명의 목적은 그래픽 프로세서의 범용 계산 능력을 이용한 소프트웨어 개발에 있어서 사용자의 그래픽 프로세서에 적응적인 소프트웨어를 개발할 수 있도록 그래픽 프로세서의 범용 계산을 위한 성능 테스트 방법을 제공하는 것이다.
상기와 같은 목적을 달성하기 위하여 본 발명의 방법은, 그래픽 프로세서를 범용계산에 이용하기 위한 소프트웨어 개발방법에 있어서, 텍스쳐와 픽셀 버퍼에 따른 데이터 패치 성능을 테스트하는 단계; 계산영역 모양에 따라 성능을 테스트하는 단계; 그래픽 카드 드라이버 버전에 따른 성능을 테스트하는 단계; 해당 그래픽 프로세서가 계산 제한적인지 대역폭 제한적인지 판별하는 단계; 및 상기 각 성능 평가 결과에 기반하여 해당 그래픽 프로세서에 적응적인 알고리즘을 개발하는 단계를 구비한 것을 특징으로 한다.
상기 데이터 패치 성능을 테스트하는 단계는 데이터 형식이나 실수형식에 따른 패치 성능을 테스트하는 것이고, 상기 데이터 형식은 텍스쳐가 가지는 칼라 또는 채널의 종류를 나타내고, 실수는 16비트와 32비트로 구분되는 것을 특징으로 한다.
이상에서 상술한 바와 같이, 본 발명의 성능 테스트 방법에 의해 드러난 그래픽 프로세서의 성능 차이는 다음의 효과가 있다. 첫째, 그래픽 프로세서를 범용 계산에 활용하는 소프트웨어 개발시 다양한 프로세서의 특징을 고려한 소프트웨어 개발의 필요성을 각인시킨다. 둘째, 픽셀 쉐이더뿐만 아니라 그래픽 프로세서내의 다른 연산장치에 대해서도 동일한 테스트 및 결과 적용이 필요함을 보여준다. 셋째, 다양한 프로세서에서 수행가능한 소프트웨어를 개발할 수 있다. 넷째, 다양한 프로세서에서 최대의 성능을 내는 소프트웨어를 개발할 수 있다. 다섯째, 본 발명은 그래픽 프로세서를 범용 계산에 활용하는 소프트웨어 개발시 다양한 특징을 지닌 프로세서에서 최대의 성능을 내는 소프트웨어 개발에 유용하게 사용될 수 있다.
도 1은 일반적인 그래픽 프로세서의 구성 블럭도,
도 2는 본 발명에 따른 그래픽 프로세서의 성능 테스트 절차를 도시한 순서도,
도 3a는 본 발명에 따라 타입 A가 1024 x 1024 영역의 32비트 실수 데이터 패치에 필요한 시간을 도시한 그래프,
도 3b는 본 발명에 따라 타입 A가 1024 x 1024 영역의 16비트 실수 데이터 패치에 필요한 시간을 도시한 그래프,
도 4a는 본 발명에 따라 타입 B가 1024 x 1024 영역의 32비트 실수 데이터 패치에 필요한 시간을 도시한 그래프,
도 4b는 본 발명에 따라 타입 B가 1024 x 1024 영역의 16비트 실수 데이터 패치에 필요한 시간을 도시한 그래프,
도 5는 본 발명에 따라 타입 A가 1024 x 1024 x 4의 데이터를 패치하는데 필요한 시간을 도시한 그래프,
도 6은 본 발명에 따라 타입 B가 1024 x 1024 x 4의 데이터를 패치하는데 필요한 시간을 도시한 그래프,
도 7은 본 발명에 따라 타입 A의 계산 영역 모양에 따른 패치 성능을 나타낸 그래프,
도 8은 본 발명에 따라 타입 B의 계산 영역 모양에 따른 패치 성능을 나타낸 그래프,
도 9는 본 발명에 따라 타입 A의 데이터 패치 시간과 산술 연산 시간과의 관계를 나타낸 예,
도 10은 본 발명에 따라 타입 B의 데이터 패치 시간과 산술 연산 시간과의 관계를 나타낸 예.
*도면의 주요부분에 대한 부호의 설명
10: CPU 20: 메모리
30: 그래픽 카드 31: GPU
32: 버텍스 쉐이더 33: 픽셀 쉐이더
40: 모니터
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.
도 1은 일반적인 그래픽 프로세서의 구성 블럭도이고, 도 2는 본 발명에 따른 그래픽 프로세서의 성능 테스트절차를 도시한 순서도이다.
도 1을 참조하면, 컴퓨터에는 CPU(10)와 메인 메모리(20) 등이 구비됨과 아울러 그래픽 프로세서(GPU:31)와 비디오메모리(38)가 탑재된 그래픽카드(30)가 실장되어 있다. CPU(10)와 그래픽 프로세서(31)는 버스를 통해 연결되며, 그래픽 카드(30)에 탑재된 그래픽 프로세서(31)는 버텍스 쉐이더(32)와 픽셀 쉐이더(34)와 같은 연산수단들이 구현되어 있고, 비디오 메모리(38)에 저장된 비디오 데이터들을 고속 연산하여 모니터(40)를 통해 다양한 영상을 디스플레이할 수 있도록 한다. 그래픽 카드(30)는 통상 그래픽 카드 드라이버와 함께 컴퓨터 본체에 탑재되며 드라이버는 업그레이드 가능하도록 되어 있다.
이러한 그래픽 카드(30)는 매우 다양한 종류와 모델이 있으나 본 발명의 실시예에서는 결과를 이해하기 쉽도록 하기 위하여 그래픽 프로세서의 대표적인 두 벤더의 대표적인 그래픽 프로세서를 평가 대상으로 한다. 즉, NVIDIA사의 Geforce 6800(256MB)과 ATI사의 Radeon X850(256MB)을 예로 들어 설명한다. 이하에서 NVIDIA사의 Geforce 6800을 "타입 A"로, ATI사의 Radeon X850을 "타입 B"로 칭한다. 특히, 본 발명의 실시예에서는 그래픽 프로세서(30)에서 범용 계산의 기능을 담당할 수 있는 픽셀 쉐이더(pixel shader)와 버텍스 쉐이더(vertex shader) 중에서 픽셀 쉐이더(pixel shader)의 성능에 영향을 미치는 주요 요소들의 테스트를 예로 들어 설명한다.
본 발명의 실시예에 따라 픽셀 쉐이더(pixel shader)의 성능에 영향을 미치는 주요 요소들을 테스트하는 절차는 도 2에 도시된 바와 같이, 텍스쳐 패치 성능 테스트 단계(S1)와, 계산영역 모양의 성능 테스트 단계(S2), 그래픽 카드 드라이버 버전에 따른 성능 테스트 단계(S3), 계산 제한적인지 메모리 제한적인지 판별하는 단계(S4), 성능 평가 결과에 기반하여 특정 그래픽 프로세서에 적응적인 알고리즘을 개발하는 단계(S5)로 구성된다.
(1) 텍스쳐 패치(texture fetch) 성능 테스트 단계(S1)
다음 표 1은 실수 형식의 다양한 채널을 가지는 텍스쳐에 대해서 내부적으로 지원되는 데이터 형식을 보여준다. 데이터 형식 R, RG, RGB, RGBA는 텍스쳐가 가지는 칼라 또는 채널의 종류를 나타낸다. 실수(float)는 내부적으로 16 비트와 32 비트로 표현될 수 있다. 타입 A는 내부적으로 32 비트 실수 1개와 4개를 가지는 형식과 16 비트 실수 4개를 가지는 형식을 지원한다. 16 비트 실수 2개에 대해서는 32 비트 실수 1개의 형식을 취한다. 타입 B는 32 비트 실수 4개를 가지는 형식과 16 비트 실수 4개를 가지는 형식을 지원한다. 예를 들어, 타입 A에서 32 비트 실수 형식의 RG 칼라의 텍스쳐를 사용한다면 내부적으로는 32 비트 실수 4개를 가진 데이터 형식이 사용됨을 의미한다.
도 3은 본 발명에 따라 타입 A가 1024 x 1024 영역의 데이터 패치에 필요한 시간을 도시한 그래프로서, 3a는 32비트 실수의 경우이고 3b는 16비트 실수의 경우이다.
도 3a 및 도 3b를 참조하면, Y축은 시간을 나타내고, X축은 데이터 형식(R, RG, RGB, RGBA)을 나타내며, 도시된 막대 그래프는 데이터 형식(R, RG, RGB, RGBA)에 따른 패치시간을 나타낸다.
도 4는 본 발명에 따라 타입 B가 1024 x 1024 영역의 데이터 패치에 필요한 시간을 도시한 그래프로서, 4a는 32비트 실수의 경우이고 4b는 16비트 실수의 경우이다.
도 4a 및 도 4b를 참조하면, Y축은 시간을 나타내고, X축은 데이터 형식(R, RG, RGB, RGBA)을 나타내며, 도시된 막대 그래프는 데이터 형식(R, RG, RGB, RGBA)에 따른 패치시간을 나타낸다.
도 5는 본 발명에 따라 타입 A가 1024 x 1024 x 4의 데이터를 패치하는데 필요한 시간을 도시한 그래프이고, 도 6은 본 발명에 따라 타입 A가 1024 x 1024 x 4의 데이터를 패치하는데 필요한 시간을 도시한 그래프이다.
도 3 내지 도 6의 그래프를 참조하면, 타입 A와 타입 B는 상당히 다른 성능을 보여주는 것을 알 수 있다. 즉, 도 3과 도 4에서 타입 B는 채널 수에 상관없이 비슷한 패치 시간이 소요되지만, 타입 A는 채널 및 실수 형식에 따라서 패치 시간의 차이를 보여준다. 그리고 도 5 및 도 6은 동일한 데이터 양을 패치하는데 필요한 시간을 나타낸다. 도 5 및 도 6에서 보라색 챠트는 32 비트 실수 형식의 텍스쳐에서의 패치 시간을 나타내고, 자주색 챠트는 16 비트 실수 형식의 텍스쳐에서의 패치 시간을 나타낸다.
이와 같은 테스트 결과로부터 두 타입에서 최고의 성능을 내는 경우는 다음표 2와 같다.
타입A의 경우 타입B의 경우
32 비트 실수 형식의 텍스쳐를 사용하는 경우는 하나의 채널(R)을 가진 텍스쳐에서 최대의 성능을 낸다. 16 비트 실수 형식의 텍스쳐를 사용하는 경우는 두개의 채널(RG)을 가진 텍스쳐에서 최대의 성능을 낸다. 16 비트와 32 비트 실수 형식의 텍스쳐를 사용하는 두 경우 모두 네개의 채널(RGBA)을 가진 텍스쳐에서 최대의 성능을 낸다.
타입 A의 경우, 32 비트 실수 형식의 텍스쳐를 사용하는 경우는 하나의 채널(R)을 가진 텍스쳐에서 최대의 성능을 낸다. 16 비트 실수 형식의 텍스쳐를 사용하는 경우는 두개의 채널(RG)을 가진 텍스쳐에서 최대의 성능을 낸다.
또한 타입 B의 경우, 16 비트와 32 비트 실수 형식의 텍스쳐를 사용하는 두 경우 모두 네개의 채널(RGBA)을 가진 텍스쳐에서 최대의 성능을 낸다.
이러한 성능 평가에 기반하여 그래픽 프로세서를 범용 계산에 사용하여야 그래픽 프로세서를 범용 계산에 사용하는 목적을 달성할 수 있을 것이다.
(2) 계산 영역 모양의 성능 테스트(S2)
일반적으로 동일한 크기의 영역을 계산할 때 사각 영역으로 처리하는 것이 가장 좋은 성능을 보이고, 선 형태로의 계산이 성능을 저하시키는 것으로 알려져 있다. 그러나 때로는 구현되는 알고리즘에 따라 선 형태의 계산영역이 사용된다.
도 7은 본 발명에 따라 타입 A의 계산 영역 모양에 따른 패치 성능을 나타낸 그래프이고, 도 8은 본 발명에 따라 타입 B의 계산 영역 모양에 따른 패치 성능을 나타낸 그래프이다.
도 7과 도 8을 참조하면, 도시된 막대 그래프는 동일한 영역을 사각 영역, 가로 선, 세로 선으로 계산을 실시했을 때 패치 시간을 보여준다. 텍스쳐에서 데이터를 패치하는 경우와 픽셀 버퍼(pixel buffer)에서 데이터를 패치하는 경우에도 성능에서 차이가 있다. 도면에서 (T)는 텍스쳐에서 데이터 패치함을, (P)는 픽셀 버퍼에서 데이터를 패치함을 나타낸다.
텍스쳐 패치(texture fetch) 성능 테스트 단계(S1)의 테스트에서 처럼 사각 영역을 계산영역으로 할 때는 텍스쳐와 픽셀 버퍼에서 데이터를 패치하는 시간에 큰 차이를 보이지 않는다. 그러나 위의 결과가 보여 주듯이 계산 영역이 가로 선, 세로 선 형태일 때는 큰 차이를 보여준다. 세로 선 계산 영역이 대체로 패치 성능이 나쁘다.
타입 B는 전체적으로 균일한 결과를 보여준다. 사각 영역과 가로 선 형태의 패치 시간은 큰 차이를 보이지 않고, 세로 선 형태의 경우는 4배 가량의 배치 시간이 소요됨을 보여준다. 이 결과에서 주목할 점은 도 7에서 4개 채널 텍스쳐의 경우 세로 선이 사각 영역에 비해 20배 가량 패치 시간이 소요된 반면, 픽셀 버퍼의 경우 2배 이하의 패치 성능을 나타낸다는 것이다. 즉, 타입 A의 그래픽 프로세서를 가진 사용자의 환경에서는 4개 채널을 가진 텍스쳐가 사용되는 경우라면 절대로 세로 선 형태의 계산 영역은 사용하여서는 안될 것이다. 대신에 계산 영역을 90도 회전하여 가로 선 형태의 계산으로 바꾸어야 할 것이다. 이러한 성능 평가 없이 소프트웨어가 개발되고 사용된다면 그래픽 프로세서의 장점을 백분 발휘할 수 없을 것이다.
(3) 그래픽 카드의 드라이버의 버전에 따른 성능 테스트 단계(S3)
사용자의 컴퓨터에 항상 최신의 드라이버가 설치되어 있다고 또는 특정 드라이버가 설치되어있다고 보장할 수 없다. 따라서 드라이버 버전에 따른 성능 테스트로 드라이버 버전에 대한 경고를 주어야 한다. 때로는 드라이버 버전의 업데이트가 어려운 경우를 고려하여 사용자의 드라이버 버전에서 최고의 성능을 낼 수 있도록 소프트웨어가 작동하도록 설계하는 것이 필요하다.
다음은 타입 A의 GPU가 장착된 그래픽 카드의 드라이버 버전에 따른 성능 차이의 한 예를 보여준다. 다음 표 3과 표 4는 CTT(Copy To Texture) 수행에 필요한 시간을 측정한 결과이다. 다음 표 3은 드라이버 버전 77.72에서 다양한 영역에 대해서 CTT 수행 시간을 나타낸 표이다.
다음 표 4는 드라이버 버전 66.93 에서 다양한 영역에 대해서 CTT 수행 시간을 나타낸 표이다.
상기 표 3 및 표 4로 알 수 있는 것은 CTT는 항상 내부적으로 지원되는 데이터 형식에 대해서만 수행되어야 성능을 발휘할 수 있는 그래픽 프로세서가 있다는 것과 드라이버 버전에 따라 성능에 큰 차이를 가져올 수 있다는 것이다.
(4) 계산 제한적(compute-limited) vs. 메모리 대역포 제한적(memory bandwidth limited) 판별단계(S4)
그래픽 프로세서를 이용한 범용 계산에서 이슈가 되고 있는 것 중 하나는 알고리즘을 그래픽 프로세서로 수행할 때, 산술 계산에 소요되는 시간이 전체 처리 시간을 좌우하는 '계산 제한적'인지 아니면 데이터를 패치하는데 소요되는 시간이 전체 계산 시간을 결정하는 '메모리 대역폭 제한적'인지를 결정하는 것이다. 다음 도 9와 도 10은 타입 A, B의 그래픽 프로세서 벤더들이 발표한 결과로서, 도 9는 타입 A의 데이터 패치 시간과 산술 연산 시간과의 관계를 나타낸 예이고, 도 10은 타입 B의 데이터 패치 시간과 산술 연산 시간과의 관계를 나타낸 예이다.
도 9 및 도 10을 참조하면, 두 타입이 다른 성능을 보인다. 타입 A의 경우 3개의 데이터 패치 시간이 3ms 로서 산술연산 15개를 수행하는 시간과 같다. 따라서 3개의 데이터 패치가 있으면 15개의 산술 연산은 실제 처리 시간에 영향을 미치지 않는다는 것이다. 이 균형을 잘 조절해서 그래픽 프로세서로 수행하는 알고리즘을 개발한다면 최대의 성능을 낼 수 있다. 타입 B는 산술연산 20개는 데이터 패치 하는 시간에 의해 실제 수행시간에는 영향을 주지 않는다. 타입 B의 경우는 데이터를 최대한 적게 패치하고 계산을 많이 수행할 때 최대의 효과를 보일 것이다. 이처럼 각 그래픽 프로세서는 성능면에서 다양한 특징을 나타낸다.

Claims (5)

  1. 그래픽 프로세서를 범용계산에 이용하기 위한 소프트웨어 개발방법에 있어서,
    텍스쳐와 픽셀 버퍼에 따른 데이터 패치 성능을 테스트하는 단계;
    계산영역 모양에 따라 성능을 테스트하는 단계;
    그래픽 카드 드라이버 버전에 따른 성능을 테스트하는 단계; 및
    해당 그래픽 프로세서가 계산 제한적인지 대역폭 제한적인지 판별하는 단계를 구비한 것을 특징으로 하는 그래픽 프로세서의 범용 계산을 위한 성능 테스트 방법.
  2. 제1항에 있어서, 상기 데이터 패치 성능을 테스트하는 단계는
    데이터 형식이나 실수형식에 따른 패치 성능을 테스트하는 것으로서,
    상기 데이터 형식(R, RG, RGB, RGBA)은 텍스쳐가 가지는 칼라 또는 채널의 종류를 나타내고, 상기 실수(float)는 내부적으로 16 비트와 32 비트로 표현될 수 있는 것을 특징으로 하는 그래픽 프로세서의 범용 계산을 위한 성능 테스트 방법.
  3. 제1항에 있어서, 상기 계산영역 모양에 따라 성능을 테스트하는 단계는
    동일한 영역을 사각 영역, 가로 선, 세로 선으로 계산을 실시했을 때 패치 시간을 측정하는 것을 특징으로 하는 그래픽 프로세서의 범용 계산을 위한 성능 테스트 방법.
  4. 제1항에 있어서, 상기 계산 제한적인지 대역폭 제한적인지 판별하는 단계는
    그래픽 프로세서를 이용한 범용 계산에서 알고리즘을 그래픽 프로세서로 수행할 때, 산술 계산에 소요되는 시간이 전체 처리 시간을 좌우하는 경우를 '계산 제한적'으로 하고, 데이터를 패치하는데 소요되는 시간이 전체 계산 시간을 결정하는 경우를 '메모리 대역폭 제한적'으로 결정하는 것을 특징으로 하는 그래픽 프로세서의 범용 계산을 위한 성능 테스트 방법.
  5. 제1항에 있어서, 상기 테스트는 픽셀 쉐이더나 버텍스 쉐이더 중 어느 하나의 성능을 테스트하는 것을 특징으로 하는 그래픽 프로세서의 범용 계산을 위한 성능 테스트 방법.
KR1020070081862A 2006-12-02 2007-08-14 그래픽 프로세서의 범용 계산을 위한 성능 테스트 방법 KR100915329B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20060121086 2006-12-02
KR1020060121086 2006-12-02

Publications (2)

Publication Number Publication Date
KR20080050545A KR20080050545A (ko) 2008-06-09
KR100915329B1 true KR100915329B1 (ko) 2009-09-03

Family

ID=39805824

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070081862A KR100915329B1 (ko) 2006-12-02 2007-08-14 그래픽 프로세서의 범용 계산을 위한 성능 테스트 방법

Country Status (1)

Country Link
KR (1) KR100915329B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013062956A1 (en) * 2011-10-26 2013-05-02 Google Inc. Automatically testing a program executable on a graphics card
US8842124B2 (en) 2011-10-26 2014-09-23 Google Inc. Declarative interface for developing test cases for graphics programs

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101325817B1 (ko) 2010-01-14 2013-11-05 실버레이 주식회사 도전성 직조물, 그 제조방법 및 제조장치
CN104932976A (zh) * 2015-06-03 2015-09-23 浪潮电子信息产业股份有限公司 一种自动化测试PCIEx16性能的实现方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050056124A (ko) * 2003-12-09 2005-06-14 마이크로소프트 코포레이션 그래픽 처리 유닛을 사용해 기계 학습 기술들의 처리를가속화하고 최적화하는 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050056124A (ko) * 2003-12-09 2005-06-14 마이크로소프트 코포레이션 그래픽 처리 유닛을 사용해 기계 학습 기술들의 처리를가속화하고 최적화하는 시스템 및 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013062956A1 (en) * 2011-10-26 2013-05-02 Google Inc. Automatically testing a program executable on a graphics card
US8842124B2 (en) 2011-10-26 2014-09-23 Google Inc. Declarative interface for developing test cases for graphics programs
US8842125B2 (en) 2011-10-26 2014-09-23 Google Inc. Automatically testing compatibility between a graphics card and a graphics program
US8842123B2 (en) 2011-10-26 2014-09-23 Google Inc. Automatically testing a program executable on a graphics card
US8847966B2 (en) 2011-10-26 2014-09-30 Google Inc. Event logging mechanism for a program executing on a graphics card

Also Published As

Publication number Publication date
KR20080050545A (ko) 2008-06-09

Similar Documents

Publication Publication Date Title
US7403208B1 (en) Generation of jittered sub-pixel samples using programmable sub-pixel offsets
US7570266B1 (en) Multiple data buffers for processing graphics data
US7423644B2 (en) Method and apparatus for dual pass adaptive tessellation
EP2849154B1 (en) Adaptive multi-frequency shading
US7684641B1 (en) Inside testing for paths using a derivative mask
US8547382B2 (en) Video graphics system and method of pixel data compression
US7576751B2 (en) Pixel center position displacement
US10121276B2 (en) Infinite resolution textures
US20040075654A1 (en) 3-D digital image processor and method for visibility processing for use in the same
US7528843B1 (en) Dynamic texture fetch cancellation
KR100703709B1 (ko) 그래픽스 처리장치와 처리방법, 및 그 기록 매체
US20090125854A1 (en) Automated generation of theoretical performance analysis based upon workload and design configuration
EP1771824A2 (en) Graphics processing system and method
US7038678B2 (en) Dependent texture shadow antialiasing
EP3353746B1 (en) Dynamically switching between late depth testing and conservative depth testing
US7466318B1 (en) Avoiding unnecessary uncovered texture fetches
US7782334B1 (en) Pixel shader-based data array resizing
US20190080504A1 (en) Graphics processing
US9905037B2 (en) System, method, and computer program product for rejecting small primitives
KR100915329B1 (ko) 그래픽 프로세서의 범용 계산을 위한 성능 테스트 방법
US7466322B1 (en) Clipping graphics primitives to the w=0 plane
TWI769138B (zh) 圖形處理之方法、流水線電路以及計算機程序
US8558833B1 (en) System and method for symmetric parameterization of independently tessellated patches
US10417736B2 (en) Graphics processing unit and method of controlling cache bypass thereof
US7830386B1 (en) Register transfer level simulation using a graphics processor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee