지포스 GTX 280과 지포스 GTX 260의 자세한 소개입니다.
글의 용량과 길이가 엄청나기 때문에 로딩에 시간이 오래 걸립니다. 절대로 컴퓨터가 다운됐다거나 서버가 맛이 간게 아닙니다.
출처는
http://watch.impress.co.jp/,
http://www.hkepc.com,
http://www.expreview.com,
http://www.pcpop.com 에서 필요한 부분을 발췌하여 편집했습니다.
NVIDIA가 새로운 고급형 GPU 지포스 GTX 200(GT200) 시리즈를 미국 시간 2008년 6월 16일에 정식 발표했습니다. 2세대 통합 쉐이더 아키텍처를 계승하여 현재 최강의 3D 그래픽 성능 외에도 병렬 연산 최적화를 통해 범용 컴퓨팅 가속이 강화되었다는 것이 특징입니다. 이것은 Two Personlities, One GPU. 하나의 제품으로 2가지 역할을 한다는 계획입니다.
GT200 아키텍처 최대의 특징은 싱글 프리시전에서 1테라플롭스의 부동 소수점 연산이 가능하다는 것입니다.
GT200의 개요
신구 제품의 비교
GeForce GTX 260의 개요
GT200은 G8x/9x(지포스 8/9)의 아키텍처를 이어받아 발전시킨 제품으로서 G80의 성능과 기능을 확장시킨 제품이 GT200이라 할 수 있겠습니다. G8x/9x는 그래픽 시장 뿐만 아니라 범용 컴퓨팅 시장에서도 보급이 되고 있는데, NVIDIA는 GT200을 통해 그 속도를 가속화하려는 계획입니다.
G8x/G9x에서의 범용 컴퓨팅을 위한 새 프로그래밍 모델인 CUDA(Compute Unified Device Architecture)를 도입했었던 NVIDIA는 GT200에 맞춰 CUDA도 2.0으로 버전업, 멀티코어 CPU와 CUDA 모델의 적용을 지원하게 됐습니다
CUDA 2.0의 로드맵
G8x 아키텍처의 코드네임은 '테슬라'로 그 코드네임을 GPU 컴퓨팅 제품의 브랜드로 사용하였습니다. 이번 코드네임은 GT200은 GeForce/Tesla 2nd Generation를 의미합니다. G8x/9x를 GT100으로 계산해서 나온 것이지요.
G80 아키텍처의 이름이 테슬라라는 것은 NVIDIA가 IEEE Micro지에 실었던 논문인 NVIDIA Tesla: A Unified Graphics and Computing Architecture(IEEE Micro March April 2008(Vol. 28, No. 2))에서 공개된 것이며, 지난 4월 16~18일에 일본 요코하마에서 열렀던 CoolChips XI에서 GPU 컴퓨팅 관련 강연을 했던 University of Virginia Dept. of Computer Science LAVA Lab/NVIDIA Research의 Kevin Skadron씨도 G8x 아키텍처를 테슬라 아키텍처라고 불렀던 적이 있습니다.
이번 제품부터 NVIDIA는 제품 명명 방식을 수정했습니다. 그 규칙은 다음과 같습니다.
GeForce GTX= Enthusiast
GeForce GT= High-end performance
GeForce GS= Mid-range performance (불확실)
GeForce G= Entry (내장 그래픽과 겸용)
여기에 3자리 숫자를 붙이는데 이들 숫자는 중복되지 않습니다. 지포스 GTX 280을 예로 든다면 2세대 통합 아키텍처에 해당하는 고급형 제품이라는 의미입니다.
GTX= 260~290
GT= 230~250
GS= 210~220
G= 201~209
이번 발표와 동시에 출시된 지포스 GTX 280은 공식 가격 649$, 6월 26일에 출시되는 지포스 GTX 260은 399~449$ 정도라고 합니다.
간단한 스펙 비교.
GT200은 500 기가플롭스 급이었던 G80/92(지포스 8800/9800)세대부터 연산 성능을 2배 가까이 향상하기 위해 내부 구조를 개선하여 스트리밍 프로세서의 수를 기존의 128개에서 1.875배 늘어난 240개를 내장, 쉐이더 프로세서/텍스처 유닛/ROP의 비율을 128:64:24에서 240:80:32로 고쳤습니다.
GT200와 G80의 비교
240개의 스트림 프로세서가 탑재
쉐이더 클럭은 하이엔드 그래픽카드인 지포스 GTX 280이 1297Mhz이고 1U 랙 마운트 서버용인 테슬라 S1070이 1500MHz로 기존 제품과 다르진 않지만, 기존에 ASIC 로직을 사용한데 비해 GT200은 고성능 커스텀 로직을 사용하여 클럭을 향상할 여지가 있다고 합니다.
NVIDIA는 GT200에서 레지스터 수를 배르 늘리거나 데이터 엑세스의 고속화 등을 통해 GPU 컴퓨팅을 위한 기능을 충실하게 확장하면서 GPU 컴퓨팅의 성능이 2배 이상이 되어, 쉐이더 프로세싱이 무거워진 최신 3D 그래픽의 성능도 큰폭으로 향상되었습니다.
또한 지금까지 지원하지 않았던 더블 프리시전 64비트 부동 소수점 연산도 지원합니다. 그래픽 처리에서는 싱글 프리시전 32비트 부동 소수점 연산까지 사용하기 때문에 전통적인 GPU에서는 64비트를 지원하지 않았는데, GT200에서 더블 프리시전 FPU를 30개 탑재하면서 GPU에서 커버할 수 없었던 어플리케이션도 지원하게 되었습니다. 이것은 GPU 컴퓨팅 쪽에서 요청되었던 요구사항 중에 하나라는군요.
다만 테슬라 T10P에서도 더블 프리시전 부동 소수점 연산 성능은 90기가플롭스 수준으로 싱글 프리시전의 1/12 정도 되는 성능입니다. 여전히 싱글 프리시전에 최적화된 프로세서인것은 변함이 없다고 할 수 있겠습니다.
그래픽 처리에서는 AMD에 비해 약세였던 지오메트리 쉐이더의 성능을 대폭 개선하였고 ROP의 브렌딩 처리가 향상되었습니다. 전체적으로 봤을때 그래픽에 특화한 개선점은 크지 않과 처리 성능의 확장이 대부분입니다. 다이렉트 X 10에서 쉐이더 프로세싱에 편중된 처리를 개량하여 컴퓨팅 성능 뿐만 아니라 그래픽 성능도 향상시킨다는 것입니다.
프로세서의 확장에 비해 메모리 부분의 개선은 그리 크진 않습니다. 메모리 인터페이스는 384비트에서 512비트로 확장되며 지원하는 메모리는 GDDR3/GDRR2로 같습니다. GDDR3 메모리의 최고 속도가 2214Mt/s이기 때문에 메모리 대역폭은 지포스 8800GTX의 86.4GB/sec(1,800Mt/sec)에서 대폭 늘어난 141.7GB/sec가 되지만, 아키텍처만 놓고 보면 1.33배 정도입니다. 내부 버스도 메모리 확장 비율에 맞춰서 늘어난 것으로 보이는데 ROP도 1.33배 늘어났고 텍스처 유닛도 64개에서 80개가 되었습니다.
G80의 128:64:24에서 GT200의 240:80:32로의 발전 과정을 보면 메모리 인터페이스와 메모리에 의존하는 ROP/텍스처 유닛은 1.25~1.33배가 늘어난 반면, 프로세서는 1.88배가 늘어난 것으로, 전반적으로 프로세서의 개선에 편중되었음을 알 수 있습니다. 메모리 대역폭을 더 늘리기는 어렵지만 프로세서의 확장은 상대적으로 쉬운 편인 현재 상황에서 비롯된 것이라 할 수 있겠습니다.
G80/G92의 스트림 프로세서는 1사이클에 한번의 정수 명령이나 부동 소수점을 연산할 수 있습니다. 128개의 스트림 프로세서가 있다면 1사이클에 최대 128개의 명령어를 처리할 수 있다는 말이 되겠는데, G80/G92에는 Dual Issue 설계를 추가하여 MADD(Multiply-ADD) 연산을 실행했을때에 동시에 다른 MUL(Multiply) 연산을 할 수 있습니다.
GT200은 이 Dual Issue를 개선하여 스트림 프로세서의 MAD Unit이 MUL이나 ADD를 처리하는 동시에 SFU Unit이 똑같은 클럭의 다른 MUL을 사용할 수 있도록 하였습니다. 덕분에 그 효율은 G80/G92보다 최고 93~94% 정도 상승하게 됩니다. 이런 Dual Issue 설계를 충분히 발휘하기 위해 Register Allocation, Instruction Scheduling, Instruction Issue 등을 개선하였습니다.
GT200와 G80프로세서의 구성 비교
G80에서는 8개의 TPC를 내장하여 64개의 Texture Filtering Unit/32개의 Texture Addressing Unit이 장착되었기에 한번에 64개의 픽셀의 Texture Filtering , 32개 픽셀의 Texture Addressing, 32개 픽셀의 Anisotropic bilinear Filtering를(비등방성 필터링) 처리하거나, 32개의 8 Bit integer(정수), 16 Bit Floating Point(부동소수점)의 bilinear-Filtered Pixels를 처리할 수 있었습니다. G92에서는 Texture Addressing Unit를 64개로 늘려 Texture Addressing과 8 Bit integer의的 bilinear-Filtered Pixels 처리 능력이 64개까지 상승하였습니다.
GT200에서는 80개의 Texture Filtering Unit과 Texture Addressing Unit을 사용하여 80개 Pixels의 Texture Filtering, 80개 Pixels의 Texture Addressing, 80개 8 Bit Integer Bilinear-Filtered Pixels, 40개 Pixels의 Anisotropic Bilinear Filtering 이나 40개 16 Bit Floating Point의 bilinear-Filtered Pixels을 처리할 수 있습니다.
그 밖에도 더 효율적인 스케쥴러를 사용하여 불필요한 레이턴시를 줄였는데, G92와 비교하여 GT200의 텍스쳐 유닛 효율은 22%가 상승하였다고 합니다.
ROP는 24개에서 32개로 늘어나면서 고해상도와 안티 에얼라이어싱의 처리 성능이 개선되었는데, 1 프레임에 32개의 Pixels(4 pixel per POR Partition x 8 Partition)을 처리할 수 있으며, 각각의 ROP Partition은 8x MSAA 모드에서 최고 32개의 컬러와 Z 샘플을 지원합니다. 각각의 ROP에는 2개의 Z/스텐실 연산 유닛이 있기에 1 사이클에는 최고 64개의 스텐실 쉐도우 연산이 가능합니다.
또한 고해상도에서의 Z-Culling 성능을 개선하기 위해 ZROP 유닛의 수를 늘려 Early-Z 컨트롤 성능을 높여, 최고 ZROP cull rate는 256 Sample/clock 이나 32 pixels/clock에 달합니다.
호스트 버스인 PCI 익스프레스는 2.0, 비디오 처리 프로세서가 VP2를 사용한다는 것은 G92와 같습니다.
G80/G92에서 성능을 대폭 강화하다보니 GT200의 크기는 엄청나게 커졌습니다. TSMC 65나노미터 CMOS 제조 공정으로 제작하였으며 트랜지스터 수는 14억개, 다이 사이즈는 600 평방밀리미터가 되었는데, 이는 90나노 공정 G80이 6억8100만개의 트랜지스터와 470 평방밀리미터였던 것과 비교하면 상당한 편화입니다. 이는 TSMC에서 지금까지 만든 칩 중에서 제일 큰 것이며, 현재 제조 공정에서 가능한 칩 크기의 한계에 가까운 수준이라고 합니다. 작은 칩 여러개를 쓴다는 AMD와는 대조적인 움직임입니다.
GT200의 웨이퍼
GT200의 다이 사진
인텔 펜린이 왜소하게 보일 정도의 지포스 GTX 280
아래의 그림은 GT200의 구조도입니다. G80 아키텍처 구조도를 기본으로 하여 확장된 부분이나 논문/프리젠테이션에 실린 내용을 추가한 것이기 때문에 일부 부분은 확실하지 않습니다.
GT200의 구조도
G80의 구조도
NVIDIA에서 공식 발표한 구조도는 간단한 내용 정도가 고작입니다.
지포스 GTX 200 아키텍처
GPU 컴퓨팅과 그래픽 모드에 따라 유닛의 사용 방식에 차이가 나게 됩니다.
그래픽 처리
GPU 컴퓨팅(병렬 컴퓨팅)
하드웨어
Thread Scheduler, Atomic 메모리 처리 유닛, 각각의 SM에 있는 Local Memory등은 기존의 통합 쉐이더 아키텍처에서 볼 수 없던 것입니다. 하드웨어 Thread Scheduler는 코어의 SP 사용율을 조절해주어 최대한의 성능을 낼 수 있게 해줍니다. 기존 통합 쉐이더 아키텍처에서는 파이프라인 과정 중에 메모리에 읽기/쓰기를 할 때에는 반드시 SP가 읽기/쓰기 동작이 끝날 때까지 기다리고 나서야 다른 명령을 실행할 수 있었지만, GT200에서 하드웨어 Thread Scheduler를 추가한 다음에는 파이프라인 과정 중에 메모리 읽기/쓰기를 기다려야 하는 상황이 발생하면 Thread Scheduler가 다른 작업을 실행하도록 만들어 SP의 사용 효율을 높였습니다.
8개의 Atomic 메모리 처리 유닛은 메모리의 미세한 읽기/고치기/쓰기 동작을 실행할 수 있으며, 메모리에 저장된 자료를 모듈화 처리하여 병렬 계산에서 더 효율적인 관리가 가능합니다.
기존에는 각각의 TPCs에 L1 캐시가 할당되어 TPC 내부의 SM이 데이터를 공유할 수 있어 외부 메모리를 사용하는 빈도를 줄여 그 효율을 향상시켰습니다. GT200에서는 병렬 연산의 메모리 읽기/쓰기 성능을 강화하기 위해 각각의 SM에 로컬 메모리를 내장하여 병렬 연산의 효율을 대폭 상승시켰습니다. 이것은 원래 텍스처용으로 쓰던 텍스처 캐시를 병렬 연산에서 고속 메모리 캐시로 사용하는 것입니다.
여기서 알 수 있는 것은 NVIDIA가 GT200에서 GPU의 Streaming Processor Array (SPA) 구성을 수정했다는 것입니다. NVIDIA의 G8x 이후 GPU는 모두 싱글 프리시전 부동 소수점 연산/정수 연산 스칼라 프로세서인 Streaming Processor를 기본 단위로 하고 있습니다. 8개의 SP와 주변 유닛을 1개의 Streaming Multiprocessor로 묶어서 관리하는데, 기존의 G8x/9x에서는 2개의 SMD과 1개의 텍스처유닛이 TPC(Texture/Processor Cluster)를 구성, 각각의 TPC는 16개의 SP와 8개의 Texture Filtering Processor를 내장하였습니다. G80은 8개의 TPC를 내장하여 총 128개의 SP가 장착된 것입니다.
GT200에서도 8개의 SP와 1개의 SM라는 점은 같지만 TPC의 SM은 2개에서 3개로 늘어났고 전체의 TPC 수도 8개에서 10개로 늘어나면서 총 SP 수가 240개로 늘어났습니다.
NVIDIA가 TPC의 수를 늘리지 않고 TPC 안의 SM을 늘린 것은 텍스쳐와 컨퓨테이션의 비율을 바꿔 메머리 엑세스를 줄이고 프로세서 내부의 연산 비율을 높이기 위해서인 것으로 보입니다.
TPC의 구성을 바꾼 또 다른 이유라면 내부 버스의 복잡도 증가를 억제하기 위해서가 아닌가 추측됩니다. NVIDIA의 아키텍처에서는 각각의 TPC가 메모리 파티션과 크로스바 형식으로 접속되어 내부 회로가 상당히 복잡합니다. GPU 업계 기술자들은 GPU의 설계에서 제일 어려운 것이 크로스바라고 보고 있는데, AMD는 그것 때문에 링버스 방식을 사용하고 있지만 NVIDIA는 링버스의 오버헤드를 기피하기 때문에 크로스바를 계속하여 사용중입니다.
링버스에서는 내부 버스에 접속하는 노드를 늘리는 것이 비교적 쉽지만 크로스바에서는 복잡도를 억제해야 하기 때문에 노드를 늘리는 것이 어렵습니다. 때문에 NVIDIA가 TPC를 15개로 늘린게 아니라 10개로 만든 것으로 보입니다.
GT200에서는 8개의 64비트 대역을 조합하여 512비트 메모리 버스를 사용하고 있습니다. 기존에는 Indexed Primitive Fetches를 실행할때 Front End와 Data Assembler가 Memory Crossbar의 컨트롤을 서로 사용하려고 충돌이 일어나는 경우가 생기면서 불필요한 레이턴시가 발생하였지만 이번에는 이런 증상을 개선하였습니다.
또한 프레임버퍼 비디오 메모리의 용량을 1GB로 늘렸습니다. 현재 3D 게임들은 대량의 다양한 텍스처를 사용하는데, 여기에는 노말 맵을 통한 표면 질감과 큐브맵을 통한 반사 효과, 고해상도 Perspective Shadow를 통한 Soft Shadows 효과 등이 포함됩니다. 이것은 3D 게임들이 앞으로 더 많은 프레임버퍼를 필요로 한다는 것이며, 따라서 프레임버퍼의 대용량화는 필수라고 할 수 있겠습니다. 특히 안티 에얼라이싱 같은 필터가 들어간다면 그 필요는 더욱 증가하겠지요.
지금까지의 GPU는 비교적 긴 쉐이더 명령을 처리할때 로컬 레지스터 용량을 다 사용해버리면 외부 메모리에 잠시 저장해야만 했고, 때문에 여기서 큰 레이턴시가 발생할 수밖에 없었습니다. GT200에서는 비교적 긴 쉐이더 명령을 실행할때 더 효율적으로 처리할 수 있게 되었는데, 그것은 GT200의 로컬 레지스터가 G80/G92의 배로 늘어났기 때문입니다.
NVIDIA는 로컬 레지스터의 용량이 GT200의 다이 사이즈와 비교하면 소폭 증가한 것이지만 그 성능은 쉐이더 실행 효율이 큰 도움을 준다고 주장하고 있습니다. 위 그래프는 1x와 2x 로컬 레지스터 용량 비교로서, 3D마크 벤티지에서 상당한 성능 차이를 보여주고 있습니다.
다른 방면에서 GT200은 Internal Output Buffer 의 용량을 늘렸습니다. G80/G92의 6배에 달하는데, 이를 통해 더 높은 Geometry Shadering과 Stream Out 효율을 보여주게 됐습니다. 동시에 Post-Transform Cache의 용량을 늘려서 Geometry와 Vertex Stage 간의 레이턴시를 줄이게 됐습니다.
NVIDIA의 통합 쉐이더는 2가지 다른 연산 방식을 지원합니다. 그 중에 TPCs에 맞춰 명령을 실행하는 것을 Multiple instruction, multiple data (MIMD)라 하고 다른 하나는 직접 SM에게 명령을 실행하도록 하는 Single instruction, multiple thread (SIMT)입니다.
SIMT 연산 모드는 순수한 SIMD(Single instruction, multiple data) 방식의 실행 효율을 대폭 개선하였을 뿐만 아니라 프로그래밍이 더 쉬워졌습니다. SIMT는 전통적인 SIMD에서 정해줘야 하는 vector 너비가 필요하지 않기 때문에 모든 코어는 Vector의 크기에 구애받지 않고 작동하게 됩니다.
전통적인 SIMT 모드의 데이터가 MIMD와 SIMD의 너비보다 작다면 실행 용량이 줄어들기 때문에 SIMT 모드에서는 어떤 상황이건 최대 실행 효율을 유지할 수 있습니다.
각각의 SIMT 멀티 스레드는 32개의 병렬 스레드를 지원하는데 이것을 warp라고 합니다. GT200의 SM은 32개의 warps를 지원, 총 1024개의 스레드가 되니까 동시에 1204 x 3 x 10 = 30720개의 스레드를 처리할 수 있습니다. G80/G92에서는 23개의 warps가 있어 768개니까 768 x 2 x 8 = 12280개의 스레드를 처리할 수 있었습니다.
아래는 개략적인 다이 레이아웃입니다.
지포스 GTX 280 GPU의 레이아웃
G80의 다이 레이아웃
heterogeneous computing의 개념은 이렇습니다. 컴퓨터에서 주로 사용하는 프로세서, CPU나 GPU에서 프로그램을 통해 더 높은 연산 성능을 얻자는 것인데, 일반적으로 CPU는 분기 처리와 메모리 엑세스 부분에서 뛰어나며 직렬 방식의 작업에 매우 우수합니다. 다른 쪽에서 GPU의 특수한 코어 설계는 대량의 부동 소수점 병행 연산에서 뛰어난 성능을 보여줍니다. 컴퓨터 성능을 100% 끌어낸다면 CPU와 GPU가 같이 자신의 특장 분야에서 작동해야 되겠지요. 간단하게 말해서, heterogeneous computing은 적당한 도구를 적당한 장소에 배치하여 사용한다 정도 되겠습니다.
그렇다면 어떤 프로그램이 직렬로 작동하고 어떤 프로그램이 병렬 연산으로 작동할까요. 사실 극소수의 프로그램만이 순수하게 직렬 혹은 병렬 방식을 사용하며, 대부분의 프로그램은 두가지 방법을 같이 사용하고 있습니다. 에디터, 워드, 브라우저, 이메일 등이 전형적인 직렬 방식의 프로그램이고, 멀티미디어, 영상/그림 처리, 과학 연산, 가상 물리 처리, 3D 처리(광선 추적 등)이 전형적인 병렬 처리 프로그램입니다.
CUDA는 업계 최초의 병렬 연산 프로그래밍 언어로서 어느 정도 보급이 이루어져 있습니다. 현재 7천만명의 PC 유저들이 프로그램을 사용할 수 있지요(이건 지포스 8/9 그래픽카드의 수를 이야기하는듯).
CUDA(Compute Unified Device Architecture)는 GPU를 사용하여 각종 방면의 복잡한 계산을 해결하자는 취지로 만들어졌습니다. 이것은 완전한 GPGPU 방식으로서 하드웨어의 직접 엑세스를 제공하기 때문에 전통적인 방식처럼 API를 통해 GPU를 사용할 필요가 없습니다. 이 아키텍처에는 새로운 계산 시스템 구조를 통해 GPU가 제공하는 하드웨어 리소스를 사용할 수 있는데, CPU보다 더 강력한 대규모의 데이터 계산 처리 능력을 응용할 수 있게 됩니다. CUDA는 C언어를 통해 프로그래밍하여 대량의 고성능 계산 명령 개발 환경을 제공해주며, 개발자가 GPU의 강대한 계산 능력을 기초로 하여 효율이 높은 밀집형 데이터를 처리할 수 있도록 해줍니다.
GPGPU를 사용하는 그래픽 API, 다이렉트 X나 오픈 GL에서 이런 연산을 진행한다면 프로그래머는 대령의 그래픽 API 하드웨어와 관련된 기술을 알아야 하며, 프로그래밍 구조에도 데이터 입/출력과 스레드 처리에 제한이 있을 수밖에 없습니다. 병렬 연산 프로그램이 매우 복잡해지기 때문에 CPU와 같이 공동 작업을 하기에는 문제가 생기게 되며, 일부 간단한 데스크탑 프로그램의 경우 공동 작업에 적당하지 않은 구조로 만들어져 있기에, 대량의 CPU를 사용할때에는 프로그램과 작동 방식이 매우 복잡해지는 일이 있습니다.
CUDA는 이런 처리 과정의 장애를 제거하였습니다. CUDA를 사용하여 만든 프로그램은 실제로는 여전히 직렬 방식의 프로그램입니다.
현재 PhysX 물리 가속을 사용하는 게임은 150개 정도가 있으며, 만명이 넘는 개발자들이 이를 사용하고 있습니다.
올해 2월에 NVIDIA가 Ageia를 인수하면서 PhysX 물리 가속은 NVIDIA CUDA를 통해 사용하게 됐습니다.
현재 드라이버에서는 PhysX를 지원하진 않지만 몇주 안으로 드라이버가 공개되면 지포스 8/9/GTX200 시리즈 그래픽카드 유저들이 물리 가속을 사용할 수 있게 될 것입니다.
SLI 구성에서 그래픽은 첫번째 그래픽카드가, 물리 가속은 두번째 그래픽카드가 담당하는 식으로 진행할 수 있습니다.
NVIDIA는 하복 물리 엔진을 지원하고 있긴 하지만 앞으로 어떻게 될지는 모를 일입니다.
하복은 인텔에 인수되었고, ATI의 물리 가속 데모에는 하복 로고가 들어갈 정도니까요 -_-a
NVIDIA는 CUDA를 통해
Folding@home의 지원을 추가한다고 발표했습니다. 지포스 GTX 280의 성능은 570ns/day인데 실제로 마지막에 연산되는 결과는 620ns/day 정도라고 합니다. 쿼드코어 CPU는 4ns/day, 라데온 HD 3870은 170ns/day입니다.
Badaboom은 CUDA를 통한 GPU 계산 응용 프로그램의 또다른 예입니다. 이것은 CUDA를 통해 개발한 컨버팅 프로그램으로서 MPEG2 동영상을 아이팟이나 아이폰에서 사용하는 H.264 비디오 포멧으로 바꿔줍니다. 328MB의 MPEG2 파일을 17.4MB의 아이폰용 MP4 파일(640x365)로 바꾸는데 겨우 37분 정도가 걸립니다. 지포스 GTX 280의 처리 효율은 80~100FPS 정도입니다.
만약 Wondershare iPhone Video Converter를 사용하여 코어 2 쿼드 QX9650에서 똑같은 작업을 한다면 107s, 지포스 GTX 280의 세배 정도 시간이 걸리게 됩니다.
CT 촬영에서 CUDA를 통해 개발한 프로그램을 사용하면 GPU로 CPU를 대신하여 데이터를 처리할 수 있습니다. 원래대로라면 대량의 CPU가 처리해야 했던 계산을 4개의 GPUY로 간단하게 처리가 가능한데 그 속도는 20배 정도 빠릅니다.
지리 정보 시스템(Geographic Information System. GIS)에서 CUDA를 사용하면 10~50배 정도의 속도 향상이 있습니다.
생명 공학 분야에서 CUDA를 사용하면 원래 2시간이 걸리던 작업을 10분으로 줄일 수 있습니다. 12배의 성능 향상 효과가 있습니다. 이를 사용하면 더 빠른 신약 개발이 가능할 것입니다.
전통적인 CAD 분야에서도 CUDA를 사용할 수 있습니다.
Matlab에서 코어 2 듀오 2.4GHz와 지포스 8800GTX의 성능 비교입니다. GPU가 17배 정도 빠릅니다.
지포스 GTX 200 GPU의 목표는 게임 그 너머, 그리고 다음 세대의 게임. 이렇게 2가지입니다. 높은 게임 성능과 게임 이외의 다른 용도를 지원한다는 것이라 할 수 있겠습니다.
서브머신건 한자루를 들고 크라이시스의 에일리언을 때려잡는 NVIDIA의 황회장님. (...뭥미?)
전체적인 모습입니다.
크기 비교. 라데온 HD 3870X2, 지포스 9800GTX, 지포스 9800GX2, 지포스 GTX 280.
공기 흡입구.
쿨러 옆에 써진 지포스 GTX 280의 각종 로고들입니다.
앞쪽에도 공기 흡입구가 있습니다.
쿨링 팬 크기는 70mm.
보조전원과 S/PDIF 포트가 있습니다.
SLI 커넥터는 이렇게 가려져 있습니다.
덮게를 벗겨내면 SLI 커넥터가 있습니다.
앞면입니다.
뒷면입니다.
쿨러는 이렇게 분리합니다.
카드, 쿨러, 케이스로 구성되어 있습니다.
쭉 펴보면 이렇습니다.
주요 구성 부분은 이렇습니다.
기판 뒷면에는 절연 처리가 되어 있습니다.
지포스 GTX 280에는 LED가 장착되어 있습니다. 하지만 지포스 GTX 260에는 없습니다.
DVI 포트에도 차폐가 되어 있습니다.
쿨러를 들어낸 기판 사진입니다. 사용 기판은 P651 레퍼런스.
지포스 GTX280의 G200-300-A2 GPU.
NVIO2 출력 칩입니다. 듀얼포트 듀얼링크 DVI와 7핀 HDTV 출력을 지원합니다. NVIO1과의 차이점이라면 10비트 컬러의 지원.
기능이 비록 많긴 하지만 90나노 공정이라서 칩이 더 커 보이기도 합니다.
이렇게 보면 더 커 보이는군요.
디스플레이포트 회로 자리가 비어 있습니다. 여기에 디스플레이포트 트랜스미터 칩을 장착하면 디스플레이포트 출력이 가능합니다. 하지만 NVIDIA는 아직 디스플레이포트의 보급이 되지 않았다고 판단하여 칩을 넣진 않았습니다.
하이닉스 H5R85223CTR N2C 810A 0.8ns 16M x 32 GDDR3 메모리입니다.
뒷면입니다. 뒤에도 메모리가 장착되어 있습니다. 앞뒤 합쳐서 16개의 GDDR3 메모리입니다.
3웨이 SLI를 지원합니다.
8+6핀 보조전원. 하이브리드파워를 쓰면 전력 소모량이 좀 줄어들겠지요.
7페이즈 전원부. 최고 236W를 소모합니다.
지포스 GTX 280과 지포스 9800GTX의 전원부 비교입니다.
VT1165SF와 VT238AWF는 모스펫과 드라이버 회로가 내장되어 있습니다.
VT1165MF 컨트롤 칩은 최고 6페이즈 전원부를 지원합니다. 여기서는 5개의 페이즈를 담당합니다.
VT238AWF에서는 2페이즈를 담당합니다. 따라서 5+2 페이즈.
연두색이 메모리 전원부, 빨간색이 코어 전원부, 주황색이 +12V 필터, 노란색이 코어 컨트롤 칩입니다.
DVI-HDMI 형식으로 HDMI 출력을 지원합니다.
쿨러마스터에서 생산한 TM71 쿨러입니다.
쿨러 자체는 지포스 9800 GTX와 그리 많은 차이점이 없는 것처럼 보입니다.
구리 히트파이프.
히트파이프의 수를 가지고도 여기서는 4개라고 하고 저기서는 8개라고 하고 가지가지입니다.
히트파이프를 방열판에 용접했습니다.
GPU, 전원부 부품 7개, 메모리 8개, 그리고 NVIO2.
서멀 그리스가 발라져 있습니다.
케이스 뒷면 판도 8개의 메모리를 쿨링하게 됩니다.
80 x 20 mm 팬입니다.
제조사는 Protechnic. NVIDIA 레퍼런스 쿨러에 자주 쓰이는 팬입니다.
12V 0.48A.
2900rpm 26~38dBA 팬입니다.
이번에는 지포스 GTX 260입니다. 보는 김에 같이 보도록 하겠습니다.
지포스 GTX 260. 이렇게 보면 280하고 다른 점을 찾기 힘듭니다.
첫번째 차이점. 6핀 보조전원 2개입니다.
기판입니다.
G200-100-A2 코어입니다.
지포스 GTX 260의 전원부입니다.
지포스 GTX 260은 3+2 페이즈, 3개는 VT1195SF, 2개는 VT238AWF에서 담당합니다. 지포스 GTX 280의 5+2 페이즈와는 차이가 있습니다. 세라믹 캐패시터의 수가 상당히 줄어든 것을 볼 수 있습니다.
왼쪽 제일 아래에 메모리 자리가 하나 비어있습니다.
뒷면에도 오른쪽 제일 아래의 메모리 자리가 비어있습니다.
하이닉스의 H5RS5223CFR, 1.0ns GDDR3 메모리입니다.
지포스 GTX 260의 바이오스 버전은 62.00.0E.00.03입니다. 지포스 GTX 280은 62.00.0E.00.01로 제일 마지막 숫자 한개가 다릅니다.
지포스 GTX 260과 280의 쿨러는 크게 차이가 없습니다.
벤치마크 환경은 코어 2 익스트림 QX9770 3.2GHz, 아수스 X48(싱글 카드), 아수스 790i(SLI 테스트), 커세어 도미네이터 DDR2-800(4-4-4-12) 4GB 듀얼채널, 시게이트 250GB 16MB SATA, 커세어 1000W 파워, 윈도우즈 비스타 울티메이트 32비트 SP1, 다이렉트 X 10.1, 포스웨어 177.26, 카탈리스트 8.6
지포스 GTX 280 1GB (600/1300/2200MHz)
지포스 GTX 260 896MB (575/1242/2000MHz)
지포스 9800 GX2 1GB (600/1500/1800MHz)
지포스 9800 GTX 512MB (675/1688/2200MHz)
지포스 8800 Ultra 768MB (612/1500/2160MHz)
지포스 8800 GTX 768MB (575/1350/1800MHz)
라데온 HD 3870 X2 1GB (825/825/1800MHz)
3D마크06입니다. 비록 이제는 한물 간 프로그램이 되었지만 그래도 아직은 다이렉트 X 9.0c의 전형적인 테스트입니다.
3D마크06의 쉐이더 모델 3.0 테스트는 GPU 쉐이더 성능에 심각하게 의존하고 있습니다. 지포스 GTX 280과 260의 쉐이더 클럭은 G80 이후로 제일 낮은 편이라서 여기서는 9800GX2나 3870X2한테 밀리고 있습니다.
최신 테스트 프로그램인 3D마크 밴티지입니다. 다이렉트 X 10 테스트 프로그램으로서 그 악명을 떨치고 있습니다.
여기서는 고급형 그래픽카드답게 익스트림과 하이의 두가지를 선택해서 테스트했습니다.
여기서 지포스 GTX 280은 현존 최강자의 면모를 그대로 보여주고 있습니다. 지포스 GTX 260도 이전 세대의 듀얼 GPU 카드인 지포스 9800GX2와 막상막하인 성능을 보여주고 있으며 라데온 HD 3870X2와 거리를 벌려놓고 있습니다. 지포스 9800이나 8800가 큰 폭으로 뒤떨어지는 원인은 메모리 용량과 대역폭의 차이로 보여집니다.(8800GTX 768MB가 9800GTX 512MB보다 성능이 더 높습니다)
레이스 드라이버: 그리드입니다.
울트라로 설정한 후에 해상도를 고해상도로 올려서 1스테이지의 평균 프레임을 측정했습니다.
지포스 GTX 280과 지포스 GTX 260의 성능은 엄청납니다. 고해상도에서 4xAA가 걸려도 다른 제품보다 프레임 하락이 그리 크지 않습니다. ...그보다는 오히려 G80 아키텍처 하이엔드의 저력이 보이긴 하지만. 라데온 HD 3870X2는 아무리 봐도 드라이버 문제가 있습니다.
콜 오브 듀티 4입니다.
최고 옵션을 주고 고정된 폭발 장면에서 fps를 측정했습니다.
지포스 9800GX2가 방대한 메모리 용량과 대역폭으로 지포스 GTX 280과 GTX 260을 앞서고 있습니다. 하지만 지포스 GTX 280과 260이 싱글 GPU 방식이라는 것과 콜 오브 듀티 4의 스펙이 그리 높지 않다건 감안해야 되겠지요.
에이지 오브 엠파이어 3 아시안 다이너스티입니다.
최고 옵션으로 설정하여 프레임을 측정했습니다.
콜 오브 듀티 4와 비슷한 결과입니다. 역시 게임 자체의 스펙이 그리 높지 않다는 것이 제일 큰 원인일 것입니다.
하프 라이프 2 에피소드 2입니다.
최고 옵션으로 설정하여 프레임을 측정했습니다.
HDR와 AA를 동시에 사용하기 때문에 메모리 대역폭에 의존하는 정도가 클 수밖에 없습니다. 따라서 여기서도 메모리 성능에 따라서 성능이 나온다고 할 수 있겠지요.
니드 포 스피드 프로 스트리트입니다.
게임에서 지원하는 최고 옵션이 1920x1200 해상도에 4xAA 16xAF인지라 테스트는 한번만 했습니다.
레이싱 게임은 픽셀 쉐이더에 편중되어 쉐이더의 부하가 매우 큽니다. 지포스 9800GX2는 듀얼 CPU라는 이유로 제외해서 보면, 9800 GTX가 8800 울트라보다 앞서는 것에서 쉐이더 아키텍처의 변화가 가져다 준 효율이 어느 정도인지를 알 수 있겠습니다.
언리얼 토너먼트 3입니다.
역시 최고옵션. 4xAA에 최고 해상도 2개에서 테스트를 했습니다.
9800GX2는 1920x1200에서 GTX 260을 앞서지만 2560x1600 해상도에서는 역전됩니다. 여기서 GTX 280은 꽤 격차를 벌리고 있습니다.
크라이시스입니다.
1920x1200 해상도에서 Very High와 High 옵션으로 테스트하여 평균 fps를 측정했습니다.
아직은 듀얼 GPU의 위력이랄까요. 지포스 9800GX2가 아직은 앞서고 있습니다.
로스트 플래닛입니다.
1.03 버전에서 64비트 컬러로 설정하고 최고 옵션으로 테스트했습니다. Snow와 Cave의 2가지 맵에서 테스트하여 그래프가 4개입니다.
2560x1600 4xAA 16xAF의 옵션에서도 지포스 9800GX2는 그 지위가 밀리지 않습니다.
컴패니 오브 히어로즈입니다.
역시 최고급으로 설정하고 프레임을 측정했습니다.
AA를 쓰면 9800GX2를 지포스 GTX 280/260이 넘어서게 됩니다. 2560x1600 4xAA에서 라데온 HD 3870X2는 다시 드라이버 문제가 나오는 걸로 보입니다.
어새신 크리드입니다.
최고 옵션으로 설정, 1920x1200에서 안티 에얼라이싱이 적용되지 않기 때문에 8xAA 테스트에서 1680x1050 해상도를 사용하였습니다. 트레이닝 센터 후의 어새신 마을에서 안정된 프레임을 측정했습니다.
여기서도 9800GX2가 높은 성능을 보여주고 있습니다. 어째 설명이 자꾸 9800GX2를 강조하게 되는것 같지만, GTX 280이나 260이 싱글 GPU인데도 저정도의 성능이 나온다는 것을 눈여겨 봐야 되겠지요.
월드 인 컨플릭트입니다.
전부 최고 설정, 최대/최소 fps를 측정하여 평균값을 냈습니다.
1920x1200 4xAA 16xAF에서는 메모리, 2560x1600 4xAA 16xAF에서는 쉐이더의 종합 성능을 보여주는 것으로 보입니다.
바이오쇼크입니다.
자체 AA를 설정하질 않아서 최고 옵션만 주고 AA는 주지 않았습니다.
지포스 GTX 260의 클럭은 낮지만 스트림 프로세서의 수가 있다보니 지포스 8800 울트라를 앞서고 있습니다.
헬게이트 런던입니다.
지포스와 라데온의 안티 에얼라이싱 효과가 다르다보니 아예 꺼버리고 테스트했다고 합니다.
대량의 특수 효과 때문에 쉐이더의 요구가 더 클 수밖에 없습니다. 9800GX2의 성능을 괜찮지만 9800GTX는 비정상적인 성능 하락이 있습니다.
에너미 테라토리: 퀘이크 워즈입니다.
전부 최고 옵션.
오픈GL에서는 여전히 NVIDIA랄까요.
앞서 CUDA 부분에서 설명하였던 BadaBOOM의 동영상 전환 성능 비교입니다. 단위는 시간.
지포스 GTX 260의 싱글 카드 성능입니다.
지포스 GTX 260 SLI 성능입니다. 지포스 GTX 260 SLI는 86.7% 정도의 성능 향상이 있다고 할 수 있을듯.
동영상 재생 가속의 경우 기존 G92 시리즈와 같은 성능을 보여고 있습니다.
전체 시스템의 전력 소모량입니다. 빨간색은 풀로드, 연두색은 아이들입니다.
지포스 GTX 280의 3웨이 SLI 시스템은 800W에 달합니다. 하지만 싱글 카드에서는 300W 정도니까 그런대로 봐줄만하지 않을까 싶습니다.
만약 780a 같은 메인보드를 사용하여 하이브리드 파워를 활성화 시킨다면 아이들시의 전력 소모량은 더 줄어들겠지요.
온도는 아이들시 52.2~53.7도, 3D 렌더링 20분에서는 73.6~74.1도, 아이들시 소음은 52.1dBA, 3D 렌더링 20분에서 소음은 53.6dBA, 풀 스피드로 팬이 회전할 때에는 60.2dBA입니다.
재밌게 보다 가겠습니다.