Назад | Перейти на главную страницу

CUDA: можно ли динамически ограничить количество ядер / потоков / тактовой частоты. пока процесс выполняется на графическом процессоре?

Я использую несколько NVidia GTX 680 под Ubuntu 10.04 в довольно жаркой среде (проблемы с охлаждением стойки), и иногда температура превышает 95C. Когда я обнаруживаю перегрев, могу ли я как-то сказать драйверу, чтобы он уменьшил количество используемых ресурсов, например

динамически, без перезапуска процесса, чтобы GPU немного остыл? Возможно есть что-то вроде nvidia-smi или nvidia-settings что позволит мне это сделать? Единственное: мне нужно сделать это извне, не изменяя фактический код.

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

Попытка "исправить" проблему путем регулирования производительности графических процессоров при обнаружении перегрева является непростой задачей. Плохая идея.
Вы работаете на неровном краю конверта, и даже если вы начнете дросселировать, скажем, на 90 градусов (8 градусов до "красной черты", которую указывает nVidia), нет гарантии, что вы не превысите пределы своего охлаждения (и безопасный рабочий диапазон оборудования).

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


Регулирование графических процессоров может помочь, если вы сделаете это достаточно рано.
Вы можете постоянно дросселировать графические процессоры, не позволяя им превышать максимальную рабочую температуру. Это сэкономит ваше оборудование, но вы снизите производительность, чтобы поддерживать безопасную температуру системы.
Вы можете реализовать это с помощью Алгоритм PID который начинает дросселировать графические процессоры примерно на 80 градусов, чтобы удерживать их на уровне 90 градусов или ниже.

Предположительно, несмотря на то, что вы тратите много денег на эту вычислительную ферму, ее регулирование в некотором смысле противоречит цели (быстрое получение результатов).


Решение проблемы с охлаждением - единственное Реальное решение.
Как отмечали комментаторы, ваша основная проблема - плохое / недостаточное охлаждение.

Мы не знаем ЗАЧЕМ у вас недостаточное охлаждение, и решения будут зависеть от основной причины.

  • Если в корпусе плохой воздушный поток, вы можете добавить воздуходувки, чтобы пропустить через систему больший объем воздуха.
  • Если в вашем центре обработки данных плохой поток охлаждающего воздуха, вы можете изменить дизайн комнаты, чтобы воздух на входе был холоднее.
  • Если ваш центр обработки данных хронически перегревается, вам может потребоваться дополнительное охлаждение (однако это необходимо для обработки тепловой нагрузки).