Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Artegor
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 38
#1

Массивы в CUDA - C++

19.05.2013, 21:43. Просмотров 719. Ответов 1
Метки нет (Все метки)

выделение памяти на CPU для 2-мерного массива примерно выглядит так

C++
1
2
A=(float **)malloc(n*sizeof(float*)); 
for (int i=0; i<n;>=(float *)malloc(n*sizeof(float));
Как это будет выглядеть для GPU на языке CUDA и что лучше использовать cudaMalloc или cudamallocpitch ?
P.S. желательно примером как у меня
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2013, 21:43     Массивы в CUDA
Посмотрите здесь:

CUDA C++ не понимаю ошибку! C++
C++ CUDA на примерах
C++ CUDA C/C++ сложение векторов
Определитель матрицы на CUDA Cи C++
C++ Cuda не правильно считает
C++ CUDA C++ не возвращает значение переменных
Компиляция программ CUDA C++
CUDA toolkit C++
CUDA, верное подключение библиотек C++
C++ Cuda не вызывает функцию
C++ CUDA генератор случайных чисел
C++ CUDA переменные kernel

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alexanderks
Сообщений: n/a
17.06.2013, 22:18     Массивы в CUDA #2
лучше всего выделять одномерные массивы, примерно так:
C++
1
2
3
float *devA0;
int N = 10000;
cudaMalloc((void**)&devA0, N * N * sizeof(float));
И далее использовать уже в ядре двухмерную адресацию типа
C++
1
devA[i + N * j] = ****
cudaMallocPitch позволяет вроде задавать регулярные промежутки. Я этим за 2 года никогда не пользовался. Самый быстрый вариант - линеаризованные массивы (одномерные).
Yandex
Объявления
17.06.2013, 22:18     Массивы в CUDA
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru