시장 점유율. 출처: https://www.cpubenchmark.net/market_share.html
예전 젠3 5000 번대가 출시된 2021.Q1 이 50.5% 으로 AMD 의 전성기였다. 2006년 Q1의 53.9% 가 최고였지만, 2006년 Q3 에 인텔에서 Core2 시리즈를 발매한 이후 계속 내리막길이었다가, Ryzen 시리즈를 발표한 2016.Q3 부터 반등하기 시작한다. 지금은 잠시 주춤해진 시기.
① 544 x 960 → 1088 x 1920 변환(Hires. fix)작업: 시간: 01m 56s, A: 8.40 GB, R: 12.71 GB, Sys: 12.0/12 GB (100.0%) ② 544 x 960 → 1632 x 2880 변환(Hires. fix)작업: 시간: 08m 43s, A: 15.93 GB, R: 25.72 GB, Sys: 12.0/12 GB (100.0%) ③ 544 x 960 → 2176 x 3840 변환(Hires. fix)작업: 실패. > 12m
A: 캐시 제외한 비디오 메모리 사용량 R: 토치 라이브러리의 최대 메모리 사용량 Sys: 비디오 메모리 사용량/총 비디오 메모리
※ 4K 를 바로 생성하려면 시스템 메모리 64GB 는 되어야 한다고 예상된다. 지금은 그냥 Extra 탭에서 업스케일링 하고 있다. 조만간 64GB으로 업그레이드할 생각이긴 하다.
※ 실패시에는 아래와 같은 문구가 나왔다. 마지막단계(생성 다 끝나고 VAE 사용하는 단계)에서 오류난다.
OutOfMemoryError: CUDA out of memory. Tried to allocate 7.97 GiB (GPU 0; 12.00 GiB total capacity; 18.51 GiB already allocated; 0 bytes free; 18.54 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
DDR4 메모리 오버클러킹을 했다. 결과적으로는 DDR4-4000 까지 무리 없이 되었다. tCL 은 28으로 되었다.
메모리 오버클러킹하려 한 목적이 사용하고 있는 CPU 의 인피니티 패브릭 인터커넥트의 클럭을 올리기 위함이었다. 그래서 tCL 값은 따로 설정하지 않고 AUTO 로 세팅해 놓고 진행했다. tCL 값 줄인다고 해서 그다지 빨라지는것도 아니고 말이다.
즉 메모리 클럭만 4000MHz 으로 설정하고 다른 메모리 관련 설정은 모두 자동으로 놓았다. 전압도 자동으로 두었다.
- 사용한 메모리는 삼성, 22년 22주차, DDR4-2666V, 16GB, 2Rx8, D다이이다. 파트넘버는 M378A2K43DB1-CTD 이다.
- 사용한 CPU는 AMD Ryzen™ 7 PRO 4750G, 마더보드는 ASUS B550M-A 이다. 마더보드의 바이오스는 최신버전을 사용했다.
- 오버클러킹 전은 아래 화면과 같다. DDR4-2666V 램을 사용하기 때문에, 그 값으로 세팅되어있는 상태다.Uncore Frequency 1333MHz, DRAM Frequency 1333MHz, tCL 19 다.
- 우선 DDR4-3200 으로 세팅하고 부팅했다. 한번에 되었다. tCL 22 으로 DDR4-3200AA 에 해당하는 세팅이다.
- DDR4-4000 으로 세팅하고 본 값. 역시 한번에 되었다. 인피니티 패브릭 인터커넥트는 2000MHz 이다.
- HWiNFO 에서 FCLK(인피니티 패브릭 클럭), UCLK(메모리 컨트롤러 클럭)를 확인해보았다. 2000MHz 으로 나온다.
- HWiNFO 에서 MCLK(메모리 클럭) 도 2000 MHz 으로 확인된다. 이로써 1:1:1 임을 확인했다.
- DDR4-4000 상태에서 MT5 를 실행해 메모리를 테스트했다. 문제 없었다.
- DDR4-4200 은 부팅 불가. 그래서 전압을 1.3으로 높여보니 부팅은 되었지만 1:1 매핑이 되지 않았다. 따라서 이보다 높게는 시도하지 않았다.
- 최종적으로 DDR4-4000 을 사용하기로 하고 벤치 및 GPU-Z 도 찍어보았다. CPU는 벤치 성능차이 없고, GPU 의 메모리 대역폭은 메모리 클럭수 올라간만큼만 좋아졌다. 대신 발열이 조금 있는 느낌이다.
- 빠릿빠릿해진 느낌. 화면 전환이 확실히 많이 빨라졌다. 그외에는 아직 크게 느끼진 못하고 있다. 어쨌든 목표한 인피니티 패브릭 클럭 2000MHz 달성이라 만족이다.
- DDR4-4000 으로 오버클럭 한 상태에서, tCL 28에서 줄이려면 메모리에 인가되는 전압을 올려야 하는데 이건 메모리 수명과도 연결되는거라 전압을 올리진 않았다. 보통 1.35V (DDR4의 표준전압은 1.2V이다) 까지는 10% 차이라 안전하지만, 그래도 전압을 올릴생각은 없었다. 어차피 tCL 값 줄인다고 성능이 비약적으로 상승하는게 아니니 tCL 을 줄이지 않고 사용중이다.
2024.05.01 업데이트 --------
DDR4-3200 으로 놓고 사용중이다. 시스템이 이상한건 아니지만 발열은 있어서 낮췄다. 슬슬 날씨도 더워지는 느낌이고 말이다.
2024.09.01 업데이트 --------
DDR4-3600 으로 놓고 사용 중이다. 메모리 모듈을 바꿔서 DDR4-4000 이 안 들어간다.
AMD Ryzen CPU 의 인피니티 패브릭 인터커넥트(Infinity Fabric Interconnect)와 메모리 클럭 동기화
AMD 의 Zen CPU 는 고전적인 의미의 CPU 가 아니다. SoC 라고 부른다. 칩 안에 여러가지 기능을 하는 모듈이 심어져 있다.
칩 안에는 고전적인 CPU 기능을 하는 코어 및 최대 4개의 코어를 묶은 CCX(Core CompleX) 및 CCX 2개를 묶은 CCD(Core Chiplet Die), L3 캐시, PCIe 모듈, NVMe 모듈, USB 모듈, GPU 모듈, 메모리 컨트롤러 등이 하나의 칩에 들어있다.
CPU안의 각각의 모듈을 서로 연결해주는게 인피니티 패브릭(Infinity Fabric Interconnect, 줄여서 IF)이다. 기존에 AMD 에서 CPU와 칩셋간 연결에 사용하던 하이퍼트랜스포트(HyperTransport)라는 기술과 같은 기술이다. 하이퍼트랜스포트가 2001년에 개발된건데, 이걸 성능을 향상시켜서 20여년이 지난 지금까지 사용한다는건 하이퍼트랜스포트가 얼마나 잘 설계된 기술인지, 앞서있는 기술인지 새삼 느끼게 해준다.
모든 모듈에서 메모리에 접근해야 때문에, IF는 주로 각각의 모듈과 메모리를 연결해주는 통로로 사용되고 있고, 이런 구조때문에 메모리 속도 및 메모리 컨트롤러 속도와 IF의 속도는 밀접한 관련이 있다. 가장 좋은건 메모리 속도와 IF의 속도가 같은것이고 이렇게 되면 지연이나 대기같은 작업이 없어진다. 이걸 IF 와 메모리 클럭이 1:1 동기화 되었다고 이야기 한다. (그리고 이걸 뒤집어서 이야기하면 메모리 속도가 빨라야 IF 속도가 빨라진다는 의미도 된다)
하지만 최신 메모리는 워낙 빠르기 때문에 일정한 클럭 이상으로 IF를 빠르게 할 수 없다. 르누아르 CPU 는 1:1 까지 지원되는게 IF 클럭 2266MHz 이고, 이는 DDR4-4532 과 1:1 동기화가 가능하다. 기존 3000번대 CPU 는 1900MHz 였고 DDR4-3800에 해당되는 수치다.
DDR4 메모리는 JEDEC 표준으로는 DDR4-3200 까지 나와있으니 DDR4-3800 까지 1:1동기화되는것에 대해 문제되진 않았다. 하지만 메모리 오버클러킹 할 때는 문제가 되었다. DDR4-4000 까지는 쉽게 오버클러킹 되었기 때문이다. 그래서 DDR4-3800 까지 지원되는건 아쉬움이 있을 수 밖에 없었다. 그나마 DDR4 메모리를 사용한 시스템까지는 표준 스펙으로는 모두 1:1 동기화가 가능했지만, 이후 DDR5 메모리에서는 1:1동기화가 안되고 있다. 현재 DDR5 에서는 1:2 가 일반적이다. (IF 가 1, 메모리가 2 다)
1:1 동기 되었는지 확인하는 방법은 CPU-Z 에서, Uncore Frequency 와 DRAM Frequency 가 같으면 된다.
최신 윈도에서는 WHEA (Windows Hardware Errors)를 리포트해준다. 여기에 CPU 내부 버스 오류에 대한 리포트가 있다. 무리하게 오버클럭하는 경우 내부적으로 오류가 발생하는데 이걸 확인할 수 있도록 해준다.
이중 눈여겨 볼 항목은 아래 2가지다. 이 오류값은 0이어야 한다. 이 값은 HWiNFO64 에서 "센서" 상태항목의 가장 아래에 있다. 오류가 없으면 나타나지 않는다.
탑다운형 쿨러는 CPU 주변까지 쿨링해주기 때문에 발열이 심하지 않은 CPU 를 사용하고, 통풍이 잘 되는 케이스를 사용하는 경우에는 CPU 주변에 있는 기기 냉각(전원부, 메모리, NVMe)에 오히려 좋다. 필자가 사용하고 있는 CPU는 4750G 으로 TDP 65W 이지만, 쿨러는 210W 으로 매우 많이 오버스펙이긴 한데 그만큼 시원한 바람이 CPU 주변부를 잘 냉각해준다.
쿨러는 2.82mm H2O, 72.37 CFM 인 120mm 쿨러라 스펙은 좋지만 LED 가 없는 모델이라 나중에 예쁜걸로 바꿀 생각이다. 아니면 LED 를 하나 달아줄 생각을 하고 있다. 이건 배보다 배꼽이 더 크겠지만 말이다.
막상 받고 보니 생각보다는 컸고, 메모리 윗부분을 완전히 덮기 때문에 메모리의 쿨링에 더 좋을것 같다. 실제 손을 대보면 시원한 바람이 메모리쪽으로 간다. 히트파이프도 6개가 있어 더 시원해질껄로 생각한다.
쿨러 장착은 원래 전원부를 덮도록 해야 하지만, 필자는 메모리를 덮었다. 다행이 높이가 꽤 높아서, 쿨러가 장착된 상태로 메모리를 끼웠다 뺄 수 있다. 막상 이렇게 되고 보니 메모리 오버나 해볼까 하는 생각이 든다.
옆에서 보면 생각보다 높다.
근 10년동안 쿨러에 신경 별로 안썼는데 이건 보자마자 사야겠다는 생각을 했다. 순수 구리 방열판에 니켈도금이 되어있다. 필자는 도금하지 말고 구리 색상 그대로 보여줬어도 좋았다고 생각한다.
탑다운형 쿨러는 플라워형 쿨러라고도 부른다. 열이 CPU 주변으로 퍼지기 때문이다. 플라워형 쿨러는 쉽게 말해 번들 쿨러다. 하지만 탑다운형 쿨러는 타워형 쿨러의 히트파이프를 굽혀서 방열판을 눞혀 만들기 때문에 구조상은 타워형에 가깝다고 본다.
※ 비상용으로 가지고 있는거긴 하지만, 이것보다 더 좋은 쿨러를 사용할 거기 때문에 딱히 쓸 예정은 없다. 쿨러 고장날때는 쓰겠지만 말이다.
※ 히트파이프, 구리 심, 색상을 조절할 수 있는 LED 까지 있는 그래도 꽤 고급진 쿨러 정도로만 알고 있었다. 그런데 막상 확인해보니 꽤 기능이 많았다.
- 동봉된 USB 케이블을 쿨러와 연결하면, 전용 소프트웨어(쿨러마스터의 OEM 인듯. 소프트웨어에 쿨러마스터 로고가 있다)를 사용해 색상을 바꿀 수 있다.
- 마더보드에 4핀 12v LED 단자(ASRock RGB LED, ASUS Aura sync, Biostar VIVID LED DJ, GIGABYTE RGB Fusion, MSI Mystic Light 라고 부른다)가 있으면 이것과 쿨러를 연결해서 LED 색을 변경할 수 있다.
몇일전 업데이트 되더니 아래와 같은 바가 생겼다. 인공지능 검색 도구다. 내부적으로는 ChatGPT 를 사용하는걸로 알려져 있다.
오호 생각보다 똑똑하군.
검색 대신 사용할만 하지만, 잘 알고 있는거 물어보니 조금 다른 답을 하는거 같다. 인터넷에서 검색해본 후 대세 의견을 정리해 표시해주는거 같은데 그게 사실이라는 보장은 없으니 말이다. 그래도 정리는 잘 해주니 참고할 만한 의견은 될거라 생각. 이미지는 아직 지원 안된다.