2015-03-03 6 views
1

Я установил pycuda на машине с изображением TESLA C2075. Я работаю на Ubuntu 14.04 с установленным компилятором CUDA-6.0.PyCUDA test_cumath.py не работает на cosh

Используя python 2.7.9 (через дистрибутив anaconda) и numpy 1.9.0, я установил pycuda 2014.1 из ZIP-файла, который предоставляет Andreas Kloeckner на своем веб-сайте. (http://mathema.tician.de/software/pycuda/)

Выполнение тестов, предоставленных этим файлом ZIP, идет хорошо, за исключением файла test_cumath.py. Я получаю следующее сообщение об ошибке:

E    AssertionError: (2.3841858e-06, 'cosh', <type 'numpy.complex64'>)` 
E    assert <built-in method all of numpy.bool_ object at 0x7f00747f3880>()` 
E    + where <built-in method all of numpy.bool_ object at 0x7f00747f3880> = 2.3841858e-06 <= 2e-06.all 

test_cumath.py:54: AssertionError` 
===== 1 failed, 27 passed in 12.57 seconds ===== 

Кто-нибудь есть предложение, где это расхождение между результатами GPU и CPU для дубинки приходит от? Быть чуть более допустимым для 2e-6 с тем, что измеренное значение 2,38e-6 выглядит немного странно для меня. Тем более, что другие тесты успешны ...?

ответ

1

В сообществе GPGPU/CUDA действительно известно, что различные аппаратные платформы и версии библиотеки CUDA могут приносить разные результаты при использовании одного и того же API. Различия всегда малы. Таким образом, на разных платформах существует некоторая гетерогенность.

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

Как вы думаете, откуда взялся толерант 2e-6? Я бы сказал, что кто-то попробовал, чтобы найти компромисс между тем, какая доля отклонения, по его мнению, достаточно правильная и какая разница от него ожидается, практически. В мире процессоров 2e-6 уже есть большое. Следовательно, здесь кто-то выбрал толерантность большой, чтобы учесть ожидаемую степень неоднородности платформ GPU.

В этом случае, практически, это, вероятно, означает, что допуски не были выбраны, чтобы отражать реальную неоднородность плат GPU.

Сказав это, сообщество GPGPU также осознает тот факт, что невероятное количество карт графического процессора является сломанным (сломанным, в основном). Перед запуском серьезных приложений, GPU-карты должны быть исчерпывающе проверены. В частности, карта GPU должна воспроизводить воспроизводимые результаты. Флуктуации являются индикатором сломанной карты. Теслав обычно не затрагивает столько же, сколько потребительские карты, но даже там мы его видели. У вас есть вторая видеокарта того же типа? Получают ли они те же результаты?

Либо вы определяете свою карточку GPU как «сломанную» (по сравнению с другими картами того же типа), либо вы должны отправить отчет об ошибке в PyCUDA и рассказать им о допуске, которого недостаточно.

+0

Спасибо. У меня есть 4 Teslas под рукой, и я могу воспроизвести один и тот же номер со всеми из них. Мне просто интересно, почему автор этих тестов (по-видимому, сам Андреас Клокнер) выбирает предел, который терпит неудачу на 4-летнем высокопроизводительном устройстве GPU ...? – TheXMA

+0

Послушай, потому что ваш 4-летний высокопроизводительный графический процессор был очень дорогим и уже устарел (ха, без обид, я тоже использовал их). На самом деле это чистая спекуляция, но он, вероятно, развивается на одном устройстве и не имеет сложного и дорогостоящего пула тестирования.То есть, он на самом деле * нуждается в вашей информации, поэтому предоставляйте его ему :-). Кроме того, возможно, действительно существует * некоторая ошибка, которая может быть обнаружена путем передачи ваших наблюдений ему. –

+0

Спасибо за prod, я отправил его в список рассылки, и он уже был обновлен в git-репозитории PyCUDA ;-) Не обижайтесь на уже устаревшее оборудование, у меня есть шанс повторить -тестируйте его на K20s и K40s (за вычетом устаревших по крайней мере: P). Я вернусь с результатами по этому поводу :-) – TheXMA

 Смежные вопросы

  • Нет связанных вопросов^_^