Un'applicazione può rompere la scheda grafica?


15

Nota veloce: so che questo è un sito di domande e risposte sullo sviluppo di giochi , ma credo che voi ragazzi lo sappiate e abbiate esperienza con le schede grafiche, quindi vi rivolgo questa domanda. Se ritieni che questo sia completamente fuori tema, per favore riferiscimi a un sito / forum adeguato. Modifica: In realtà, è legato a Gamedev: se un codice errato può causare il surriscaldamento o la rottura delle carte, gli sviluppatori di giochi dovrebbero esserne consapevoli e assicurarsi che le loro applicazioni non lo facciano.

Questa potrebbe sembrare una domanda strana o stupida, ma in realtà è possibile scrivere un'applicazione di rendering grafica che può rompere la scheda grafica (in qualsiasi modo)?

Il motivo immediato che mi ha fatto porre questa domanda è stata (senza sorpresa) la mia scheda grafica rotta. Dopo averlo riparato, il tecnico ha dichiarato di aver testato varie app (giochi) su di esso e ha funzionato bene. Ma quando ho lanciato la mia app (demo differita di shading) la ha riscaldata a oltre 100 gradi Celsius. Quindi la mia carta non è stata risolta dopo tutto, ma ciò che è importante qui è che il problema sembrava verificarsi solo quando eseguivo la mia app.

Ci ho giocato su vari giochi impegnativi per la GPU (come Crysis) e spesso l'ho spinto al limite e altro (aveva impostazioni così alte che i giochi giravano a 5 FPS), anche alcuni benchmark ... Quindi ho dato la mia carta, molte volte, è stata caricata così tanto da non riuscire a recuperare (quindi bassi FPS) ma non ha mai raggiunto temperature pericolose. Ma la mia stessa applicazione è riuscita a raggiungerlo (almeno quando la v-sync era disattivata). : P Dato che era solo la mia app, non credo che un cattivo sistema di raffreddamento sia stato il colpevole.

Quindi chiedo: pensi (o forse sai) se è possibile o meno rompere la scheda grafica (in qualche modo, non solo surriscaldando) con un codice vizioso?

Aggiornare:

Joe Swindell ha detto che il surriscaldamento potrebbe essere il problema (beh, sicuramente può rompere la carta). Ma un adeguato sistema di raffreddamento non dovrebbe impedire che ciò accada (in nessun caso)?

Boreal ha sottolineato un altro problema. Se ho capito bene, l'FPS è vincolato sia dalla CPU che dalla GPU (giusto?). Un FPS così basso potrebbe segnalare un elevato carico della CPU o un elevato carico della GPU . Ma ancora una volta: un sistema di raffreddamento adeguato non dovrebbe impedire il surriscaldamento della GPU anche se la scheda viene "utilizzata sempre al 100%"?


La maggior parte dei giochi non utilizzerà la GPU al massimo delle sue potenzialità, ma per molti versi sarà legata alla CPU. Tuttavia, la tua applicazione potrebbe non fare nulla sul lato CPU, il che porterà a un utilizzo della GPU molto più elevato. In poche parole, le GPU non sono pensate per essere utilizzate sempre al 100%. Questo è il motivo per cui non vuoi acquistare una GPU usata in questo momento - probabilmente è stata utilizzata per il mining di Bitcoin.
jmegaffin,

6
@Boreal Non sono assolutamente d'accordo. Se acquisti una GPU da un produttore di schede di qualità, è progettata per essere utilizzata al 100% in ogni momento e le velocità di raffreddamento e clock sono state impostate per garantire che sia stabile in tali condizioni. Ora, se hai un dissipatore di calore aftermarket che non è installato correttamente o se overclocchi la scheda a un livello pericoloso, questa è un'altra storia.
Nathan Reed,

"Ma un adeguato sistema di raffreddamento non dovrebbe impedire che ciò accada (in nessun caso)?" - dì che i fan, i dissipatori di calore e lo scarico della GPU si sporcano di polvere perché non ti sei preso cura del tuo computer. Quindi può sicuramente surriscaldarsi e rompersi, anche con parti di fascia alta. Spero che rilevi solo il calore, si spenga e si riavvii prima che si danneggi, ma davvero non vuoi scommettere su quello.
Sean Middleditch

Cordiali saluti, il computer dovrebbe spegnersi automaticamente quando si surriscalda pericolosamente. È possibile che questo sia disabilitato sul tuo computer?
Richard Tingle,

SeanMiddleditch, per "corretto" intendevo, tra l'altro, un sistema di raffreddamento pulito e perfettamente funzionante. RichardTingle, almeno non l'ho disabilitato. Ma intendevo la mia domanda come un problema generale, non cercare una soluzione al mio caso concreto.
NPS,

Risposte:


32

Non è responsabilità dell'app assicurarsi che la GPU non si surriscaldi, e non è colpa dell'app se si surriscalda.

Se la GPU non ha un raffreddamento adeguato, sì, l'esecuzione di un'app 3D può riscaldarla a livelli pericolosi. Non so perché la tua app lo faccia e Crysis non lo fa, ma significa che la scheda ha un raffreddamento inadeguato e / o è stata incasinata (overcloccata o altre impostazioni di fabbrica / driver modificati).

Oltre al surriscaldamento, non sono a conoscenza di altri modi in cui il software potrebbe danneggiare fisicamente il chip su cui è in esecuzione. Questo non dovrebbe essere possibile; sarebbe un grave fallimento del design.


1
Quindi, in base a quello che hai detto, non dovrei preoccuparmi (come programmatore) di quanto carico (e riscaldamento) della GPU genera (purché funzioni senza intoppi)?
NPS,

11
@NPS Right. Ti preoccupi del carico della GPU nella misura in cui influenza il framerate (e sui dispositivi mobili, la durata della batteria), ma non è tua responsabilità preoccuparti di come influisce sulla temperatura - questo è per i driver / sistema operativo di cui preoccuparsi. Se un'app surriscalda la GPU, non viene raffreddata correttamente e / o c'è qualcosa che non va nel ridimensionamento dinamico della frequenza del driver.
Nathan Reed,

4
+1, è compito dell'utente assicurarsi che il suo hardware soddisfi i requisiti (e che "non sciogliersi durante il gioco" sia considerato un requisito) e che il lavoro dell'hardware / driver faccia del suo meglio per proteggere la scheda da eventuali danni. L'applicazione dovrebbe (e deve) fare affidamento su questo, non c'è nient'altro che possa fare.
Thomas,

Voglio scrivere un manifesto per l'etica del produttore: quando acquisti un hardware di una determinata specifica, dovresti essere in grado di accedere a questa specifica sotto tutte le condizioni indicate sul pacchetto (di solito viene indicato da 0 a 40 gradi C). E non subire una stupida limitazione termica, altrimenti un buon processo dovrebbe dimostrare che sono stato derubato dei miei soldi da false dichiarazioni sul pacchetto.
v.oddou,

@NPS "Quindi, in base a quello che hai detto, non dovrei preoccuparmi (come programmatore) di quanto carico (e riscaldamento) della GPU genera (purché funzioni senza intoppi)?" - Sì, dovresti preoccuparti del carico, ma non del surriscaldamento. Assicurati solo che impostazioni più basse generino un carico inferiore e quindi meno rumore di raffreddamento. Dato che a volte gioco a batteria, ridimensionerò i giochi su Steam che bruciano il 100% di CPU e GPU senza fare nulla, e non sono l'unico.
Peter,

24

È successo in natura.

Starcraft II nel 2010 avuto un problema in cui aveva un framerate non coperto sugli schermi dei menu che caricava in modo strano le schede grafiche, distruggendo le carte di alcuni fornitori con una protezione termica insufficiente.

I difetti di progettazione e produzione nella stessa GPU possono anche portare allo smantellamento della scheda stessa sotto carico. Le GPU mobili G84 / G86 avevano giunti saldati che si rompevano con carichi di temperatura accettabili e alla fine si sono rotti. Abbiamo anche il famigerato Red Ring of Death dell'XBox 360 che ha problemi termici simili con la saldatura e l'espansione.

Tutto quanto sopra è una miscela di difetti hardware e design termici insufficienti, amplificati dal carico del software.


6
Starcraft è stato l'esempio a cui ho pensato subito. Sebbene probabilmente Starcraft abbia esposto un bug con un numero di schede grafiche e quindi fornito una soluzione alternativa per quel bug piuttosto che Starcraft fosse effettivamente in errore. Non che chiunque abbia una carta distrutta si preoccuperebbe troppo di quella distinzione
Richard Tingle

1
Una volta una generazione di monitor non intelligenti poteva far distruggere i propri trasformatori flyback dal software inserendo valori errati nei registri CRTC. Un terzo motivo per i fallimenti da aggiungere è che la gara di velocità ha fatto tagliare molti angoli ai costruttori, molte volte le carte non sono state costruite abbastanza robuste per il 100%
Patrick Hughes,

9

La tua domanda è molto più complessa di quello che hai scritto. Direi che la domanda generale è "il software può rompere l'hardware?", E la risposta a questa domanda è sicuramente un sì.

Intendiamoci, non tutto l'hardware può essere teoricamente rotto tramite comandi software, ma alla fine, ciò che il software fa è inviare segnali elettrici a componenti hardware molto delicati. Di solito, più un componente hardware è delicato, più è probabile che venga danneggiato quando viene gestito in un modo in cui non è stato progettato.

Esistono molti modi divertenti in cui l'hardware può rompersi, ma consideriamo solo il surriscaldamento: il lavoro di elaborazione genera calore e quel calore deve andare da qualche parte. A seconda delle caratteristiche di dissipazione della scheda, del flusso d'aria nel case e della temperatura generale nella stanza, la quantità di calore rimossa dal sistema può essere maggiore o minore di quella generata da essa.

Se si chiede alla scheda video di fare un lavoro che generi più calore di quanto possa essere dissipato in modo efficiente, la temperatura del chip aumenterà. Se lo fai andare avanti, la temperatura salirà al di sopra del livello operativo sicuro e il chip si romperà, perderà il suo fumo magico e probabilmente causerà anche un rischio di incendio. Hai appena rotto la tua scheda video, spero che tu sia felice.

Ora, si può si scrivere software che fa questo? Direi molto probabilmente di no. Qualsiasi programma (a livello di utente) che scrivi non parla direttamente con la scheda video. Esistono molte misure di sicurezza progettate per prevenire questa situazione e tutte devono fallire, quindi il tuo programma di rendering finisce per bruciare la tua casa.

  1. Generalmente, i dissipatori di calore e i ventilatori sono progettati in modo da poter rimuovere comodamente la massima quantità di calore che la scheda genererà, anche in casi scarsamente ventilati in climi caldi (entro i limiti operativi indicati dal produttore)

  2. Se la generazione di calore è maggiore della dissipazione del calore, la prima linea di difesa sarebbe il driver. La maggior parte dei driver controllerà la temperatura interna della GPU e, se aumenta, il conducente potrebbe limitare la quantità di istruzioni che invia alla GPU per evitare di generare più calore.

  3. In caso contrario, il firmware nella scheda grafica dovrebbe rilevare che il calore si sta accumulando pericolosamente e quindi ridurrà la velocità di clock nel tentativo di ridurre la generazione di calore.

  4. Se dopo tutto ciò, il calore si sta ancora accumulando, un diodo termico disponibile nella maggior parte delle moderne CPU e GPU spegnerà completamente la scheda video e la generazione di calore si fermerà.

Quindi, se vuoi rompere la tua costosa scheda video da un'applicazione a livello di utente tramite il surriscaldamento, oltre a costruire un software che solleciti il ​​sistema al massimo, avrai bisogno di:

  1. Un sistema di dissipazione del calore difettoso o rotto. Basta infilare il dito nella ventola (sempre al centro, non nelle pale) dovrebbe fare il trucco. Difficoltà: facile

  2. Un driver personalizzato (o buggy) con funzionalità di limitazione disabilitate o danneggiate. Difficoltà: normale

  3. Un firmware personalizzato con funzioni di riduzione dell'orologio disabilitate o danneggiate. Difficoltà: difficile

  4. Un diodo termico rotto. Se si attiva costantemente il diodo termico, potrebbe danneggiarsi. Difficoltà: molto difficile

... ma non impossibile! Sentiti libero di provarlo *, ma assicurati di tenere il telefono dei vigili del fuoco a portata di mano quando lo fai.

*: Questo è sarcasmo. Non sto in alcun modo perdonando la creazione di un pericolo di incendio o qualsiasi attività che possa danneggiare te, la tua famiglia, il cane o la comunità in alcun modo. Leggendo questo post mi esoneri completamente da ogni responsabilità che le tue azioni possono comportare.


1
+1 per molte cose, ma soprattutto per pensare al cane. :)
Andrew Thompson,

2

Anche con VSYNC disattivato, molti giochi non riescono a raggiungere anche il 98% di utilizzo della GPU. Più il gameplay effettivo implementano, meno fotogrammi possono mettere in scena e più è probabile che la GPU venga sottoutilizzata. I buoni giochi multi-core ottimizzati possono avvicinarsi significativamente all'utilizzo della GPU al 100%, ma in generale la logica di gioco mantiene la CPU abbastanza occupata con altre attività che non è in grado di saturare la GPU con un carico di lavoro completo. Le applicazioni di rendering puro possono facilmente raggiungere il 100% di carico della GPU, ma i giochi fanno molto di più del rendering.

Per contro, sulla mia macchina di casa la mia GPU genera EMI significative sotto carico elevato e interferisce con l'audio integrato economico sulla mia scheda madre. Sento un lamento acuto sull'audio analogico la cui frequenza varia con il carico. Sono venuto a godermelo e lo considero una caratteristica piuttosto che un difetto di progettazione, rende la profilazione interessante come posso effettivamente ascoltare il livello di carico senza dover campionare un contatore delle prestazioni della GPU. Tuttavia, suppongo che se si dispone di un dispositivo altamente sensibile alle interferenze elettromagnetiche e schermato in modo inadeguato questo potrebbe essere un problema ... un elevato carico della GPU potrebbe causare guasti in un altro dispositivo.


0

Il surriscaldamento sta distruggendo la scheda grafica. Lanciare un enorme ciclo di dati che non è in grado di gestire certamente, come hai visto, si bloccherà e potrebbe danneggiare permanentemente la tua carta.


4
Ma qualsiasi applicazione può dare alla carta più di quanto possa masticare (praticamente qualsiasi gioco di qualche anno più giovane della carta stessa). Un sistema di raffreddamento adeguato dovrebbe impedirlo (indipendentemente dall'applicazione), non dovrebbe?
NPS

Hai ragione nel dire che qualsiasi gioco POTREBBE farlo ... ma la maggior parte del codice non bloccherà la GPU al 100% e, se lo fa, di solito non lo è al 100% per lunghi periodi. Tuttavia, sarei d'accordo al 100% con te sul fatto che un adeguato sistema di raffreddamento dovrebbe impedire tutto ciò.
Joe Swindell,

2
Sembra una follia. La velocità di clock dovrebbe essere impostata a un livello sicuro, proprio come la CPU
Richard Tingle,

0

Sì, può.

  • Il surriscaldamento come esempio ovvio, può essere causato da carichi di lavoro estremi. Generalmente ottenuto attraverso l'overclocking. Questo sarebbe il più facile da causare intenzionalmente.

Può essere evitato con buoni sistemi di raffreddamento. Abilitare V-sync è anche un buon modo per evitarlo. V-sync impedisce alla GPU di produrre frame a una velocità maggiore di quella che il monitor è in grado di gestire, che sono frame che normalmente vengono lasciati cadere, mai visti.

Meno frame = meno elaborazione = meno carico di lavoro estremo.

Anche tenere traccia delle capacità della GPU è importante. Immagino che i programmatori di Crytek abbiano scritto il codice per essere pronti a qualcuno a sopravvalutare le proprie abilità con le schede grafiche. Se lo facessero, sono sicuro che è una funzionalità che ha salvato molte GPU e ha salvato molti proprietari di GPU inconsapevoli dalla frustrazione.

  • Un po 'di dati corrotti (o codificati in modo improprio) può far sì che un puntatore finisca per puntare verso un luogo in cui non è previsto, il che può rovinare ogni genere di cose. Sebbene probabilmente non permanente, potrebbe causare vari gradi di fallimento nel suo funzionamento. Tale errore sulla CPU viene normalmente rilevato dal sistema operativo ed evitato o, se non può essere evitato, invocherà un BSOD (schermata blu della morte).

Può essere evitato con un'attenta codifica e un doppio controllo in fase di esecuzione. (Ma ci sono sempre dei bug. Se non ci sono, è perché stanno giocando con te.)

  • La GPU avrà anche un driver, che aggiunge un altro posto dove le cose possono andare storte. Alcuni dati possono essere danneggiati lì, oppure può esserci un bug, ecc. Ecc. Per aggiungere a tali driver, in generale, si corre il rischio di causare un BSOD. Il sistema di fallback del sistema operativo quando qualcosa va terribilmente storto e deve eseguire un'operazione di arresto di emergenza per cercare di minimizzare o prevenire il danno. Un driver attentamente codificato (si spera) non lo farà, ma c'è sempre una possibilità per i bug. Incluso nelle procedure di arresto di emergenza.

Questo può essere evitato con un'attenta codifica e un doppio controllo in fase di esecuzione.


3
I driver di visualizzazione non sono stati una fonte significativa di BSOD per molto tempo, per fortuna. Microsoft ha completamente revisionato il modello di driver in Windows NT 6.0 (Vista) e ha portato gran parte del driver in modalità utente; I BSOD sono causati solo da crash delle cose in modalità kernel. Quando il driver del display in modalità utente si arresta in modo anomalo, la cosa peggiore che si verifica è che il driver si ripristina da solo: in un gioco D3D potresti dover affrontare una perdita di contesto e impiegare un po 'di tempo per ricaricare le risorse, ma in GL a volte puoi recuperare in modo completamente trasparente da questo . Ci vuole un fallimento gravemente basso per ottenere un BSOD.
Andon M. Coleman,

0

Una sola risposta: SÌ.

Risposta dettagliata: Sì. Può (in determinate situazioni). Immagina di scrivere un programma che trasferisce drasticamente i dati sulla tua GPU in un ciclo infinito. È certo che si surriscalda. Ora, non è responsabilità del suo sistema di raffreddamento occuparsene? Ovviamente è. Ma dovresti anche ricordare che il sistema di raffreddamento ha anche alcuni livelli di soglia. Se il calore prodotto non rientra nell'intervallo operativo del sistema di raffreddamento, il sistema di raffreddamento non è di alcuna utilità. Non so cosa faccia la tua app, ma parlando dal punto di vista dei programmatori, potresti scrivere tali programmi che portano a questo tipo di situazione.


Per quanto ne so, tutto questo è già stato detto. È quello che volevi dire?
Anko,

0
  1. L'installazione di un driver non corrispondente con la scheda effettivamente utilizzata può facilmente causare danni permanenti. Il mio amico è riuscito in qualche modo a farlo attraverso la reinstallazione ripetitiva del sistema operativo e il cambiamento fisico dell'HDD.

  2. Rendi il tuo PC acceso e spento molte volte. Non sono sicuro che ciò possa causare errori ma è molto possibile. Comunque, non sembra proprio un softwaremodo per farlo.

  3. Manipola il livello di energia nel sistema accendendo e spegnendo i dispositivi USB che consumano energia (esempio: HDD esterno che non utilizza la propria energia). In questo modo la tastiera e il mouse diventano sempre inutilizzabili fino al prossimo riavvio e ha (oltre 2 anni di plug-in e 3 plug-in di tutti i giorni) bruciato diverse celle in uno dei miei chip RAM, il che ha provocato un BSOD ogni 10-20 minuti.


1
Stai parlando di cose che possono essere fatte dal software perché non ne sono sicuro?
NPS,

WRT # 3, la guida da 5 V utilizzata da USB è regolata dall'alimentazione indipendentemente dalle guide da 12 V, che sono / sono ulteriormente regolate sulla scheda madre e sulla scheda grafica per alimentare CPU, GPU e memoria di sistema. Le schede madri usano spesso i polifusibili per limitare la corrente attraverso le porte USB, il che potrebbe spiegare i problemi della tastiera / mouse quando si collegano i dischi rigidi se condividono lo stesso polifusibile. La corrente di spunto per far ruotare il piatto può causare una caduta di tensione sulla barra di alimentazione USB, causando un brown-out sul microcontrollore della tastiera. La tua RAM difettosa è quasi certamente una coincidenza, però.
bcrist

0

La mia esperienza personale:

Avevo un Lenovo Thinkpad T61p con un Quadro FX570M costruito intorno ad agosto 2008, questo gruppo era noto per avere GPU difettose che un giorno o l'altro avrebbero fallito (la saldatura non era ottimale su alcuni dei pin GPU).

Tutto è andato bene per circa 5 anni fino a quando non ho eseguito XCOM The Bureau su di esso (un gioco noto per non essere davvero ottimizzato), il laptop era caldo, i fan a tutta velocità e per circa 1 ora di gioco si è bloccato ma non un solito congelamento .

Indovina un po ? Ho spento e riacceso il laptop, era morto con i relativi segnali acustici BIOS che indicavano un errore video.

Per rispondere alla tua domanda : sì (come altri hanno sottolineato), un software può sicuramente rompere l'hardware se il primo non è protetto in qualche modo ; se per esempio il fan della GPU è spento, esploderà sicuramente con una probabilità di successo del 100%: D


La mia domanda riguarda l'hardware con sistemi di raffreddamento e sicurezza integrati adeguati e funzionanti. Altrimenti stiamo solo parlando di hardware difettoso che è destinato a fallire con qualsiasi software.
NPS,

0

Una volta avevo una scheda grafica GeForce 4 MX 440 e volevo giocare a Prince of Persia: sabbie del tempo. Ma il gioco non è stato avviato perché non è stato possibile trovare il supporto Pixel Shader previsto. Questo è stato un po 'inaspettato per me, perché il successivo Prince of Persia: Warrior Within ha funzionato bene.

Quindi, alla fine, ho scoperto l'analizzatore 3d ( http://www.tommti-systems.com/main-Dateien/files.html ) e ho costretto il gioco a funzionare e ho giocato per diversi giorni. Dopo un paio di giorni, la mia scheda video si è rotta - non ha più visualizzato nulla. Ho avuto il nuovo computer per circa 5-6 mesi, quindi penso che forzare il gioco in questo modo abbia effettivamente rotto la mia scheda video :(


-1

Sì, ne ho rotto alcuni. Non eseguo più app per il calcolo della GPU grid. Alcune app tendono a romperle soprattutto quando la macchina passa in modalità di sospensione, ma in situazioni normali in cui i ventilatori funzionano / il liquido di raffreddamento circola non dovrebbero esserci problemi a meno che il raffreddamento non sia sottodimensionato.


Cosa intendi con "modalità sleep"? "Modalità sospensione " di solito si riferisce a suspend-to-RAM , uno stato di alimentazione del computer in cui rimane alimentata solo la memoria ad accesso casuale. Come si spezzerebbe una scheda grafica?
Anko,

@Anko, prendilo da qui. en.wikipedia.org/wiki/Sleep_mode
Anssi

OK, è quello che pensavo intendessi. Sono confuso dal ragionamento però: quando le applicazioni sono sospese per la modalità di sospensione, come potrebbero causare danni?
Anko,

-2

Può succedere se il circuito della scheda si interrompe, tuttavia è molto improbabile che ciò accada perché il sistema è isolato fino a una certa temperatura elevata. In alcuni casi il sistema termodinamico della scheda può essere disturbato se è veramente vicino a un altro sistema o se tocca persino un altro materiale che non è un sistema.


3
Come sarebbe quello scenario causato da un'applicazione? Questo non sembra rispondere alla domanda.
Seth Battin,

Credo che tu non abbia familiarità con AND, OR, NOT gate logici
Orenrocco,

5
E credo che tu abbia perso di colpo il punto, per la seconda volta.
Seth Battin,

1
There is no software command sendShortCircuit, as such a short circuit would be a defect with the graphics card. The software would not be responsible for this. This question is about if for example graphics cards are rated "100% usage for up to 1s, 90% usage long term average" and the software was obliged not to exceed that rating
Richard Tingle

3
@user3643191, we're not attacking you; we're pointing out places where your post can be improved and clarified. All of these comments will eventually be deleted (by design); your post is what will remain. You can edit and improve your post at any time, so take the opportunity to make a better answer. Once you do that, you'll probably pick up some upvotes (or someone might remove a downvote), these comments will eventually go away, and your enlightening answer will educate for years to come.
PotatoEngineer
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.