Отключена поддержка ECC для Tesla C2070 и Ubuntu 12.04
У меня есть автономная рабочая станция, на которой работает сервер Ubuntu 12.04 и недавно установлена новая карта Tesla C2070, но при запуске примеров из CUDA SDK я получаю следующую ошибку:
NVIDIA_GPU_Computing_SDK/C/bin/linux/release% ./reduction
[reduction] starting...
Using Device 0: Tesla C2070
Reducing array of type int
16777216 elements
256 threads (max)
64 blocks
reduction.cpp(473) : cudaSafeCallNoSync() Runtime API error 39 : uncorrectable ECC error encountered.
На самом деле эта ошибка возникает во всех других примерах, кроме "deviceQuery".
Я использую ядро 3.2.0, драйвер nvidia 295.41 и Cuda 4.2.9.
После долгих поисков нашел предложение отключить поддержку ecc:
nvidia-smi -g 0 --ecc-config=0
который работал. Но вопрос в том, насколько надежными будут вычисления на GPU с отключенной поддержкой ecc?
Любые советы, предложения или решения будут высоко оценены.
-Konstantin
4 ответа
Мне интересно, может ли это быть какой-то проблемой совместимости, а не плохой картой. Я страдаю от той же проблемы с Tesla C2075, той же версии Ubuntu. Мы связались с nVidia, и они сказали нам, что двухбитные ошибки ECC (как видно с использованием nvidia-smi -q в linux) означают, что карта, вероятно, сломана. Мы получили замену, но у нее точно такие же проблемы.
Кажется маловероятным, что обе мои платы были сломаны одинаково, поэтому мы попробуем это на другой машине, если сможем найти подходящую.
Я выложу что-нибудь интересное, что мы узнаем.
Оказалось, мой случай такой же, как у картхурса. Мне также заменили мою карту, но ошибка не исчезла. Только после установки встроенного VGA материнской платы в качестве основного в BIOS он исчез. В руководстве по установке Tesla должно быть предупреждение об этом!
Спасибо всем за помощь.
Я повторю сказанное Аландом и добавлю свой собственный опыт.
Я работал с несколькими вычислительными кластерами, оборудованными Fermi, и тестировал их по-разному, включая и выключая ECC. Мы сделали это, чтобы увеличить объем доступной памяти и скорость вычислений, что было заметно. nvidia-smi никогда не сообщала о каких-либо ошибках ECC для этих карт с ECC, и мы никогда не сталкивались с ошибками времени выполнения, которые свидетельствовали о проблемах, связанных с ECC.
Если ваша карта обнаруживает неисправимые проблемы ECC, это указывает на дефект в оборудовании, и отключение ECC только маскирует проблему. Среда выполнения справедливо предупреждает вас, что что-то плохое пошло не так, и вы не можете зависеть от результатов.
В любом случае, вы можете попытаться выполнить свои вычисления и посмотреть, что произойдет, но будьте готовы к тому, что что-то сойдет с ума без всякой реальной причины. Например, один или несколько битов могут иметь огромные последствия для математики с плавающей запятой и могут привести к краху вашего ядра, если инструкция испорчена.
Если вы можете, я бы попытался заменить карту, а не маскировать симптомы.
При возникновении неисправимой ошибки ECC для графического процессора он может оказаться в нестабильном состоянии (например, повреждение данных могло произойти не только в выделенной пользователем памяти, но и в области памяти, необходимой для работы графического процессора). Для восстановления графического процессора вам нужно либо выключить / перезагрузить систему, либо попытаться использовать сброс графического процессора из nvidia-smi
nvidia-smi -h
...
-r --gpu-reset Trigger secondary bus reset of the GPU.
Can be used to reset GPU HW state in situations
that would otherwise require a machine reboot.
Typically useful if a double bit ECC error has
occurred.
--id= switch is mandatory for this switch
Тип man nvidia-smi
для получения дополнительной помощи по этой теме