ReBarUEFI로 구형 UEFI 보드에서 Resizable BAR 켜기, Turing GPU는 메인보드 UEFI 플래시 필요
- ReBarUEFI는 ReBAR를 지원하지 않는 UEFI 펌웨어에서도 Resizable BAR를 켜는 DXE 드라이버와 패치 도구를 제공함. Intel Arc GPU는 최적 성능을 내려면 이 기능이 필수임.
- Resizable BAR는 CPU가 GPU VRAM 전체를 한 번에 매핑하도록 하는 PCIe 3.0 기능으로, 장치당 256MB로 묶이던 MMIO 창을 넓히는 방식임. 게이밍 성능 향상 폭은 5%에서 15%로 설명됨.
- AMD는 Zen 3와 RX 6800 시리즈에서 이걸 Smart Access Memory라는 이름으로 다시 내놨으나 사실은 PCIe 스펙에 원래 있던 기능이고, Sandy Bridge 시절 PCIe 컨트롤러부터 지원됐는데 펌웨어에서 꺼져 있었음.
- 저장소는 ReBarDxe(DXE 드라이버), ReBarState(설정 도구), UEFIPatch, tools 디렉터리로 구성되고 커밋 113개, 스타 2.4k, 포크 113개를 기록 중임. 최신 커밋은 2025년 12월 1일 "Fix patches not applying"임.
- Turing(GTX 1600 / RTX 2000) GPU에서는 메인보드 UEFI 이미지를 새로 플래시해야 ReBAR가 켜지고, x79 보드처럼 Above 4G Decoding 옵션이 바이오스 메뉴에 아예 없는 경우 손패치 바이오스가 필요함. 2000 시리즈 카드 쪽은 별도 저장소 NvStrapsReBar가 담당함.
Hacker News opinions
이게 뭘 하는 건지 모르겠음. README를 봤는데 ReBAR가 왜 필요한지 전혀 감이 안 잡힌다.
ReBAR는 CPU가 GPU VRAM 전체에 접근하게 해주는 거임. 게이밍 성능이 올라가는데 AMD GPU에서 특히 효과가 큼.
정확히는 Resizable Base Address Register라서, 원래 PCI 장치마다 CPU 쪽에 매핑되는 메모리가 256MB로 고정인데 ReBAR 장치는 더 큰 메모리를 CPU 주소공간에 올릴 수 있음. 아니면 256MB 덩어리를 GPU와 CPU 사이에서 계속 실어 나르는 수밖에 없음.
AMD가 Smart Access Memory라고 팔았던 게 사실은 PCIe 스펙에 원래 있던 기능이었음. Sandy Bridge부터 컨트롤러가 지원했는데 펌웨어에서만 꺼져 있었고 10년간 아무도 안 썼는데 AMD가 켜준 거지.
PCIe 3.0 스펙에 Resizable BAR가 들어가면서 GPU가 필요한 MMIO 크기를 펌웨어에 알려주는 구조임. 예전엔 VRAM이 몇 기가든 256MiB MMIO 창 하나만 썼고, 32bit 시절 RAM 4기가 중 3.25기가만 보였던 게 이 주소공간 공유 때문임.
예전 워크스테이션 보드의 진짜 골칫거자는 Above 4G Decoding이 필요한데 바이오스 메뉴에 아예 없는 경우임. x79 보드에선 손패치 바이오스를 만들어야 현행 GPU가 아예 돌아갔다.
나도 x79에서 12GB VRAM GPU 쓰려고 바이오스 손패치했던 기억 남. 재밌는 건 그 보드 얼마 안 있어서 통째로 죽었지만...
이런 바이오스 개조 때문에 Coreboot에 눈을 뜨게 됐음. NVMe 부팅 추가나 안 되던 CPU용 마이크로코드 주입 같은 개조도 다 같은 종류의 작업이다.
난 반대로 RTX 3080 20G 바이오스에 ReBAR를 넣는 게 필요한데, BAR가 카드 펌웨어 암호화 영역 밖이라 이론상 가능하다고 하더라.
저장소에 NvStrapsReBar 링크가 걸려 있음. 2000 시리즈 카드에서 그걸로 해결되니까 거기부터 시작해 봐.
회사 Dell 노트북에도 해볼까 하는 중인데 하드웨어는 ReBAR를 지원하는데 Dell이 옵션을 안 열어줌. ARC 외장 GPU로 모니터 3개를 제대로 쓰려면 이게 필요하다.
ML 워크스테이션(주로 단백질 폴딩)에서도 켜야 하나? 대부분 이미 켜져 있을 거고 이 UEFI 모드는 2018년 전후 보드용임. 1세대 2세대 Threadripper 급 얘기라 CPU 이름이 3으로 시작하면 기본으로 켜져 있을 듯.
Turing GPU는 메인보드 UEFI 이미지를 새로 플래시해야 한다니 겁나네. 벽돌 될 수도 있는 거라 내 오래된 1660 Ti 박은 기계에는 선뜻 못 건드리겠음.
레노버 ThinkPad에서는 되는지 확인해 볼 사람 있나? 목록에 있는 보드들은 Thunderbolt는 있는데 ReBAR를 켜는 방법이 없더라.