[CUDA] Вопросы интересующегося.
От: Аноним  
Дата: 09.08.11 19:12
Оценка:
1. Самая продвинутая отладка CUDA под Windows — Nvidia Nsight?
2. Почему список CUDA GPUs и Parallel Nsight Supported GPUs отличаются?
3. Моей 450GTS в последнем списке нет, т.е. я в пролете?
4. Как отлаживатся без Nsight и без боли под Windows?
5. Мне один начинающий CUDA-программист рассказывал, что для обычной видеокарты вычисление может прерваться в случайный момент времени, а для Тесла — все ок. Мне это показалось странным. Т.е. мы не можем гарантировать что вычисление прошло? Я нашел только упоминание о том, что отладка под Nsight прерывается через 5 секунд в случае если монитор подключен к той же видеокарте на которой происходит вычисление.
6. Копирование памяти между видеокартой и основной памятью компьютера — это одно из самых узких мест при программировании на CUDA, насколько я понял. Программа CUDA-Z выдает мне разницу в скорости копирования памяти в два раза в случае Pinned и Paged. В чем разница между этими двумя способами?
7. Можно ли параллельно копировать на железку, вычислять по данным на железке, копировать с железки? Даст ли такой параллелизм увеличении скорости обработки?
8. Какой самый горячий ресурс в рунете по CUDA-программированию?
Re: [CUDA] Вопросы интересующегося.
От: Muxa  
Дата: 10.08.11 07:49
Оценка: 4 (1)
Здравствуйте, Аноним, Вы писали:

А>1. Самая продвинутая отладка CUDA под Windows — Nvidia Nsight?

А>4. Как отлаживатся без Nsight и без боли под Windows?
Nsight'ом я не пользовался. хватало стандартного дебага в режиме эмуляции.

А>5. Мне один начинающий CUDA-программист рассказывал, что для обычной видеокарты вычисление может прерваться в случайный момент времени, а для Тесла — все ок. Мне это показалось странным. Т.е. мы не можем гарантировать что вычисление прошло? Я нашел только упоминание о том, что отладка под Nsight прерывается через 5 секунд в случае если монитор подключен к той же видеокарте на которой происходит вычисление.

ноги растут из Watchdog'а, на WinXP действительно вычисления кернела может прерваться перезапуском драйвера секунд через пять.
на Vista/Win7 это неактуально уже.

А>6. Копирование памяти между видеокартой и основной памятью компьютера — это одно из самых узких мест при программировании на CUDA, насколько я понял. Программа CUDA-Z выдает мне разницу в скорости копирования памяти в два раза в случае Pinned и Paged. В чем разница между этими двумя способами?

в случае pinned может вообще никакого копирования не было, а был маппинг куска CPU RAM в адресное пространство GPU RAM.

А>7. Можно ли параллельно копировать на железку, вычислять по данным на железке, копировать с железки? Даст ли такой параллелизм увеличении скорости обработки?

почти все API-вызовы CUDA асинхронны, т.е. можно параллельно копировать и вычислять, организовав некое подобие конвейера.

3.2.7.2 Overlap of Data Transfer and Kernel Execution
Some devices of compute capability 1.1 and higher can perform copies between page-locked host memory and device memory concurrently with kernel execution. Applications may query this capability by calling cudaGetDeviceProperties() and checking the deviceOverlap property. This capability is currently supported only for memory copies that do not involve CUDA arrays or 2D arrays allocated through cudaMallocPitch() (see Section 3.2.1).

А>8. Какой самый горячий ресурс в рунете по CUDA-программированию?
активных русскоязычных ресурсов нет. посмотри gpgpu.ru
Re[2]: [CUDA] Вопросы интересующегося.
От: Аноним  
Дата: 10.08.11 13:24
Оценка:
Здравствуйте, Muxa, Вы писали:

M>Здравствуйте, Аноним, Вы писали:


А>>1. Самая продвинутая отладка CUDA под Windows — Nvidia Nsight?

А>>4. Как отлаживатся без Nsight и без боли под Windows?
M>Nsight'ом я не пользовался. хватало стандартного дебага в режиме эмуляции.
Что за режим эмуляции? Каким конкретно отладчиком пользовался?

А>>6. Копирование памяти между видеокартой и основной памятью компьютера — это одно из самых узких мест при программировании на CUDA, насколько я понял. Программа CUDA-Z выдает мне разницу в скорости копирования памяти в два раза в случае Pinned и Paged. В чем разница между этими двумя способами?

M>в случае pinned может вообще никакого копирования не было, а был маппинг куска CPU RAM в адресное пространство GPU RAM.
Можно по подробнее в двух словах? Т.е. копирование будет происходить по требованию конкретных страниц или как? А если я буду просматривать весь без исключений объем данных, то скорость скатится до той же paged или как?

А>>8. Какой самый горячий ресурс в рунете по CUDA-программированию?

M>активных русскоязычных ресурсов нет. посмотри gpgpu.ru
Какой англоязычный?
Re[3]: [CUDA] Вопросы интересующегося.
От: Muxa  
Дата: 11.08.11 04:44
Оценка:
А>>>1. Самая продвинутая отладка CUDA под Windows — Nvidia Nsight?
А>>>4. Как отлаживатся без Nsight и без боли под Windows?
M>>Nsight'ом я не пользовался. хватало стандартного дебага в режиме эмуляции.
А>Что за режим эмуляции? Каким конкретно отладчиком пользовался?
Отладчик в Microsoft Studio.
Компиляция в режиме эмуляции дает код, работающий на CPU, который в принципе можно дебажить чем угодно.
Есть специальный флаг у компилятора CUDA, включающий этот режим, emu что-то там, точно не помню.
Советую установить CUDA VS Wizard, этот тул добавляет в студию новый тип проекта с четырьмя конфигурациями: помимо Debug/Release есть еще EmuDebug/EmuRelease. Так же в свойствах такого проекта, есть доп. вкладка с CUDA-specific параметрами компиляции.

А>>>6. Копирование памяти между видеокартой и основной памятью компьютера — это одно из самых узких мест при программировании на CUDA, насколько я понял. Программа CUDA-Z выдает мне разницу в скорости копирования памяти в два раза в случае Pinned и Paged. В чем разница между этими двумя способами?

M>>в случае pinned может вообще никакого копирования не было, а был маппинг куска CPU RAM в адресное пространство GPU RAM.
А>Можно по подробнее в двух словах? Т.е. копирование будет происходить по требованию конкретных страниц или как? А если я буду просматривать весь без исключений объем данных, то скорость скатится до той же paged или как?
Скатится, но в этот момент ты уже запустил какие-то вычисления, и если математика, хорошо перемешана с работой с памятью, и необходимые данные из памяти подгружаются заранее перед использованием, получаем выигрыш в производительности.

А>>>8. Какой самый горячий ресурс в рунете по CUDA-программированию?

M>>активных русскоязычных ресурсов нет. посмотри gpgpu.ru
А>Какой англоязычный?
http://forums.nvidia.com/index.php?showforum=62
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.