2016-02-20 5 views
-3

Я еще не получил программирование GPGPU, поэтому я не знаю точных особенностей CUDA (OPENCL), но предполагая, что графический процессор находится в оптимальной (хорошо охлажденной, ...) среде - может быть чистый CUDA (OPENCL) код навсегда поврежден GPU? Является ли система программирования GPGPU достаточно надежной, чтобы восстановить все ошибки в коде?Может ли CUDA навсегда повредить графический процессор?

Я видел this question, но этот был довольно опубликован, потому что у eaponte была определенная проблема, которую нужно было решить. Я спрашиваю больше в общем.

Большое спасибо за ваш ввод.

+1

@talonmies заботиться о том, чтобы просветить меня, почему вопрос глупо? –

+0

@talonmies, основанные на вашем профиле, вы, очевидно, имеете большой опыт программирования GPGPU. Поскольку в Интернете есть несколько сообщений о том, можно ли повредить графический процессор (как правило, в сочетании с кодом CUDA и конкретной проблемой), похоже, есть неправильное представление о том, что программирование GPGPU может нанести ущерб графическому процессору. Я, и, возможно, некоторые другие в будущем, был бы признателен, если бы вы могли ответить на мой вопрос, вместо того, чтобы пометить его вне темы и глупо. –

ответ

1

После использования карт Nvidia Tesla в средах разработки и производства, которыми пользовались многие пользователи за последние годы, я не видел никаких «физически поврежденных» карт за это время из-за «плохого программирования». Поэтому, чтобы эмпирически ответить на первый вопрос: я думаю, если (также GTX) сможет запустить Crisis в макс. уровень, не загоревшись, он также должен выжить на ядре OpenCL/CUDA при высокой нагрузке. Да, поставщики обычно заботятся о уровнях тепла и сокращают время работы и т. Д., Как вы знаете, от вашего процессора. Тем не менее, производители систем нуждаются в сертификации, чтобы убедиться, что они могут обрабатывать произведенное тепло, особенно в системах с несколькими GPU.

Но, конечно, было несколько кодов в дикой природе, которые повреждали все виды оборудования в прошлом, и это, безусловно, может случиться и с графическими процессорами, но я никогда не читал о конкретном случае с кодовым кодом, хотя это было бы интересный исследовательский вопрос.

Как правило, графические процессоры могут быть повреждены, как любой кусок кремния, просто используя их. Время от времени это происходит, например, из-за старения или перегрева транзистора при плохом охлаждении. Мы также заменили внезапно неудачные графические процессоры после нескольких лет работы так же, как и мы заменяем процессоры.

Поскольку первоначальный вопрос является довольно широким, еще одно дополнение: современные процессоры/графические процессоры/APU/... содержат так много транзисторов и производственных процессов настолько сложны, что часто бывает, что не все компоненты чипа на самом деле (см .: PS3/Cell Processor с 7/8 активными полосами, корпоративные и игровые продукты и т. д.). Фактически у нас был случай в прошлом году, когда обновление драйверов показало некоторые ранее «рабочие» графические процессоры на графические процессоры, которые теперь производят много двойных ошибок ECC. Это было исправлено снова с другим обновлением драйвера и только затронутыми картами из ранних циклов производства определенного поколения. Одна из идей, которые мы предположили, заключалась в том, что разломанный драйвер не маскировал «непригодные» части ОЗУ правильно, поведение, которое иначе прозрачно для конечного пользователя.

Является ли система программирования GPGPU достаточно надежной, чтобы восстановить все ошибки ?

Я, безусловно, могу ответить на этот вопрос с номером. Во время разработки мы часто сталкиваемся с тем, что частые и «жестокие» segfault-ing в ядре могут привести к поломке драйвера. Полная перезагрузка хост-системы обычно является единственным способом восстановления в такой ситуации, чтобы снова использовать этот конкретный графический процессор.

+1

Чтобы добавить к последнему вопросу: когда драйвер определенного графического процессора разбился, это может не привести к сбою вызовов API cuda, а иногда просто к совершенно неправильным вычислениям из ядер. Во время разработки запустите такой инструмент, как cuda-memtest, чтобы сохранить некоторое время отладки в таком сценарии: https://github.com/ComputationalRadiationPhysics/cuda_memtest – Ax3l

+1

Большое спасибо за ваш сложный ответ - это было именно то, что я был находясь в поиске. –