Чи може програма зламати відеокарту?


15

Швидке зауваження: Я знаю, що це питання з питань розробки ігор з питань розробки ігор, але, мабуть, ви, хлопці, найбільше знаєте і маєте досвід роботи з відеокартами, тому я адресую це питання до вас. Якщо ви вважаєте, що це абсолютно не тематично, відправте мене на належний сайт / форум. Редагування: Насправді це пов'язано з імедевом: якщо поганий код може призвести до перегріву або поломки карти, тоді розробники ігор повинні знати про це і переконайтесь, що їхні програми не роблять цього.

Це може здатися дивним або дурним питанням, але чи можливо насправді написати таку програму для графічного відтворення, яка може зламати відеокарту ( будь-яким чином)?

Безпосередньою причиною, яка змусила мене задати це питання, була (не дивно) моя власна зламана відеокарта. Після його ремонту військовослужбовець сказав, що вони перевіряли різні додатки (ігри) на ньому, і це працювало чудово. Але коли я запустив свій власний додаток (відкладене демонтування відтінків), він нагрів його до понад 100 градусів Цельсія. Отже, моя картка не виявилася виправлена, але важливо тут те, що проблема, здавалося, виникає лише під час запуску мого власного додатка.

Я грав на ньому різні вимогливі до GPU ігри (на кшталт Crysis) і часто підштовхував її до меж і більше (мав налаштування настільки високі, що ігри працювали зі швидкістю 5 FPS), а також деякі орієнтири ... Тому я дав моя картка, багато разів, настільки велика навантаження, що вона не могла наздогнати (отже, низький FPS), але ніколи не досягала небезпечних температур. Але моєму власному додатку вдалося досягти цього (принаймні, коли v-синхронізація була вимкнена). : P Оскільки це був лише мій власний додаток, я не думаю, що винуватцем була погана система охолодження.

Тому я запитую - ви думаєте (чи, можливо, знаєте), чи можна зламати відеокарту (будь-яким чином, а не лише перегріванням) якимось порочним кодом?

Оновлення:

Джо Свінделл сказав, що проблема може бути перегріванням (ну, це точно може зламати карту). Але чи не повинна належна система охолодження перешкоджати цьому (ні за яких обставин)?

Boreal вказав на іншу проблему. Якщо я правильно розумію, FPS пов'язаний і CPU, і GPU (це правильно?). Так низький FPS може сигналізувати або про високе завантаження процесора, або про велике навантаження GPU . Але знову ж таки - чи не повинна належна система охолодження перешкоджати перегріванню GPU, навіть якщо карта використовується на 100% весь час?


Більшість ігор не використовуватимуть ваш графічний процесор до повного потенціалу - вони будуть багато в чому пов'язані з процесором. Однак ваша власна програма може нічого не робити на стороні процесора, що призведе до набагато більшого використання GPU. Простіше кажучи, графічні процесори не мають використовуватись на 100% весь час. Ось чому ви не хочете купувати використаний GPU зараз - він, ймовірно, використовувався для видобутку біткойна.
jmegaffin

6
@Boreal Я з цим категорично не згоден. Якщо ви купуєте GPU від якості плати виробника, він буде призначений для використання на 100% весь час, і охолодження і тактові частоти були встановлені , щоб забезпечити його стабільну в цих умовах. Тепер, якщо у вас є радіатор, який встановлений неправильно, або ви розігнали карту до небезпечного рівня, це вже інша історія.
Натан Рід

"Але чи не повинна належна система охолодження перешкоджати цьому (ні за яких обставин)?" - скажіть, вентилятори, радіатори та вихлопи вашої графічної графіки загрожують пилом, оскільки ви не подбали про свій комп’ютер. Тоді воно однозначно може перегріватися і зламатися, навіть із деталями високого класу. Сподіваємось, він просто виявить нагрівання, вимкнеться і перезавантажиться перед тим, як пошкодиться, але ви дійсно не хочете робити на це ставку.
Шон Міддлічч

FYI справді комп'ютер повинен закритись при небезпечному перегріві. Чи можливо це відключено на вашому комп’ютері?
Річард Тінгл

SeanMiddleditch, "належним чином", мав на увазі, серед інших, чисту повністю функціонуючу систему охолодження. РічардТінгл, я сам цього не відключив. Але я мав на увазі своє питання як загальну проблему, не шукаючи вирішення свого конкретного випадку.
НПС

Відповіді:


32

Це не відповідальність програми за те, щоб GPU не перегрівався, і це не вина програми, якщо вона перегрівається.

Якщо GPU не має належного охолодження, то так, запуск 3D-програми може нагріти його до небезпечних рівнів. Я не знаю, чому ваш додаток робить це, а Crysis цього не робить, але це означає, що карта має неадекватне охолодження, та / або вона заплутана (розігнана, або інші заводські налаштування / драйвери змінені).

Крім перегріву, я не знаю жодного іншого способу, за допомогою якого програмне забезпечення може фізично пошкодити чіп, на якому він працює. Це справді не повинно бути можливим; це був би дуже серйозний збій дизайну.


1
Отже, виходячи з того, що ви сказали, чи я (як програміст) не повинен перейматися взагалі про те, скільки завантажується (і нагрівається) графічний (якщо воно працює безперебійно)?
НПС

11
@NPS Право. Ви дбаєте про завантаження графічного процесора, якщо це впливає на частоту кадрів (і на мобільних пристроях, час роботи акумулятора), але ви не зобов’язані дбати про те, як це впливає на температуру - це стосується водіїв / ОС. Якщо програма перегріває графічний процесор, він не охолоджується належним чином і / або щось не так з динамічним масштабуванням частоти драйвера.
Натан Рід

4
+1, завдання користувача - переконатися, що його обладнання відповідає вимогам (а "не плавиться під час гри" вважається потребою), а робота апаратного забезпечення / драйвера зробити все можливе, щоб захистити карту від пошкоджень. Програма повинна (і повинна) покладатися на це, нічого іншого вона не може зробити.
Томас

Я хочу написати маніфест щодо етики виробника: купуючи обладнання до певної специфікації, ви повинні мати доступ до цієї специфікації за будь-яких умов, зазначених на упаковці (зазвичай зазначено від 0 до 40 градусів С). І не страждати дурним термічним дроселюванням, інакше хороший суд повинен продемонструвати, що мене пограбували гроші помилковими претензіями на пакет.
v.oddou

@NPS "Отже, виходячи з того, що ви сказали, чи повинен я (як програміст) не перейматися тим, скільки завантажує (і нагріває) GPU, що створює моя програма (доки вона працює безперебійно)?" - Так, вам слід дбати про навантаження, але не про перегрів. Просто переконайтесь, що нижчі налаштування генерують меншу навантаження і, отже, менше шуму охолодження. Оскільки я іноді граю на акумуляторі, я буду спростовувати ігри на Steam, які спалюють 100% процесор і GPU, не роблячи нічого, і я не єдиний.
Пітер

24

Це сталося в дикій природі.

У Starcraft II в 2010 році виникла проблема, коли вона мала незакритий кадр на екранах меню, розміщуючи непарне навантаження на відеокарти, знищуючи картки у якогось постачальника з недостатньою тепловою захистом.

Недоліки в дизайні та виробництві в самому GPU також можуть призвести до того, що карта розбирається під навантаженням. Мобільні графічні процесори G84 / G86 мали припої, які зламалися при прийнятних температурних навантаженнях і врешті-решт зламалися. У нас також є сумнозвісне червоне кільце смерті XBox 360, яке має подібні теплові проблеми з припоєм і розширенням.

Все вищезазначене - це суміш апаратних дефектів та недостатньої теплової конструкції, посилених програмним навантаженням.


6
Starcraft був прикладом, який я одразу з цим подумав. Незважаючи на те, що Starcraft виявив помилку з кількома відеокартами, а потім забезпечив вирішення цієї помилки, а не Starcraft, який насправді винен. Не те, щоб хтось із знищеною карткою надто переймався цим розрізненням
Річард Тінгл

1
Колись у покоління нерозумних моніторів могло бути знищено свої трансформатори відхилення програмного забезпечення, що вводило погані значення в регістри CRTC. Третя причина невдачі - те, що швидкісна гонка зробила багато виробників скороченням кутів, багато разів картки не були побудовані достатньо міцними на 100%
Патрік Хьюз

9

Ваше запитання набагато складніше, ніж те, що ви написали. Я б сказав, що загальне питання "чи може програмне забезпечення зламати апаратне забезпечення?", І відповідь на це - безумовно, так.

Зауважте, не все обладнання можна теоретично розбити за допомогою програмних команд, але, зрештою, те, що програмне забезпечення робить, - це надсилати електричні сигнали до дуже делікатних апаратних компонентів. Зазвичай, чим делікатніший апаратний компонент, тим більша ймовірність його пошкодження при поводженні з ним таким чином, як він не був розроблений.

Існує дуже весело, як апаратне забезпечення може зламатися, але давайте просто розглянемо перегрів: обробка робіт генерує тепло, і це тепло повинно кудись піти. Залежно від розсіювальних характеристик вашої картки, потоку повітря у корпусі та загальної температури в приміщенні кількість теплоти, що відводиться з системи, може бути більшою чи меншою, ніж те, що створюється нею.

Якщо ви попросите відеокарту виконати роботу, яка генерує більше тепла, ніж можна ефективно розсіювати, температура чіпа зросте. Якщо ви продовжуєте це, температура підніметься вище безпечного робочого рівня, і мікросхема зламається, втратить чарівний дим і, можливо, навіть спричинить пожежну небезпеку. Ви щойно зламали вашу відеокарту, сподіваюся, ви щасливі.

Тепер ви можете написати програмне забезпечення, яке це робить? Я б сказав, швидше за все, ні. Будь-яка програма (на рівні користувача), яку ви пишете, не спілкуватиметься безпосередньо з відеокартою. Існує безліч запобіжних заходів, розроблених для запобігання такої ситуації, і всі вони повинні вийти з ладу, щоб ваша програма візуалізації закінчилася спаленням вашого будинку.

  1. Як правило, тепловізори та вентилятори розроблені таким чином, щоб вони могли комфортно відводити максимальну кількість тепла, яке карта буде генерувати, навіть у погано провітрюваних корпусах у спекотному кліматі (в межах робочих діапазонів, визначених виробником)

  2. Якщо вироблення тепла більше, ніж тепловіддача, першою лінією захисту буде рушій. Більшість драйверів перевіряють основну температуру графічного процесора, і якщо вона піднімається, драйвер може обмежити кількість інструкцій, які вона надсилає до GPU, щоб запобігти генеруванню більше тепла.

  3. Якщо це не вдасться, вбудована програма графічної карти повинна виявити, що тепло небезпечно накопичується, і тому зменшить тактову частоту, намагаючись зменшити тепловіддачу.

  4. Якщо після цього тепло все ще накопичується, тепловий діод, наявний у більшості сучасних процесорів та графічних процесорів, повністю відключить відеокарту, і вироблення тепла припиниться.

Отже, якщо ви хочете вирвати свою дорогу відеокартку від програми для користувачів через перегрів, окрім того, щоб скласти програмне забезпечення, яке максимально напружує систему, вам знадобиться:

  1. Несправна або порушена система тепловідведення. Просто встромивши палець у вентилятор (завжди в центрі, а не в лопатки), слід зробити трюк. Складність: Легко

  2. Спеціальний (або баггі) драйвер із відключеними або зламаними функціями дроселювання. Складність: Нормальна

  3. Спеціальна вбудована програма з функціями зменшення годин відключена або зламана. Складність: Важко

  4. Розбитий тепловий діод. Якщо ви постійно спрацьовуєте тепловий діод, він може пошкодитися. Складність: Дуже важко

... але не неможливо! Сміливо спробуйте *, але обов'язково тримайте під рукою телефон своєї пожежної частини.

*: Це сарказм. Я жодним чином не потураю створенню пожежної небезпеки чи будь-яких дій, які можуть будь-яким чином нашкодити вам, вашій родині, собаці чи громаді. Читаючи цей пост, ви повністю відмовляєтесь від будь-якої відповідальності, яку можуть спричинити ваші дії.


1
+1 для багатьох речей, але особливо для мислення собаки. :)
Ендрю Томпсон

2

Навіть при вимкненому VSYNC багато ігор можуть не вдатися навіть до 98% використання GPU. Чим більше реального геймплея вони реалізують, тим менше кадрів вони можуть поставити і тим більше ймовірність, що GPU буде недостатньо використаний. Хороші багатоядерні оптимізовані ігри можуть значно наблизитись до 100% використання графічного процесора, але загалом логіка гри підтримує процесор достатньо зайнятим іншими завданнями, щоб він не міг наситити GPU повним навантаженням. Чисті програми для візуалізації можуть легко досягти 100% завантаження GPU, але ігри роблять набагато більше, ніж рендерінг.

З іншого боку, на моїй домашній машині мій GPU генерує значну EMI під великим навантаженням, і це заважає дешевому інтегрованому аудіо на моїй материнській платі. Я чую високий крок, що скуголить над аналоговим звуком, частота якого змінюється залежно від навантаження. Мені це подобається і вважаю це особливістю, а не вадою дизайну. Це робить профілювання цікавою, оскільки я можу насправді почути рівень навантаження, не маючи вибірки лічильника ефективності GPU. Однак, я думаю, якщо у вас є якийсь пристрій, чутливий до EMI і недостатньо захищений, це може бути проблемою ... висока завантаженість GPU може спричинити збій на іншому пристрої.


0

Перегрівання порушує вашу відеокарту. Викидання масивного циклу даних, який він не може обробити, безумовно, як ви вже бачили, збій і, можливо, назавжди пошкодить вашу карту.


4
Але будь-яка програма може дати картці більше, ніж вона може жувати (майже будь-яка гра на кілька років молодша за саму карту). Належна система охолодження повинна запобігти цьому (незалежно від того , яка програма робить), чи не так?
НПС

Ви вірні в тому, що будь-яка гра може зробити це ... але більшість кодів не заглушить графічний процесор на 100%, і якщо це станеться, він зазвичай не становить 100% протягом тривалого періоду. Хоча я б погодився на 100% з вами, що належна система охолодження повинна перешкоджати всьому цьому.
Джо Свінделл

2
Це здається безумством. Тактова частота повинна бути встановлена ​​на безпечному рівні так само, як і процесор
Річард Тінгл

0

Так, це може.

  • Перегрів, як очевидний приклад, може бути викликаний надзвичайними навантаженнями. Зазвичай досягається за допомогою розгону. Це було б найпростіше викликати цілеспрямовано.

Уникнути можна за допомогою хороших систем охолодження. Увімкнення V-синхронізації - це також хороший спосіб уникнути цього. V-синхронізація заважає графічному процесору виводити кадри швидше, ніж монітор може обробити, - це кадри, які зазвичай опускаються, і ніколи їх не побачити.

Менше кадрів = менша обробка = менше екстремальне навантаження.

Відстеження здібностей GPU також важливо. Я думаю, що програмісти в Crytek написали код, щоб бути готовим до того, що хтось переоцінить свої можливості відеокарт. Якщо вони це зробили, я впевнений, що це функція, яка врятувала багато GPU і врятувала багатьох невідомих власників GPU від розладу.

  • Трохи пошкоджені (або неправильно закодовані) дані можуть призвести до того, що покажчик в кінцевому підсумку вказує на кудись цього не слід, що може зірвати всі види речей. Хоча це, ймовірно, не є постійним, але це може спричинити різну ступінь збою в роботі. Таку помилку в процесорі зазвичай вловлює ОС і уникає, або, якщо цього не вдасться уникнути, викликає BSOD (Синій екран смерті.)

Можна уникнути ретельного кодування та подвійної перевірки під час виконання. (Але завжди є помилки. Якщо таких немає, це тому, що вони граються з вами.)

  • Графічний процесор також матиме драйвер, який додає інше місце, коли речі можуть піти не так. Деякі дані можуть бути пошкоджені там, або може виникнути помилка тощо, і т. Д. Щоб додати до цього, драйвери, як правило, ризикують викликати BSOD. Резервна система ОС, коли щось стає страшно не так, і їй потрібно запустити аварійне відключення, щоб спробувати і мінімізувати або запобігти збитку. Ретельно кодований драйвер (сподіваємось) цього не зробить, але помилки завжди є. Включення в процедури аварійного відключення.

Цього можна уникнути ретельним кодуванням та подвійною перевіркою під час виконання.


3
Драйвери дисплеїв давно не були важливим джерелом BSOD. Microsoft повністю відремонтувала модель драйверів у Windows NT 6.0 (Vista) та перевела значну частину драйверів у режим користувальницького; BSOD викликаються лише тим, що відбувається збій у режимі ядра. Коли драйвер дисплея в режимі користувача виходить з ладу, найгірше, що трапляється, це те, що драйвер скидає себе - у грі D3D вам, можливо, доведеться зіткнутися з втратою контексту та витратити час на перезавантаження ресурсів, але в GL ви можете іноді повністю прозоро відновитись від цього . Потрібно серйозно низький рівень невдачі, щоб отримати BSOD.
Андон М. Коулман

0

Відповідь одним словом: ТАК.

Детальна відповідь: Так. Це може (у певних ситуаціях). Уявіть, що ви пишете програму, яка різко передає дані у ваш графічний процесор у нескінченний цикл. Напевно, що він перегріється. Тепер знову не відповідальність системи охолодження покладатися на це? Звичайно, так і є. Але ви також повинні пам'ятати, що система охолодження також має деякі порогові рівні. Якщо вироблене тепло виходить за межі роботи вашої системи охолодження, то ваша система охолодження навряд чи корисна. Я не знаю, що робить ваша програма, але розмовляючи з перспективою програмістів, ви можете писати такі програми, що призводить до подібної ситуації.


Наскільки я можу сказати, все це вже було сказано. Це ви мали на увазі?
Анко

0
  1. Встановлення невідповідного драйвера з фактично використовуваною карткою може легко призвести до постійного пошкодження. Мій друг якось зумів це зробити через повторну перевстановлення ОС та фізичну зміну жорсткого диска.

  2. Змушуйте ваш ПК вмикати та вимикати багато разів. Не впевнений, чи це може спричинити збій, але це дуже можливо. У всякому разі, це не дуже схоже на softwareце.

  3. Маніпулюйте рівнем живлення в системі, включаючи та вимикаючи енергоспоживання USB-пристроїв (наприклад: зовнішній жорсткий диск, який не використовує власну потужність). Це завжди робить мою клавіатуру та мишу непридатними до наступного перезапуску, і вона (протягом 2 років щоденного підключення 3 жорстких дисків до і) випалювала кілька комірок в одній з моїх мікросхем ОЗУ, що призводило до BSOD кожні 10-20 хвилин.


1
Ви говорите про речі, які можна зробити за допомогою програмного забезпечення, тому що я не впевнений?
НПС

WRT # 3, 5V-рейка, що використовується USB, регулюється джерелом живлення незалежно від шин 12В, які додатково регулюються на материнській платі та відеокарті для живлення процесора, GPU та системної пам'яті. Материнські плати часто використовують поліфузи для обмеження струму через порти USB, що може пояснити проблеми клавіатури / миші при включенні жорстких дисків, якщо вони мають один і той же поліфузик. Сила струму, що розповсюджується на платівці, може спричинити падіння напруги на USB-рейці, що призведе до вимкнення мікроконтролера клавіатури. Хоча ваша невдала оперативна пам’ять майже напевно є збігом обставин.
bcrist

0

Мій особистий досвід:

У мене раніше був створений Lenovo Thinkpad T61p з Quadro FX570M, побудований близько серпня 2008 року. Ця партія, як відомо, мала несправні графічні процесори, які в один чи інший день вийшли з ладу (пайка була недостатньо оптимальною на деяких штифтах GPU.)

Все було добре близько 5 років, поки я не запустив XCOM The Bureau на ньому (гра відома не дуже оптимізованою), ноутбук був гарячим, фанати на повній швидкості і протягом приблизно 1 години ігор він замерз, але не звичайний заморозок .

Вгадай що ? Я вимкнув і знову ввімкнув ноутбук, він був мертвий з відповідними кодами звукового сигналу BIOS, що вказує на несправність відео.

Щоб відповісти на ваше запитання : так (як уже вказували інші), програмне забезпечення напевно може зламати апаратне забезпечення, якщо попереднє певним чином не захищене ; якщо, наприклад, вентилятор GPU вимкнено, він напевно підірветься зі 100% шансом на успіх: D


Моє запитання стосується обладнання з належними та функціонуючими системами охолодження та вбудованими системами безпеки. В іншому випадку ми просто говоримо про несправне обладнання, яке може вийти з ладу з будь-яким програмним забезпеченням.
НПС

0

Колись у мене була відеокарта GeForce 4 MX 440, і я хотів грати в Принц Персії: піски часу. Але гра не запускалася, оскільки не могла знайти очікувану підтримку Pixel Shader. Це було трохи несподівано для мене, тому що пізніший Принц Персії: Воїн Внутрішній працював просто чудово.

Отже, врешті-решт я знайшов 3d-аналізатор ( http://www.tommti-systems.com/main-Dateien/files.html ) і змусив гру запуститись та пограв у гру кілька днів. Через пару днів моя відеокарта зламалася - більше нічого не показувала. У мене був новий комп’ютер близько 5-6 місяців, тому я думаю, що примушування гри до запуску таким чином насправді зламало мою відеокарту :(


-1

Так, я зламав декілька. Я більше не запускаю сітки gpu для обчислення програм. Деякі додатки, як правило, виходять з ладу, особливо коли машина переходить у сплячий режим, але в нормальних ситуаціях, коли повітродувки працюють / холодна рідина циркулює, проблем не повинно бути, якщо охолодження не має значення.


Що ви маєте на увазі "режим сну"? "Сонний режим" зазвичай стосується призупинення роботи оперативної пам'яті , стану живлення комп'ютера, в якому живиться лише пам'ять випадкового доступу. Як би це зламало відеокарту?
Анко

@Anko, візьми це звідси. en.wikipedia.org/wiki/Sleep_mode
Anssi

Гаразд, це я вважав, що ти мав на увазі. Мене бентежить міркування, однак: Якщо програми призупинено для сну, як вони можуть завдати шкоди?
Анко

-2

Це може бути, якщо ланцюг картки короткий, однак це малоймовірно, оскільки система буде ізольована до певної високої температури. У деяких випадках термодинамічна система картки може бути порушена, якщо вона дійсно близька до іншої системи або якщо вона навіть торкається іншого матеріалу, який не є системою.


3
Як би спричинив цей сценарій заявка? Схоже, це не вирішує питання.
Сет Беттін

Я вважаю, ви не знайомі з І, АБО, НЕ логічними воротами
Оренрокко,

5
І я вважаю, що ти дико пропустив справу, вдруге.
Сет Беттін

1
Немає програмної команди sendShortCircuit, оскільки таке коротке замикання було б дефектом з відеокартою. Програмне забезпечення не несе відповідальності за це. Це питання стосується того, якщо, наприклад, відеокартам оцінюється "100% використання до 1 с, 90% довгострокове використання", і програмне забезпечення було зобов'язане не перевищувати цей рейтинг
Річард Тінгл

3
@ user3643191, ми не нападаємо на вас; ми вказуємо місця, де можна покращити та уточнити вашу публікацію. Усі ці коментарі згодом будуть видалені (за задумом); ваша посада - це те, що залишиться. Ви можете будь-коли редагувати та вдосконалювати свою публікацію, тому скористайтеся можливістю, щоб краще відповісти. Як тільки ви зробите це, ви, ймовірно, підберете кілька оновлень (або хтось може видалити анкету), ці коментарі згодом відійдуть, і ваша просвітницька відповідь буде навчатись на довгі роки.
PotatoEngineer
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.