Vai al contenuto

Video card hack: trasformare Nvidia GTX 690 in Quadro K5000 SLI o Tesla K10


StandardBus

Messaggi raccomandati

Gli utenti Linux sanno bene quanto sia difficile trarre il 100% delle potenzialità delle schede video Nvidia usando il beneamato sistema operativo open source.

Con la sempre più larga diffusione di OS quali Ubuntu e Linux Mint, e soprattutto in seguito alla pessima pubblicità fatta da Linus Torvalds all'azienda di Santa Clara, le cose sono leggermente migliorate.

I primi driver Linux sotto forma di eseguibile autoinstallante sono stati finalmente diffusi tramite la pagina ufficiale di download dei driver Nvidia, ma certo il supporto non è affatto paragonabile a quello offerto agli utenti Windows, che hanno a disposizione (più) strumenti più funzionali e stabili di quelli a disposizione del mondo open.

 

E' solo questione di tempo? Nvidia pare non pensarla così.

 

Le specifiche presenti nel sito ufficiale Nvidia esplicitano che la GTX 690 sia in grado di controllare fino a 3 schermi in 2D: http://www.nvidia.it/object/geforce-gtx-690-it.html

Riporto qui uno screen qualora la pagina venga rimossa:

http://www.nonsologaming.com/vd/Nvidiasurround690.png

...in effetti mantiene le promesse... ma sotto Windows, e SOLO sotto Windows.

Nvidia infatti ha deciso che per avere tale funzionalità sotto Linux si debba acquistare per forza la scheda Nvidia Quadro K5000 con supporto Mosaic che costa 2000-2500 euro, contro una spesa di "soli" 1000 euro per avere le più che sufficienti prestazioni della GTX 690.

Ovviamente una scheda video come la K5000 è esagerata rispetto a quello che l'utente medio necessita, e questa politica applicata da Nvidia dovrebbe costringere gli utenti Linux a preferirla rispetto alla GTX 690.

 

Geoffrey McRae (gnif) si è trovato esattamente in questa situazione, e ha cominciato a sperimentare sulla GTX 690, riuscendo a far credere al computer che si trattasse della Quadro K5000 o della Tesla K10.

 

Facciamo un breve riepilogo di come questo sia possibile:

Nvidia ha sempre prodotto due serie di schede video: la "GeForce" per il mercato consumer (Gaming) mentre la "Quadro" per gli impieghi professionali. L'ultima serie nata in ordine di tempo è stata "Tesla", dedicata alla creazione di supercomputer sfruttando più moduli che per così dire "cooperano" tra di loro (http://en.wikipedia.org/wiki/Parallel_computing).

Si può pensare che Nvidia produca quindi un chip differente per ogni singola serie, giustificando l'abisso di prezzo tra un prodotto e l'altro, ma non è così.

Per loro è molto più semplice ed economico produrre un solo chip dalle prestazioni eccezionali e successivamente "azzopparlo" sulle schede video più economiche, con operazioni di downclock e l'applicazione di limitazioni che non avrebbero altrimenti senso di esistere.

I modder lo sanno bene, ed in passato sono stati trovati diversi metodi per l'hack delle schede economiche in modo da liberare il potenziale inutilizzato dei chip prodotti da Nvidia.

In passato era sufficiente riuscire a trovare il modo di cambiare il PCI Device ID della scheda in modo che i driver riconoscessero la scheda come "Quadro" o "Tesla", permettendogli di fare quello che normalmente non avrebbe potuto fare...

Ma con la GTX 690 (e alcune delle generazioni precedenti) Nvidia ha inserito ulteriori verifiche: I nuovi driver non considerano più il solo PCI device ID come parametro attendibile per stabilire quale scheda l'utente abbia installato nel proprio computer. Il compito è stato affidato a funzioni non documentate e presenti nella EEPROM.

Tali verifiche devono essere vanificate per costringere i driver ad accettare i nuovi settaggi.

 

Torniamo a gnif: avere a disposizione una GTX 690 senza poter nemmeno collegare più monitor l'ha spinto ad analizzare la card, scoprendo che la K5000 (Quadro) è una scheda dotata di GPU singola e downcloccata del 20-30% rispetto alla GTX. Si, avete capito bene. La scheda dedicata al gaming, alla clientela non-professionale e che costa 1000 euro è più potente della Quadro K5000, che costa il doppio e che dovrebbe offrire prestazioni migliori proprio perchè dedicata al mondo professionale.

 

Come fa la scheda a stabilire se lavorare al massimo delle sue prestazioni o nella modalità "limitata"? Geoffrey stesso lo spiega:

What NVidia has done is changed the way that it handles the straps, instead of just pulling the straps high or low to control the switches as they did previously, they are now read as analogue values.

 

In sostanza, quello che permette al chip di stabilire su che scheda è montato (ma non la velocità di clock alla quale lavorare) non è altro che la lettura (analogica) dei valori di resistenza di alcuni resistori smd montati in prossimità della seconda GPU.

 

http://www.nonsologaming.com/vd/gtx690back.jpg

Stabilendo che le varie card restituiscono se interrogate i seguenti device ID:

  • GTX 690 = 0x1188
  • K5000 = 0x11BA
  • Tesla K10 = 0x118F

 

...sapendo che misurando gli ultimi due resistori (che sono gli unici da cambiare) è possibile assegnare ad ogni valore un carattere:

  • 88 -> 5KΩ, 5KΩ
  • BA -> 20KΩ, 15KΩ
  • 8F -> 5KΩ, 40KΩ

 

...sapendo che si sta parlando di valori esadecimali, quindi con caratteri che vanno da 0-9 e da A-F, si può strafare ipotizzando che: (in verde i valori conosciuti, in rosso i valori ipotizzati)

  • 8 corrisponde a 5KΩ
  • 9 corrisponde a 10KΩ
  • A corrisponde a 15KΩ
  • B corrisponde a 20KΩ
  • C corrisponde a 25KΩ
  • D corrisponde a 30KΩ
  • E corrisponde a 35KΩ
  • F corrisponde a 40KΩ

(Avendo i valori dei resistori utili a comporre i device ID di tutte e 3 le schede non sarebbe necessario calcolare le altre resistenze, ma serve a far capire come Nvidia nel progettare chip e scheda abbia stabilito che ad ogni carattere doveva corrispondere un valore preciso di resistenza e che nello stabilire la sequenza hanno anche deciso che le resistenze dovevano essere distanziate a passi di 5KΩ. Tuttavia Geoffrey non è riuscito a stabilire che valore sia stato assegnato a "1" e quindi non possiamo calcolare le resistenze che definiscono i valori 1 a 7. C'è da considerare però che osservando la scala di valori non è possibile andare oltre i 5KΩ, quindi con tutta probabilità Nvidia non ne ha fatto utilizzo).

 

http://www.nonsologaming.com/vd/gtx690mod.jpg

 

Questi sono i risultati ottenuti dopo aver effettuato le sostituzioni:

http://www.nonsologaming.com/vd/Nvidiaquadro.png

http://www.nonsologaming.com/vd/NvidiaK10.png

 

Geoffrey è già al lavoro per stabilire se lo stesso principio, essendo stato scoperto dalla scena solo ora, sia stato applicato da Nvidia anche sulle nuove schede Nvidia Titan e Nvidia Tesla K20.

Nel frattempo, i moderatori del forum ufficiale Nvidia hanno fatto tutto quello che potevano... per far sparire qualsiasi traccia del post di gnif...

Link al commento
Condividi su altri siti

Preciso qua che comunque l'hack non comporta nessun miglioramento prestazionale, in quanto le GTX 690 sono più veloci delle corrispondenti più costose, il fatto che venga riconosciuta come K5000 o Tesla K10 sblocca solo l'accesso alle funzionalità dedicate all'utenza di tali schede.

Link al commento
Condividi su altri siti

Wow...pensa te. cmq è sempre stato così, all'epoca della serie 400 ricordo...la GTX 480 (bellissima) cercavamo di capire come mai in Grafica fosse migliore la GTX480 della Quadro 5000.i Tempi di render 3D sul disegno dal vivo in maya erano migliori sotto lo stessa CPU. il processore grafico della GTX era molto più reattivo e aggressivo quindi non ho avuto dubbi dopo aver paragonato le performance.

e chiedo scusa ma dopo anni di esperienze e valutazioni continuo a promuovere le GTX nella grafica domestica e d'ufficio, la memoria installata sulle GPU è più che sufficente. Le quadro son troppo troppo costose per quel che offrono. dopo questa pubblicità XD, bellissimo Trhead!!!ho imparato qualcosa di interessantissimo, adoro il mondo delle GPU!!!!

Link al commento
Condividi su altri siti

grande! comunque nvidia rilascia driver propietari per linux (e in concomitanza con linux steam). Io ho una vecchia scheda, ma vi posso dire che con l'emulatore DOLPHIN ho prestazioni migliori sotto linux (testato il framerate con windows 7).

Probabilmente entra anche in fattore il miglior accesso all'hd e la memoria centrale (condivisa con la scheda) meno oppressa dal S.O.

Comunque io consiglio sempre di tuffarsi su ubuntu o mint, o almeno di avere una partizione linux insieme a quella windows.

Link al commento
Condividi su altri siti

  • 2 settimane dopo...

Crea un account o accedi per lasciare un commento

Devi essere un membro per lasciare un commento

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

Giochi in Uscita



  • Community Hive Community Hive

    Community Hive allows you to follow your favorite communities all in one place.

    Follow on Community Hive
  • Utenti

    Non ci sono membri da mostrare

×
×
  • Crea Nuovo...