CUDA

СUDA – это платформа параллельных вычислений и модель программирования, разработанная Nvidia для общих вычислений на собственных графических процессорах (графических процессорах). CUDA позволяет разработчикам ускорить приложения, требующие интенсивных вычислений, за счет использования мощности графических процессоров для параллелизируемой части вычислений.

копирование

Копирование данных GPU CPU

Лимитирующим фактором в любых вычислениях на видеокарте является передача данных из ОЗУ в видеокарту и обратно. Попробуем оценить это время. Скорость передачи ОЗУ ↔ видеопамять Попробуем измерить скорость передачи данных «в» и «из» видеопамяти. Код очень прост — используем только функцию cudaMemcpy. int count = 65536 * 1024 * 4; int size = sizeof(int) * count; …

Копирование данных GPU CPU Читать далее »

Аудио–кроссовер на CUDA (через КИХ–фильтры)

Один из красивых и интересных примеров применения CUDA представлен здесь: реализация очень точного кроссовера (полосового аудио-фильтра) для домашней акустики на маломощной видеокарте. Человек использует фильтр порядка 8192! Такие порядки нечасто встретишь в подобных алгоритмах КИХ-фильтр — классический пример map/reduce алгоритма: проходим по всему массиву предыдущих значений входного параметра, умножая их на коэффициенты фильтра, потом редуцируем …

Аудио–кроссовер на CUDA (через КИХ–фильтры) Читать далее »

Hello world на CUDA

В сети сравнительно мало информации о CUDA, особенный дефицит helloworld`ов. Без теории перейдём сразу к делу (теория потом). Для начала нужно установить Visual studio версии 2008, 2010 или 2012, а так же CUDA SDK. Всё нужное эти парни установят сами, и даже создадут папку с примерами. Поехали, самый первый пример!

Exit mobile version