Mesaje recente

Members
Stats
  • Total Posts: 17,786
  • Total Topics: 1,234
  • Online today: 170
  • Online ever: 233
  • (26 June 2007, 07:28)
Users Online
Users: 0
Guests: 396
Total: 396

GeForce 450 soft-modificata in Quadro 2000

Started by SoNic, 31 May 2014, 18:05

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SoNic

Dupa cum stiti, NVidia (similar si ATI) are doua linii de placi video - GeForce pentru jocuri (gaming) si Quadro pentru aplicatii profesionale (CAD, sau masini virtuale cu GPU pass trough). Studiind datele tehnice ale celor doua versiuni, se observa ca sunt de fapt aceleasi cipuri, dar setate sa raporteze la instalarea driverelor in ID diferit.
Cazul meu - GTS 450 are acelasi GPU (GF106, generatie Fermi), acelasi numar de core si aceeasi cantitate/tip de memorie video ca si Quadro 2000.
ID-ul GTS 450 este 0DC4, al Quadro 2000 este 0DD8. Id-ul este setat de niste rezistente lipite pe pinii cipsetului, dar in cazul placilor Fermi, in interiorul firmware-ului exista doua regiuni de memorie (softstraps) care efectueaza operatii de "AND" si "OR" inainte de a trece ID-ul mai departe la driver.

Am incercat mai intai sa modific fisierul inf al driverelor, si asta mi-a permis initial sa instalez diverele "Quadro" pe placa mea GTS450. Dar in Windows era inca vazuta ca GTS, si performantele in CAD erau neschimbate.
Am gasit pe net modalitatea de calcul a locatiilor interne de memorie pentru a schimba ID-ul placii aici:
http://xen.1045712.n5.nabble.com/turning-nvidia-gts-450-into-quadro-2000-td5721058.html
Intamplator, el a avut un GTS450 cu acelasi ID si softstraps ceea ce mi-a usurat modificarea. In prima instanta, folosind GPU-Z am salvat BIOS-ul original al placii video. L-am trimis la baza de date al GPU-Z (este un Galaxy GTS 250 overclocked).
Strapurile originale in BIOSul meu erau:
7ffc3fff 00004000 000060 7fffffff 80000000 (incepand de la adresa 0x058, in format little endian.
Folosind nvflash (windows version), am schimbat strap-urile mele originale folosind:

nvflash -a

(Listeaza placa video si indexul ei)

nvflash --index=X --straps 0x7FFC2FFF 0x10006000 0x7fffffff 0x00000000

Nu folositi strapurile astea daca nu aveti aceleasi strapuri originale ca si mine si cele descrise in linkul de mai sus, altfel placa va fi ne-recunoscuta!!!
Re-calculati valorile necesare!

--index=X trebuie folosit daca avem mai multe placi NVidia in sistem (X=placa dorita). Daca este numai o placa, partea asta poate fi eliminata.

Ulterior, am "power off" si "power on" pentru ca placa sa "ia" noul ID. La pornire am salvat BIOS-ul din nou si l-am deschis cu NiBiTor 6.06 pentru a edita si numele placii (la pornirea PC, scria inca GTS 450, dar driverele o vedeau ca si Quadro). Nu stiu daca este un pas important, dar mi s-a parut normal sa fac curat. Noul BIOS, generat de NiBiTor l-am flashuit din nou pe placa. Atentie, NiBiTor generaza checksum-ul correct, dar inainte de flash, mai verificati asta odata. Cu checksum gresit placa va avea un semn de exclamare in Windows si nu va avea output video - se poate re-flashui dar aveti nevoie de inca o placa video functionala in PC (pentru a vedea ce faci).

Rezultatul final - am acuma o placa care este recunoscuta de Windows si NVidia Control panel ca fiind Quadro 2000, este overclocked in comparative cu varianta "oficiala" (variantele "pro" sunt underclocked de la "nastere" pentru stabilitate).
Rezultatele in testele pentru 3D jocuri au ramas la fel (cu noile drivere nVidia nu mai sunt diferente), am instalat si Physics (sa fie). In benchmarkul de AutoCAD Cadalyst 2015, am obtinut 2D=276 si 3D=804.
Un Quadro 600 (Fermi, 96 cores) mi-a dat 2D=277, 3D=705 si un Quadro K2000 (varianta Kepler, mai potenta) mi-a dat 2D=255 si 3D=832. Nu am un Quadro 2000 "real" la indemana pentru a compara, dar rezultatele sunt OK pt mine.
Performance Test 8.0, in testul 3D Graphics Mark, a rezultat 1712. Media pentru GTS 450 este la 1541. Quadro 2000 are o medie de 1299.

In esenta, acum am in PC un processor Xeon E5450 "moded" din LGA 771 in LGA 775 (vezi treadul anterior) si un Quadro 2000 modded din GTS 450 :D



PS: In versiunile Kepler ale GeForce, nVidia a eliminat registrele interne, modificarile in Quadro sunt posibile numai prin modificarea rezistentelor de pe placa video:
http://www.eevblog.com/forum/chat/hacking-nvidia-cards-into-their-professional-counterparts/

Unsigned integer