벤치리뷰·뉴스·정보/아키텍처·정보분석

[분석정보] NVIDIA, Radeon HD 2000의 사양에 이의

tware 2007. 5. 15. 00:00

 

 

AMD의 방법에 따르면 G80의 SP 수는 256개가 된다.

 

 

 

미국 NVIDIA 는 보도용으로 보내는 서한에서 AMD가 14일 발표한 "Radeon HD 2900"의 사양에 대한 NVIDIA 해석을 표명했다. 여기에 그 내용을 거의 원문 소개하고 싶다. 물론, NVIDIA는 Radeon HD 2900의 모든 것을 알고 있는 것은 아니고 오해가 포함될 가능성도 있어, AMD도 이 NVIDIA의 견해에 대한 이의는 있으리라 생각되지만, 두 DirectX 10 지원 GPU의 사상 / 설계의 차이에 대한 이해에 도움을 줄 것이다.

[Q] Radeon HD 2900은 320 개의 쉐이더 (스트리밍 프로세서)를 탑재하지만, GeForce 8800 GTX는 128 개 밖에 없나?

[A] AMD는 표준 ALU (연산기)와 특수 기능 ALU의 수를 합산해 320이라 하고 있다. GeForce 8800 GTX는 128 개의 표준 ALU와 128 개의 특수 기능 ALU를 탑재하고 있으며,이 방법으로 계산한다면, GeForce 8800 GTX의 쉐이더 수는 256이 된다. 그래도 Radeon HD 2900 쉐이더 수는 25% 많지만, GeForce 8800 GTX의 ALU 클럭은 82%, GeForce 8800 GTS의 ALU 클럭은 62% 빠르다. 이것들을 종합하면, Radeon HD 2900에 대해 GeForce 8800 GTX가 더 빠르고, GeForce 8800 GTS는 동등하다.

[Q] GeForce 8800은 스칼라 아키텍처로 Radeon HD 2900은 VLIW 명령에 대응한 슈퍼 스칼라 아키텍쳐가 되고 있는데, 어느쪽이 우수한 것인가?

[A] 우선, NVIDIA는 몇년 전에 GeForce 6 에서 수퍼 스칼라 아키텍처를 채용했다. 또 그 이전 세대의 GeForce FX 에서는 VLIW (Very Long Instruction Word) 아키텍처를 채용했다. 양자에는 각각 장단점이 있는데, 그 경험을 살려, GeForce 8은 스칼라 아키텍처로 설계했다.

 슈퍼 스칼라 아키텍처의 장점은 개별 쉐이더 프로세서에 대해 여러 독립적인 명령을 실행할 수 있는 점이다. Radeon HD 2900의 경우로 말하면, 개별 쉐이더 프로세서에 대해 클럭마다 최대 5 개의 독립된 산술 명령과 1 개의 분기 명령을 발행 할 수 있다. 만약 Radeon HD 2900이 항상 1 클럭 당 5 개의 산술 명령을 발행 할 수 있다면, 그 성능은 매우 높아질 것이다. 하지만 슈퍼 스칼라 아키텍처의 특성상 ALU의 수가 많을수록, 그들 모두에게 일을 할당하는 것이 곤란하게 된다.

 즉, Radeon HD 2900이 최고 성능을 유지하려면 드라이버가 쉐이더 코드 스트림을 로드한 후 항상 5 개의 독립적인 명령어를 출력 할 필요가 있다. 만약 드라이버가 1 클럭에서 두 개의 명령어 밖에 꺼낼 수없는 경우 성능은 2 / 5로 떨어질 것이다.

 GeForce 8800의 스칼라 아키텍처에서는 이 문제가 발생하지 않는다. 왜냐하면 셰이더 유닛을 풀 활용 하기 위해 드라이버는 1 클럭 당 2 개의 명령 (하나는 표준 ALU 용, 다른 하나는 특수 기능 ALU 용) 만 꺼내면 좋기 때문이다. 결과 실효 성능에서는 GeForce 8800이 능가하게 된다.

[Q] 실제 게임에서는 스칼라 코드와 벡터 코드의 어느 쪽이 더 사용되는지?

[A] 실제 쉐이더는 서로 다른 크기의 스칼라 코드와 벡터 코드를 함께 사용한다. 3D 알고리즘이 복잡화 됨에 따라 더 많은 오퍼레이션이 비 고정 벡터 사이즈로 실행되게 된다. 예를 들어, 텍스처의 좌표는 1 차원이거나, 2 차원이거나, 3 차원 이기도 하다. 거의 모든 게임에서 사용되는 쉐도우 맵은 하나만 요소를 가지지 않는다. 이러한 형식은 고정 크기의 슈퍼 스칼라 ALU에는 잘 맞지 않고 스칼라 설계쪽이 유연성이 풍부하며, 효율도 높다.

[Q] 왜 GeForce 8800의 스칼라 쉐이더는 Radeon HD 2900 슈퍼 스칼라 쉐이더보다 효율이 높은지

[A] 두 수를 더하여 곱하는 간단한 경우를 생각해 보자.

Sum = A + B
Result = Sum * C

두 번째 계산은 첫 번째 계산 결과에 의존하고 있다. 만약 Radeon HD 2900이 전형적인 VLIW 설계를 고집한다면, 두 번째 계산이 첫 번째 계산 결과에 의존하기 때문에 두 개의 계산은 같은 VLIW 명령 워드에 그룹화 할 수 없다. 예를 들어, Radeon HD 2900의 쉐이더 프로세서는 최초의 계산은 최초의 VLIW 명령 워드에서 동시 발행된 오퍼레이션 중 하나에 의해 계산된 다음 VLIW 명령 워드에 있어서 MUL (곱하기) 오퍼레이션이 처음 VLIW 명령으로 구한 결과를 이용하게 된다 (1 개의 ALU가 MUL을 실행하려면 여러 클럭 사이클이 필요한 것도 기억해야 할 것이다).

 의존성은 종종 명령어 스트림에서 발생하기 때문에 VLIW 컴파일러가 모든 VLIW 명령 워드 안의 모든 슬롯을 채우기 위해 효율적으로 의존성이 없는 작업을 그룹화 할 수 없으며, 효율성이 떨어질 것은 주지의 사실이다. 다시 말해 5 개의 ALU를 탑재한 슈퍼 스칼라 VLIW 아키텍처는 연속적인 의존적 코드 스트림을 사용하는 프로그램을 실행하면 그 효율성이 20%로 떨어진다.

 GeForce 8800에서는 위와 같은 의존성이 있는 상황에서 하나의 스칼라 스트리밍 프로세서 (SP)의 ALU는 최초의 명령의 결과를 기다리지 않으면 안되지만, 모든 SP에 대한 효율적인 작업을 할당하기 때문에 VLIW 아키텍처와 달리 명령어 / 작업 슬롯이 낭비되지 않는다..

[Q] GeForce 8800의 텍스처 성능은 Radeon HD 2900의 2배 이상. 쉐이더 성능이 가장 중요시 되는 오늘날 왜 그런 텍스처 성능이 필요한가?

[A] 셰이더가 전혀 없는 곳에서 그 효과를 발휘하는 것은 거의없다. 일반적으로 아주 많은 텍스처, 쉐도우 맵, 범프 맵, 큐브 맵 등을 읽은 상태에서 복잡한 쉐이딩(음영) 계산을 행한다. 필요한 텍스처가 주어지지 않으면 쉐이더 프로세서는 더 효과적인 일을 할 수 없다.

[Q] AMD는 Radeon HD 2900 이 80 개의 텍스처 샘플러를 탑재하고 있다고 주장하고 있는데 이는 GeForce 8800보다 나은가?

[A] 80 개의 텍스처 샘플러라고 하는 것이 무엇을 의미하는지 확실하지 않다. 그것보다, 텍스처 성능을 알 수 있는 다양한 텍스처 형식이나 필터링 방법을 사용하여 클럭 당 필터링 된 픽셀의 수를 생각하는 것이 알기 쉬울 것이다.

 일반적인 비 HDR 텍스처 (채널당 8bit)는 GeForce 8800은 바이 리니어(이중선형 필터링 Bilinear filtering), 트라이 리니어(삼중선형 필터링 Trilinear filtering) 혹은 2:1 이방성 필터링을(AF anisotropic filtering : 또는 비등방성 필터링) 쓸때 1 클럭으로 32 개의 픽셀을 출력 할 수 있다. FP16 HDR 텍스처 (채널당 16bit 부동 소수점)는 GeForce 8800은 1 클럭으로 바이 리니어 필터링에서 32 픽셀, 트라이 리니어 및 2:1 이방성 (비등방성) 필터링에서는 16 픽셀을 출력 할 수 있다.

 한편, Radeon HD 2900은 FP16 바이 리니어 필터링 16 픽셀, 트라이 리니어 및 이방성 필터링의 출력 픽셀 수는 8에 머문다.

 

 

(위키에서 가져온  그림 입니다. 오래전 부터 이미 다들 AF 16 주고 게임들 하고 계시죠. 텍스처 필터링은 이러한 각도로 볼때 텍스처는 멀수록 좌우 크기가 작아져서 보이게 되는데 멀수록 흐릿하게 됩니다. 이것을 선명하게 보정해 주는 겁니다. 이건 이런식의 각도로 볼때 효과를 발휘하는 것이지, 시점을 하늘 꼭대기에서 정면으로 바닥을 볼때는 필터링 있으나 없으나 관계가 없습니다. 텍스처 자체가 얼마나 선명한가는 텍스처 자체의 크기 해상도 문제죠. 이방성 필터링은 요즘 카드에서는 그리 사양을 먹는 옵션이 아닙니다.)

 


[Q] AMD는 지오메트리 쉐이더 테스트에서 50 배 빠르다고 말하고 있는데


[A] 지오메트리 테스트를 통해 그 결과는 달라진다. 우리는 "metaballs '이라는 지오메트리 쉐이더 테스트를 개발하고 사용하고 있다. 이 테스트에서는 GeForce 8800이 훨씬 빠르다. 결국은 이러한 기능을 비교하는 효과적인 벤치 마크 소프트는 실제 게임이라는 것이다.

[Q] 왜 "Call of Juarez"의 DirectX 10 데모는 GeForce 8800에서 작동하지 않는가?

[A] AMD가 배포하고 있는 시험판에서 MSAA 버퍼의 취급에 버그가 있다. 벤치 마크를 측정하는 것은 메이커로부터의 정식 버전을 사용하면 좋겠다.

[Q] Windows Vista의 NVIDIA 드라이버는 얼마나 잘 되었는가?

[A] 1 월 내놓은 첫 번째 드라이버 이후 수많은 개선을 실시했다. 최근 3 개의 드라이버는 200 개 이상의 버그를 수정하고 3D 성능은 Windows XP와 동등하게 되었다. 새로운 드라이버는 언론 및 사용자로 부터 좋은 반응을 받았다. 5 월에 내는 드라이버는 한층 더 성능이 올라, DirectX 10의 SLI도 지원했다. 현재도 개량을 위한 다른 작업을 행하고 있지만, 지금 버전에서 Windows Vista와 GeForce의 조합으로 멋진 체험이 가능하다.

[Q] CFAA와 CSAA의 차이는?

[A] 2001 년 GeForce 3을 냈을 때, 우리는 "Quincunx '라고 불리는 AA 방법을 구현했다. 이 모드는 AA를 계산할 때 픽셀마다 4 개의 인접한 샘플을 사용했다. 하지만 언론 및 사용자의 반응은 그림이 흐릿하다 라는 부정적인 것 이었다.

 Radeon HD 2900은 "Custom Filter AA (CFAA) '를 지원하지만, 그 원리는 Quincunx와 같은 것이다. 선택한 텐트 필터에 의해 CFAA는 4 개에서 8 개의 인접 샘플을 사용해 AA를 계산한다. 텐트 필터는 샘플에 대한 가중치를 행하고 있지만,이 AA 방법은 필연적으로 흐릿함이 생긴다.

 또한 CFAA는 하드웨어 지원을 필요하지 않는 것도 지적해야 할 것이다. 즉, 드라이버에서만 실행된다는 것이다. 따라서 GeForce 8800도 CFAA 나 어떤 종류의 "사용자 정의 필터" 모드도 드라이버 업데이트만으로 대응할 수 있다. 하지만 우리는 그렇게 하지 ​​않는다. 게이머는 안티 앨리어싱 기능을 위해 화면 전체를 흐릿해지는 것을 싫어하기 때문이다. 이것이 우리가 Quincunx에서 샘플 수를 늘리지 않은 이유다. 실제 샘플이 많이수록 영상은 흐릿해져 버리기에.

 "Coverage Sampling AA (CSAA) '에서는 흐릿하지 않고 진정한 16x 커버 정밀도를 제공 할 수 있다. 이것은 하드웨어 가속 알고리즘으로 CFAA보다 성능이 높다. CSAA는 DirectX 10에도 채용되고 있다.

 

(안티 알리아싱은 다 아시겠지만, 모르는 분을 위해 간단히 설명하면,  + 가로 세로로 정확하게 일직선인 3D 물체의 테두리는 상관이 없지만  /  이렇게 대각선으로 보이는 부분이 완전히 일직선으로 보이는 것이 아니라.. 계단현상으로 보이는 것을 보정해 주는 기술 입니다. 각자 즐기는 게임이 있고. 게임에서 안티알리아싱(멀티셈플링) 옵션이 있으면  2배, 4배 등으로 설정해서  확인해 보시기 바랍니다.)

 

 

 

(마땅한게 없어서.. 예전에 찍어둔 와우 그림으로.. 빨간 네모 부분을 보시면 계단 현상이 아주 잘 보일 겁니다. 다른 부분도 보시면 느껴지겠지만.. 저렇게 대각선의 각도가 어떻게 되냐? 에 따라서 계단 현상은 심할수도 적을 수도 있습니다.  보이기에 (시야 각도 조절을 한다던지) 따라서 완전히  + 세로 가로면 없구요. 이게 수평이나, 수직은 아닌데.. 낮은 각도일수록 저게 더 잘 보입니다.(계단이 큼직하게) 수평이나 수직의 정확히 중간 / 대각선이면 조금 덜 보이구요.(계단이 세밀해서)  같은 것을 보더라도.. 여러분의 모니터 크기 대비 해상도가 높을수록 (픽셀피치가 작을수록) 눈에 덜 보입니다. 모니터는 큰데 해상도는 낮으면 잘 보이구요. (자신의 모니터 최대 해상도 일때 말하는 겁니다.) 또  모든게 같다고 할때 사람에 따라서 다르기도 하구요. 잘 보면 보이는데 별로 신경 안쓰이고 그냥 저냥 하는 분들이 있는가 하면.. 보이고 부터는 신경쓰이는 분들도 계시고 그렇죠.  개인적으로  안티를 안준것과 2배는 확실한 차이가 느껴지고, 2배와 4배도 느껴지지만  안준것과 2배처럼 정도는 아니고 약간 차이 나는 정도..  근데 이게 사양을 많이 잡아 먹으니까.. 너무 신경쓰여서 자꾸 높이면...  돈이 들어 갑니다. 그래픽 카드 더 좋은거 사야죠;;;;  적당한  정도로 만족(적응)하세요;;;;;;;;;;;;;;;;;;;;;; 그냥 하시던가...;;; 개인적인 생각으로는 4배를 초과하는 안티는 그래픽을 좋게 보여준다 보다 옵션을 위한 옵션으로 생각되기도 합니다.)

 

 

엔비디아에 따른 G80과 R600의 사양 비교

 

 

  지포스 8800GTX 지포스 8800GTS 라데온
HD 2900XT
쉐이더 클럭 1,350 MHz
 1,200 MHz
740 MHz
쉐이더 프로세서  128  96 64
코어 클럭  575 MHz
 500 MHz
742 MHz
바이리니어 필터 픽셀 / 클럭  32  24 16
바이리니어 필 레이트  18,400 MPixel
 / s
 12,000 MP/s
11,872 MP/s
INT16 필터 픽섹 / 클럭  32  24 16
FP16 바이리니어 필터 픽셀 /
클럭
 32  24 16
FP16 트라이리니어
2:1 이방성 필터링

픽셀 / 클럭
 16  12 8
FP16 바이리니어 필 레이트  18,400 MP/s
 12,000 MP/s
 11,872 MP/s
FP16 트라이리니어
2:1 이방성 필 레이트
 9,200 MP/s
 6,000 MP/s
5,936 MP/s
FP32 필 레이트  9,200 MP/s
 6,000 MP/s
5,936 MP/s
ROP 픽셀 / 클럭  24  20 16
ROP Z / 클럭  48  40 32
ROP 픽셀  13,800 GP/s
 10,000 GP/s
11,872 GP/s
메모리 인터페이스  384 bit
 320 bit
512 bit
메모리 클럭  1,800 MHz
(DDR)
 1,600 MHz
(DDR)
1,650
(DDR)
메모리 대역폭 86,4GB /s
 64GB/s 105.6GB/s
프레임 버퍼 메모리  728MB  640MB. 320MB 512MB

 

 

 

2007년 5월 15일 기사 입니다.

 

 

[분석정보] Larrabee에 쫓기는 NVIDIA가 GT200에게 입힌 GPGPU용 확장

 

 

[분석정보] 지포스 GTX 280 배정밀도 부동 소수점 연산

 

 

[분석정보] Intel의 Larrabee에 대항하는 AMD와 NVIDIA

 

 

 

[분석정보] 크게 다른 Radeon HD 2000과 GeForce 8000의 아키텍처