공짜로 샘플을 받는 수많은 리뷰어들은 왜 이런 표도 안만들어놨는지 이유를 모르겠지만 3080은 8704 코어인데 왜 5120 코어인 6900 XT를 이기지 못하는지, 7900 XTX는 6144코어인데 9000 몇개 계산도 못하겠는 4080하고 비슷한 성능을 내는지 이런 것 궁금한 사람은 없나 싶어 글써본다.
2000년대와 비교하면 이쪽 업계가 죽어가고 있고, 열정도 없는 게 느껴진다. 소비자한테 가야 할 공짜 샘플은 20배로 늘어난 것 같은데 나오는 정보는 1/20도 안되는 것 같다.
죄다 똑같은 사양, 똑같은 게임, 똑같은 내용, 이제 통찰력이나 날카로운 분석은 찾아볼 수 없다. 유툽 검색해보면 별에별놈도 다 리뷰 샘플 받던데 그걸로 뭐 하는 건지 모르겠더라
양질의 리뷰를 제공했던 Anandtech은 GPU 리뷰를 몇년째 못하고 있고, 지금은 하드웨어 언박스드 정도만이 샘플을 잘 활용해서 고마울 따름이다.
4080이 코어 9000 몇개 달고도 왜 6144 코어 7900 XTX를 이기지 못하는가? 이 표가 가장 근본적인 이유다. FP32 뻥튀기를 떠나서 AMD의 스트림프로세서가 엔비디아의 쿠다코어보다 자원이 많으니까.
자원을 바탕으로 웨이브프론트(AMD) 또는 워프(Nvidia)라는 스레드 묶음 단위를 더 많이 띄워서 레이턴시를 더 효과적으로 은폐할 수 있음.
그럼 코어가 레이턴시를 덜 기다리니 같은 시간에 더 많이 일할 수 있다. 수많은 리뷰를 봐도 이런 간단한 설명 하나 없다. 맥스웰, 파스칼 아키텍쳐가 그렇게 효율적이라고 호들갑 떨던 리뷰어들이 AMD가 똑같이 하니까 언급도 거의 안하더라. ㅇㅇ
조금 더 자세한 설명하자면 AMD는 SIMD당 웨이브를 최대 16개씩 띄워놓고 레이턴시가 발생할 때마다 다음 웨이브로 교체해서 작업을 계속 이어나가면 느린 레이턴시를 일일이 기다리지 않아도 됨. 이게 GPU가 레이턴시 피해를 막는 방법이다.
엔비디아는 이걸 12개밖에 못 띄우고 그마저도 워프 12개를 온전히 유지하려면 워프당 레지스터 42.6 바이트를 초과할 수 없다. 표에는 없지만 라데온은 벡터 연산에 방해되는 1회성 스칼라 연산을 전용 유닛으로 걸러내서 따로 처리한다.
이 스칼라 전용 유닛이 쓰는 레지스터와 캐시까지 다 따로 있다. 이게 스트림프로세서(벡터 유닛)가 자기 일에만 전념할 수 있도록 해서 레이턴시를 추가로 완화해주는 효과가 있다. 그래서 라데온은 레이턴시에 덜 민감하다.
메모리 계층에 있어서도 AMD는 L0부터 L3 캐시까지 4레벨 캐시 구조로 되어있고, 엔비디아는 전통적인 2레벨 캐시다. 캐시를 4번이나 체크하니까 라데온은 VRAM 대역폭에도 덜 민감하다. 느린 VRAM에 덜 가고 가더라도 덜 기다리니까.
대역폭과 레이턴시에 덜 민감하다는 것은 코어가 주어진 시간에 더 일한다는 뜻으로 적은 코어로 더 높은 성능을 낼 수 있다. 이게 위에도 말했지만 FP32의 성능이나 표기법을 떠나서 기본적인 코어수 대비로 봤을 때 6000 코어가 9000 코어를 상대하는 방법이다.
그래서 게이들아 내가 하고 싶은 말은 엔비디아와 AMD의 비교가 아니고, 레이턴시를 은폐해주는 벡터 레지스터의 중요성을 말하고 싶었다. 말이 많았지만 레지스터가 코어당 성능의 핵심이다.
내가 보기에는 한국이 엔비디아 빨아재끼는 것도 있고 국내 유통사들 (퀘이사존 등)이 이미지를 망친것도 한 몫 하지만 결정적으로는 RDNA 3 아키텍쳐가 특히 국내에서 너무 저평가된 것 같다. 검색해보니까 RDNA 2와 IPC가 똑같다느니 그런 이상한 글이 보이는데 7600과 780M은 RDNA 3의 가장 중요한 변경점이자 RDNA 3 전부라고 해도 좋을 이 레지스터 확장이 포함되지 않았다.
얘네들은 RDNA 3가 아니라 2.5 내지는 2+가 옳다. 따라서 이들로 RDNA 2와 3를 비교하는 것은 적절하지 않다.
라스트 오브 어스에서 웨이브프론트 occupancy 순으로 정렬한 1200여개의 파이프라인. 파이프라인의 절대다수는 SIMD당 1024 Bytes 레지스터로 충분해서 웨이브 16/16개를 유지할 수 있지만 이 아래부터 레지스터 부족으로 occupancy가 떨어지기 시작한다.
RDNA 2는 이미 엔비디아보다 코어당 레지스터가 2배 많아서 파이프라인 10개 중 일곱, 여덟은 문제 없지만 이 둘, 셋이 문제다. 이유는 2가지다. 레이트레이싱를 쓰거나 아주 무거운 셰이더를 사용하거나. 레지스터 1.5배 확장이 여기서 큰 도움이 된다.
마찬가지로 라스트 오브 어스에서 RX6900XT로 처리한 컴퓨트 셰이더 큐 하나. 웨이브프론트당 레지스터를 100바이트나 써서 occupancy가 9/16로 떨어진 상황이다. 프레임 1장 전체에 16.2ms가 걸렸는데 얘 혼자 0.5ms나 차지한다. RDNA 3는 이런 무식한 워크로드도 꽤나 손쉽게 처리할 수 있을 거임.
그리고 레이트레이싱. 어느 리뷰어인지는 모르겠으나 데이터자료 캡처해서 가져옴. RX6900XT의 새도우 오브 툼레이더의 레이 트레이싱 성능이다. 프레임당 박스 교차 테스트 8200만번, 삼각형 교차 테스트 2200만번하여 프레임 1장 전체 13.8ms 중에 3ms가 걸리는 시나리오 그래프라 보면 됨.
역시 레지스터 부족으로 웨이브가 평균 12개만 돌아가는 상황. RDNA 3였으면 occupancy를 꽉 채워서 수월하게 끝냈을 거라고 봄.
RDNA 3의 다른 주요 변경점은 L0과 L1 캐시가 2배로 늘었다. 780M은 여기서도 L0만 늘었고 L1은 포함되지 않았다. RDNA 2에서 L1 캐시가 4레벨 캐시 중에 적중률이 제일 낮은 편인데 RDNA 아키텍쳐 공통적으로 L2 캐시 대역폭이 경쟁사보다 높아서 상관없다고 판단한 모양이다.
예를 들면 6900 XT는 L2 캐시 버스폭이 2048-Byte이고 3090은 1536-Byte였기 때문에 L2 캐시만으로도 이미 경쟁사보다 더 많은 대역폭을 제공한다. 심지어 L2 캐시에서 미스가 나도 L3 캐시까지 있다.
그래서 L0, L2, L3 캐시까지 있는 AMD 아키텍쳐에서 L1 캐시 혼자 약한 것이 그렇게 큰 문제는 아닌데 레이트레이싱에서는 문제가 되는 것이 사실이다. 레이트레이싱은 대역폭도 대역폭이지만 레이턴시에도 민감하기 때문에 상위 캐시에서 적중하는 것이 중요하다. RDNA 3에서 레이턴시에 유리한 이 L0/L1 캐시가 2배로 늘었다.
마찬가지로 리뷰어 데이터자료 가져와봄. RX6900XT로 라스트 오브 어스에서 프레임 1장을 그리는 동안 L1 캐시의 평균 적중률은 37%.
다른 게임들도 30%대로 다 비슷하다. RDNA 3는 2배 늘어난 L1에서 메모리 엑세스를 더 많이 흡수해서 안그래도 바쁜 L2의 부담을 줄이고 성능 향상에 기여함.
직접 비교해보고 싶은데 나는 7900 카드가 없어서 Chips and Cheese의 자료를 인용한다. 조금 극단적인 사례지만 6900 XT가 사이버펑크 2077에서 7.2ms 걸린 레이트레이싱 교차 테스트를 7900 XTX는 2.8ms만에 끝냈다. 레지스터와 L0/L1 캐시가 확장된 덕이라고 봄.
언급은 안했지만 RDNA 3에서 레이트레이싱 사용시 traversal을 가속하도록 LDS가 개량된 덕도 있다. 그리고 게이들아 잊지말아야 할 것은 7900 XTX는 고작 96 CU다 .(48 WGP). 6900 XT의 80CU보다 겨우 20% 더 많을 뿐인데 무거운 워크로드일수록 6900 XT와 성능 차이가 벌어짐.
그러나 레지스터가 모자르지 않은 70-80%의 가벼운 워크로드에서 RDNA 2와 3는 딱 클럭과 CU 차이만큼만 날 것으로 보임. 안쓰는 레지스터는 성능과 아무 영향이 없다. 그러면 나머지 20-30%가 프레임 전체 기간에서 얼마나 차지하는지가 관건이다.
정리하면 작업이 무거울수록 RDNA 3는 스펙 이상으로 유의미한 성능 차이를 내지만 가벼울수록 눈으로 보이는 스펙 차이에 가까워진다.
그래서? RDNA 3는 그럼 뭐가 문제라는 거지? 왜 스펙대비 엔비디아보다 성능이 덜 나오지?
우선적으로는 듀얼이슈가 제대로 안된다. 이게 치명적인 약점이다.
RDNA 3에서 2배로 늘린 FP32 유닛을 제대로 활용하지 못하고 있다. 엔비디아는 튜링에서 FP와 INT 데이터패스를 2개로 나눠서 이 문제를 해결했는데 RDNA 3는 아쉽게도 하드웨어에서 자동으로 듀얼이슈를 지원할 방법을 찾지 못한 것 같다. 게임에서 일일이 지원해줘야 하는데 해줄 리가없다.
두 번째로 스펙이 너무 떨어진다.
풀칩 기준 144SM인 4090과 비교하면 96 CU는 체급이 너무 작다. 바보 같은 원가절감이라고 생각한다.
칩이 작으니까 자꾸 클럭을 올리게 되고 5nm인데 1.1v를 넘겼다. 엔비디아는 전 제품이 1.0xv대에서 돌아간다. GPU쪽에서는 이런 일이 없었지만 저러다가 얼마전에 라이젠이 과전압으로 타버렸다. 클럭과 전압을 좀 낮췄으면 좋겠다.
그래서 결론은?
RDNA 3가 듀얼이슈가 엉망이라는 점만 빼면 RDNA 2의 약점을 잘 파악해서 적재적소에서 필요한 부분을 잘 개량했다.
스펙이 어이없이 낮아서 아키텍쳐까지 싸잡혀서 욕먹고 있지만 RDNA 3 아키텍쳐 자체는 옳았다는 것을 말하고 싶다.
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.