Мне нравится, что nVidia пытается быть ближе к разработчикам. Всё что интегрируется в Visual Studio получает сщественно больше шансов быть рассмотренным.
// create the list of input variables.
var list = new List { 1, 2, 3, 4, 5 };
// create the array holding the results.
double[] results = new double[list.Count];
// loop over the list, create the square root and
// store it in the result array.
Parallel.For(0, list.Count, index =>
{
results[index] = Math.Sqrt(list[index]);
});
добавлю что для отладки приложения с помощью nsight вам понадобится:
либо два компа,
либо комп с двумя видеокартами (импортными), двумя мониторами (импортными) + виртуальная машина.
так как процессе отладки драйвер карты, на которой запущен код на CUDA, стопорится, соответственно картинка на мониторе не обновляется.
И в чём же разница между 100 и 1600 процессорами для отладки? То есть существует ли ошибка которая проявляется на четырёхзначном количестве процессоров и не проявляется на трёхзначном? Что-то я сильно сомневаюсь.
Cкорее могут появиться проблемы с распределением нагрузки, да и у ати надо смотреть модель видеокарты и скармливать данные поблочно, а не «абы как», у той же 5870 — 5 блоков по 320 суперскалярных шейдерных процессора.
Дисбаланс по архитектуре, узкие места в иерархии памяти и ещё много чего. Это проблема не только GPU, но и CPU кластеров — не всегда можно отыграть ситуацию с багом на меньшем кол-ве ресурсов.
Да, отладка по сети — это жесть.
Когда узнал, понял, что с линукса слезать рано. Там отладка идёт в стандартном cuda-gdb в консольном режиме.
Ещё хуже, что альтернативы под макось вообще нет…
ну как же?
«Иван Валилиевич меняет профессию» не смотрели?
«все что нажито непосильным трудом — все пропало: два магнитофона импортных, две видеокамеры отечественных»
пс: у тебя случайно нет одноименного аккаунта на рсдн'е?
Немного поправлю. Для NSight критичны 2 вещи: монитор и хост. Монитор — это программа, которая останавливает GPU-код и работает на довольно низком уровне с железом. Монитор может быть поставлен на чистую машину с WDDM осью (т.е. не ниже Vista) и нужной версией драйвера. Монитор запускает GPU-программу на той видеокарте, которая определяется в системе с нулевым индексом и которая от NVIDIA и удовлетворяет требованиям. Если NVIDIA карт 2, то 0 индекс будет у той, что старше\мощнее. К целевой видеокарте не должен быть подключен монитор (в смысле устройство отображения), а также Windows должна быть убрана галка «extend desktop on this GPU» в свойствах экрана.
Хост — это пакет из плагина к студии и SDK разработчика, может ставиться как на другую машину, так и на ту же, где стоит монитор. Для того чтобы хост работал, ему нужна своя видеокарта, причем совершенно не важно какая, может даже ATI или интегрированная Intel. Очевидно, монитор (устройство) должен быть подключен к видеокарте. Помимо такого железного требования, хост работает только с VS2008sp1, но в будущем конечно будет добавлена поддержка VS2010.
Требования виртуальной машины нет, хотя я лично использую такую конфигурацию: в машине установлена GT200 и G92, монитор физически подключен к G92, а код дебажится на GT200. На машине стоит UltraVNC server, к которому я подключаюсь и могу работать удаленно. Такое подключение бывает выигрышным при работе с проектами, в которых откомпилированный бинарник весит от 100 мб, а коннект тугой. Вместо того, чтобы по сети перекачивать бинарник после каждой перекомпиляции, я использую целевую машину как для компиляции, так и для дебага, а VNC качает картинку окна студии.
Не совсем. 8800gt 512 = 9800gt 512-1024 = GT250, и они на одном и том же g80-92, который по сути ничем, окромя частот и техпроцесса не изменился. А уже GT200b — почти вдвое отличается по количеству шейдерных процов.
Интересно, что на CUDA есть для практического применения? Из того что пользую я, кроме CoreAVC для декодирования HD пока не приходит даже на ум ничего, если не брать игры.
Можно ли где-то увидеть революционные 3Д-десктопы или БД, ускоряемые видеокартами?
NVIDIA выпускает новый продукт для работы с параллельными вычислениями CPU и GPU