성능 최적화가 가능한 다른 장치 드라이버의 GPU 드라이버와 다른 점은 무엇입니까?


12

두 대의 GPU 제조업체가 여기저기서 약간의 성능 향상이있는 업데이트 된 드라이버를 지속적으로 출시하는 것처럼 보입니다. 그들이 같은 게임을 할 때 시간이 지남에 따라 더해질 것입니다.

이를 염두에두고 AMD 나 인텔이 특정 앱이나 Windows 버전 등의 CPU 드라이버 조정에 대해 들어 본 적이없는 이유는 무엇입니까?


1
VTC 관련 : 모호하지 않습니다. GPU (및 CPU) 드라이버와 함께 조정되는 이유와 이유에 대한 구체적인 추론이 있습니다.
Ben Richards

1
CPU 공급 업체는 업데이트를 릴리스합니다. downloadcenter.intel.com/…을 참조하십시오 (맨 오른쪽의 펌웨어 클릭)
derobert

@derobert-흥미롭게도 인텔은 펜티엄의 위기를 되풀이 할 의도가 없습니다. 그러나이 업데이트는 프로세서 마이크로 코드 용 이며 "CPU 드라이버"가 아닙니다. 마이크로 코드는 커널 및 .exe 파일 의 머신 코드보다 낮은 수준에서 실행됩니다 .
톱밥

@sawdust CPU 마이크로 코드 (적어도 부분적으로)는 CPU가 수신하는 x86 명령어를 실제 작업으로 변환하는 역할을합니다. 실제로 그래픽 드라이버와 다소 비슷합니다. 물론 인텔은 nVidia보다 정확성에 더 많은 관심을 기울 이므로 업데이트는 대부분 버그 수정일 것입니다.
derobert

답변:


13

첫째, 때로는 특정 CPU에 대해 성능을 향상 시키거나 효율성을 높일 수있는 드라이버 패치가 출시되는 경우가 있습니다. 그러나 분명히이 질문은 그다지 흔한 것이 아니기 때문에 묻는 것입니다. 그러나 CPU 드라이버 최적화는 개념 상 유사합니다.

GPU는 매우 복잡한 회로입니다. CPU에서 시간이 오래 걸리는 특정 작업을 오프로드하기 위해 존재합니다. 데이터 세트와이 데이터로 수행 할 작업에 대한 지침을받습니다. GPU는 관리 가능한 방식으로 데이터를 주문하고 지시 사항을 해석하여 수행 할 작업을 지시 할 수 있어야합니다. 그런 다음 데이터에 대해 일련의 수학 연산을 수행해야합니다. 그런 다음 데이터를 다시 정렬하고 결과가 완료되면 운영 체제로 결과를 다시 보내야합니다. 이것은 컴퓨터 그래픽스 파이프 라인에 대한 매우 간단한 설명입니다 . 데이터가 프로그램에 준비되기 전에 수행해야하는 여러 단계가 있습니다.

이제 GPU는 일련의 명령어를 수용하고 하드웨어에서 매우 복잡한 수학 연산을 구현해야하므로이 파이프 라인을 통해 더 빠르거나 느리게 실행되는 것으로 알려진 것들이 있습니다. 장치의 드라이버를 작성하는 과정에서 장치로 전송되는 데이터와 명령을 해석하여 장치가 이해할 수 있도록 번역합니다. 드라이버가이 작업을 수행 할 때 작업에 가장 짧은 시간이 걸리도록 장치로 데이터를 보내는 방법을 결정할 수 있습니다. 그러나 드라이버는 일반적으로 서비스를 제공하는 프로그램에 대한 정보가 많지 않습니다. 프로그램에서받는 모든 것은 API 호출입니다 ( "선 그리기", "점을 채색", "삼각형 음영"등). 따라서 가정 할 수있는 가정은 그리 좋지 않습니다.

AMD 또는 nVidia가 특정 게임에 대한 성능 개선 사항이 포함 된 드라이버 업데이트를 출시하면 드라이버가 그래픽 하드웨어를 호출하는 게임을 감지하고 게임 방식에 대해 알려진 일련의 하드 코딩 가정이 있음을 의미합니다. 구현되었습니다. 게임에 많은 텍스처 이미지가있어 메모리 안팎으로 빠르게 교체해야하거나 특정 조명 효과를 내기 위해 즉석에서 많은 색상을 블렌딩해야 할 수도 있습니다. 일반적으로 게임은 이러한 계산을 수행하는 방법을 설명하는 작은 프로그램 ( "셰이더"라고 함)을 구현하고 실행을 위해 GPU로 전송됩니다. 운전자가 게임에서 하드웨어를 사용하는 방법을 알고 있으면 데이터를 구성하고 처리량과 효율성을 높이는 방식으로 원하는 작업을 수행하는 명령 세트를 선택할 수 있습니다.

그러나 때로는 제품이 배송 된 후 GPU의 일부에 버그가있을 수 있습니다. 칩을 설계 할 때 유효성 검사에서 놓쳐 버릴 정도로 불분명 할 수 있지만 특정 게임에서 버그가 발생하거나 바람직하지 않은 동작 (또는 충돌)이 발생하는 것을 알 수 있습니다. 이 경우 드라이버는이 버그가있는 상태를 감지하여 CPU 측으로 계산을 오프로드하거나 GPU에 데이터를 공급하는 방식을 변경하여이 상태로 들어 가지 않도록하여 버그를 해결합니다. 이것들은 다시 드라이버 업데이트 형태로 출시 될 것입니다.

따라서 기본적으로 하드웨어 자체의 성능을 변경하지 않고 하드웨어 사용 방식을 변경하여 동일한 데이터 세트에서보다 효율적이고 빠르게 작동 할 수 있습니다.


드라이버 엔지니어가 게임 구현 방식을 이해하면 일부 게임의 Nvidia 스플래시 화면이 단순한 광고가 아닌지 궁금합니다.
Louis Waweru

2
@Louis 그들은 단순한 광고가 아닙니다. NVidia는 특정 게임 스튜디오와 특별한 관계를 유지하고 개발자에게 NVidia 그래픽 하드웨어의 게임 코드를 최적화 할 수 있도록 지원하기 때문입니다. AMD도이 작업을 수행하지만 (종종 게임에 AMD 로고가 표시 될 수 있음) NVidia는 역사적으로 훨씬 더 큰 존재를 보여 왔습니다.
Ben Richards

이것을 다시 읽으면 큰 답변이며 확인 표시가있는 곳을 봅니다. 나는 모든 답변이 그들의 설명에서 그렇게 가르치기를 바란다.
Louis Waweru

당신은 통합겠습니까 ( 이상의 숫자를 다른 현상금에 대한 예로서)?
Louis Waweru

10

"CPU 드라이버"는 거의 존재하지 않으며로드 가능한 모듈로는 없습니다. 멀티 코어 제어 또는 인터럽트 처리의 일부 변형에는 가끔 "CPU 드라이버"가 필요합니다 (예 : AMD 듀얼 코어는 전체 활용을 위해 WinXP 드라이버가 필요했습니다). 그렇지 않으면 대부분의 OS가 CPU에 직접 액세스하도록 구성 및 구축됩니다. 문제가 나타나고 심각하면 커널 코드가 패치되고 커널 업데이트가 릴리스됩니다.

GPU는 더 이상 주변 장치가 아닙니다. 그들은 보조 프로세서로 진화했습니다. "GPU 드라이버"는 장치 액세스를 제공 할뿐만 아니라 드라이버에 패키지 된 GPU에 대한 처리 알고리즘 (예 : 그래픽 서브 프로그램)을 포함합니다. 이 "드라이버"의 크기는 공짜 / 단서입니다. 개선되고있는 것은 이러한 알고리즘 / 서브 프로그램입니다.


2
내 카드의 드라이버 다운로드가 200MB 이상인 이유를 설명합니다.
Louis Waweru

그 드라이버에 200MB의 코드 가 있는지 의심 합니다. 이 모든 알고리즘에 대해 소수의 MB 이상인 경우 놀랍습니다.
user541686

1
@Mehrdad 호기심에서 Nivida의 드라이버를 위해 7-zip으로 설치 프로그램 EXE를 열었습니다. Display.Driver 폴더의 크기는 147MB이고, exe는 31MB이며, 660KB 이상의 다른 모든 파일은 DLL입니다.
Scott Chamberlain

@ 스콧 : 그 exe는 거의 실제 코드를 포함하는 더 많은 파일의 아카이브입니다 . 실제 파일은 최대 몇 메가 바이트가 될 것으로 예상합니다. 코드가 아닌 포함 할 수있는 모든 리소스는 모듈로입니다.
user541686

0

그것은 드라이버뿐만 아니라 GPU 자체입니다. GPU는 다양한 유형의 계산 (예 : FFT) 및 메모리 조작에 특화되어 있습니다. 대부분의 주어진 작업에서 병렬로 작동하여 범용 CPU보다 효과적입니다.

실행중인 프로그램에 대한 지식이 풍부하면이 프로그램의 메모리 조작 또는 계산 프로세스를 최적화 할 수 있습니다. GPU는 계산을 수행하고 메모리 조작을 수행하는 방법에 매우 다양하므로 완벽한 펌웨어 또는 드라이버를 작성해야합니다. ;) 개선의 여지가 충분합니다.

대부분의 다른 장치는 그 용도가 다양하지 않습니다. PC의 대부분의 하드웨어는 사양에 따라 실행하고 프로토콜을 따라야하므로 드라이버를 최적화 할 필요가 없습니다.

A, CPU를 잊어 버렸습니다. > _ <CPU를 최적화 할 수 있습니다. 대부분의 새로운 CPU 모델에는 프로그래밍 가능한 펌웨어가 있지만 성능 향상은 그만한 가치가 없습니다. 하드웨어 빌드 프로세스에서 오류를 수정하는 데만 사용됩니다.


"대부분의 새로운 CPU 모델에는 프로그램 가능한 펌웨어가 있습니다."라고 설명하십시오.
Tim
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.