얼마전 출시한 신 프로세서 가격도 비싸고 불닭이라서 화제의 대상(?)이다.
풀로드 걸어버리면 뭐...... 95도까지 쭉쭉 밀고 올라간다고 하니.... 삽겹살을 굽거나 계란 정도는 익힐 수 있을 것이다.
그런데 어딘가 커뮤니티에 가보니.... 싱글코어 AVX를 걸었더니 몇십W를 먹고 80도?
무언가 이상하다. AVX, AVX2에 관해서는 Zen3에서 Zen4로 오면서 변경된 것은 없는 것으로 알고 있다.
AVX-512가 추가된 정도가 끝인 것으로 알고 있다.
AVX, AVX2로 인하여 온도가 올라간다는 논리라면
Zen3에서도 AVX, AVX2 명령어에 관한 것을 지원하고 있는데 이것을 풀로 사용한다고 해도 저렇게 온도가 올라가지는 않는다.
자 그럼 여기에서 생각할 수 있는게 AVX-512 때문에 온도가 저렇게 증가한 것일까? 라고 생각할 수 있다.
이렇게 생각할 수 있는게 인텔 11세대와 인텔 12세대 초반을 기억할 것이다.
12세대 프로세서에서 AVX-512를 사용할수 있도록 나왔다가 인텔에서 그것을 사용하지 못하도록 막았다.
11세대가 높은 온도와 전력량으로 문제가 된 것이 AVX-512였다.
12세대도 역시 온도와 전력의 문제에서 벗어날 수 없었다.
AVX-512를 활성화하게 되면 대략 50W정도의 전력을 더 소모한다고 한다.
그래서 12세대에서 AVX-512를 사용할 수 없도록 막았다.
AMD의 Zen4는 AVX-512를 탑재하고 출시되었다.
위 인텔에서처럼 이런 것으로 인해서 온도가 증가한 것이 아닐까? 생각을 할 수 있다.
현재 메인보드 바이오스에는 AVX-512를 활성화 또는 비활성화 하는 메뉴가 없다.
해외에 AVX-512를 활성화 비활성화 하고 테스트한 벤치가 있다.
https://www.phoronix.com/review/amd-zen4-avx512
윈도우에서는 조작을 하기 어렵지만 리눅스에서는 커널옵션을 사용하여 특정한 명령어를 사용하지 않도록 부팅이 가능하다.
clearcpuid=304 를 사용하여 AVX-512를 비활성화 하여 벤치마크를 실행하고 AVX-512 활성화와 비교를 해본다.
또한 CPU에 직접 접근하는 프로그램도 확인하여 AVX-512를 제거하고 실행했다.
신경망을 사용하는 체스관련 (LeelaChessZero) 벤치한 결과이다.
AVX-512를 사용한 것이 대략 10%정도 더 나은 성능을 보여주고 있다.
전력소비량을 봐도 둘이 큰 차이는 없어 이 정도면 같다고 볼 수 있다.
인텔의 경우 AVX-512를 사용하면 전력과 열문제로 인하여 클럭이 떨어지는 문제가 있었다. (그 제품이 스카이레이크-X 였나.. 여튼...)
Zen4는 AVX-512를 사용할때와 사용하지 않을때 클럭 차이가 없다.
온도는 어라? AVX-512를 사용하지 않는 것이 살짝 더 높은 온도를 보여준다.
simdjson으로 JSON 구문 분석 벤치마크 입니다.
AVX-512를 사용하는 것이 26% 더 나은 성능을 보여줍니다.
AVX-512를 사용하는 것과 아닌 경우 전력소모와 온도의 차이가 없습니다.
링크 페이지의 다른 워크로드들을 보아도 AVX-512의 성능은 꽤 좋아 보입니다.
워크로드에 따라.... 거의 2배 가까운 모습을 보여주는 것도 있었습니다.
AVX-512를 사용하는 인텔 oneAPI 소프트웨어에서도 Ryzen 9 7950x의 AVX-512는 좋은 성능을 보여줍니다.
인텔의 oneDNN 신경망 라이브러리는 라이젠의 AVX-512를 사용했을때 뛰어난 성능을 보여주었습니다.
oneDNN 벤치마크 중에 AVX-512를 사용했을때 이전과 다르게 조금 더 높은 전력 소비를 보여주고 있습니다.
한 테스트에서 평균 20W 또는 최대 전력소비가 6W정도 더 높습니다.
또 다른 테스트에서는 AVX-512 실행이 AVX2로 제한될 때보다 약 10W정도 전력소비를 더 하였습니다.
AVX-512가 소비전력이 증가하였지만 CPU 클럭은 AVX2로 제한된 것과 차이가 없습니다.
Ryzen 9 7950x에 대한 가장 큰 AVX-512 성능 향상은 광부 프로그램에서 지원하는 다양한 알고리즘에서 확인되었습니다.
Cpuminer-Opt의 결과로 AVX-512를 활성화한 것이 알고리즘에 따라 2배에서 3배까지의 성능을 보여주는 것이 있습니다.
AVX-512 활성화와 비활성화를 종합하면 CPU의 클럭 변화는 없다.
전력 소비도 조금 더 소비한 벤치도 있었지만 약간 더 소모하는 정도이다.
온도의 경우 최대온도는 둘의 차이가 없지만 평균온도의 경우 AVX-512를 활성화한 것이 3도 정도 낮게 모니터링 되었다.
수행한 벤치마크를 종합해보면 AVX-512를 사용하면 59% 더 높은 성능을 보여주었다.
전력소모도 큰 차이가 없고 오히려 평균온도는 3도 내려간 것을 보면 AVX-512가 발열의 원인으로 볼 수는 없는 것 같다.
그럼 원인은 무엇일까? 조금 짐작이 갈만한 것이 있었다.
다음은 AI / 딥러닝 워크로드인 OpenVINO를 실행할때의 전력량과 주파수 변화 그래프이다.
전력소모가 240W로 올라오기만 하면 클럭이 5G로 내려가 그 상태를 계속 유지 하는 모습을 보여준다.
전력소모가 줄어들면 다시 5.8Ghz를 회복하지만 전력소모가 증가하는 것과 비례하여 클럭은 다시 내려가 5G로 복귀하는 모습을 보여준다.
저기 240W라는 전력사용량 저것이 온도의 주범이다.
Zen3에서는 TDP가 105W였다.
Zen4에서는 TDP가 170W로 증가하였고 실제 전력소모는 저 위에 보이는 240W 정도까지 올라간다.
PBO의 설정이 저기까지 끌어다 쓰도록 되어 있으니 여력이되는한 지속적으로 밀어올리다보니 90도가 넘는 온도가 나온 것으로 보인다.
AMD는 칩렛으로 서버에서 데스크탑까지 모두 같은 다이를 사용한다.
이런 작은 다이는 효율을 중시한 설계로 알고 있다.
이 다이로 고클럭과 고성능인 타사를 따라 잡으려면 전력을 때려넣어서 올리는 방법밖에는 없다.
(뭔가 더 때려넣는 방법도 있지만 다이 크기가 증가되기때문에 불가능하다.)
그러다 보니 어쩔 수 없는 온도가 된 것으로 보인다.
AVX 때문에 전력소모가 늘어난 것도 아니고
클럭과 고성능 유지를 위하여 저런 전력을 밀어넣도록 세팅된 PBO 때문이라고 생각한다.
뭐 지금이야 이렇게 논란이 되겠지만.. 조금 지나면 여러 사람들이 수동 설정을 들고 나올 것이고
메인보드 바이오스도 꽤 변하겠지~
[Hardware] - Zen4 (7950x, 7900x, 7700x, 7600x) 는 잘 만들어진 제품 같다.....
[Hardware] - AMD Zen4(젠4, 7950x, 7900x, 7700x ....) 구입하면 꼭 해야되는 것으로 생각되는 것.....
'Hardware' 카테고리의 다른 글
AMD Zen4(젠4, 7950x, 7900x, 7700x, 7600x....) 판매가 신통치 않은 이유~ (0) | 2022.10.12 |
---|---|
메모리 싱글, 듀얼, 쿼드 채널? DDR4, DDR5 (0) | 2022.10.05 |
AMD Zen4(젠4, 7950x, 7900x, 7700x ....) 구입하면 꼭 해야되는 것으로 생각되는 것..... (0) | 2022.10.02 |