Вопросы с тегом 'thrust'

Thrust - это библиотека шаблонов параллельных алгоритмов с интерфейсом, похожим на стандартную библиотеку шаблонов C++ (STL) для NVIDIA CUDA.
1

Различия между VexCL, Thrust и Boost.Compute

С просто беглым пониманием этих библиотек они выглядят очень похожими. Я знаю, что VexCL и Boost.Compute используют OpenCl в качестве бэкэнд (хотя версия V1.0 VexCL также поддерживает CUDA в качестве бэкэнд), а Thrust использует CUDA. Помимо разных б...
22 нояб. '13 в 20:47
4

Упор внутри написанных пользователем ядер

Я новичок в Thrust. Я вижу, что все презентации и примеры Thrust содержат только хост-код. Я хотел бы знать, могу ли я передать device_vector в свое собственное ядро? Как? Если да, каковы операции, разрешенные на нем внутри кода ядра/устройства?
01 апр. '11 в 8:14
1

как отбрасывать тягу:: device_vector <int> к необработанному указателю

У меня есть тяга device_vector. Я хочу передать его необработанному указателю, чтобы передать его ядру. Как я могу это сделать? thrust::device_vector<int> dv(10); //CAST TO RAW kernel<<<bl,tpb>>>(pass raw)
20 июн. '12 в 5:46
2

Поиск максимального значения элемента и его позиции с использованием CUDA Thrust

Как получить не только значение, но и положение максимального (минимального) элемента (res.val и res.pos)? thrust::host_vector<float> h_vec(100); thrust::generate(h_vec.begin(), h_vec.end(), rand); thrust::device_vector<float> d_vec = h...
10 окт. '11 в 6:26
3

От тяги:: device_vector до исходного указателя и обратно?

Я понимаю, как перейти от вектора к необработанному указателю, но im пропустить удар по тому, как вернуться назад. // our host vector thrust::host_vector<dbl2> hVec; // pretend we put data in it here // get a device_vector thrust::device_vec...
06 окт. '11 в 18:48
2

большое целочисленное дополнение с CUDA

Я разрабатываю криптографический алгоритм на графическом процессоре и в настоящее время придерживаюсь алгоритма для выполнения большого целочисленного добавления. Большие целые числа представляются обычным способом как куча 32-битных слов. Например,...
18 окт. '12 в 14:35
1

Thrust: Как создать device_vector из массива хоста?

Я получаю некоторые данные из библиотеки на хосте в виде указателя на массив. Как создать device_vector, который хранит эти данные на устройстве? int* data; int num; get_data_from_library( &data, &num ); thrust::device_vector< int > i...
29 февр. '12 в 8:13
3

Разрешение предупреждений Thrust/CUDA "Невозможно определить, на какой указатель указывает..."

Я пытаюсь создать тривиальное приложение с помощью Thrust/CUDA 4.0 и получить много предупреждений "предупреждение: не могу указать, на какой указатель указывает, принимая глобальное пространство памяти" Кто-нибудь еще видел это и как я могу отключ...
06 мар. '11 в 19:37
1

Максимальное количество потоков, которые могут быть инициированы в одном ядре CUDA

Я смущен о максимальном числе потоков, которые могут быть запущены в GPU Fermi. Мой запрос устройства GTX 570 говорит следующее. Maximum number of threads per block: 1024 Maximum sizes of each dimension of a block: 1024 x 1024 x 64...
22 авг. '12 в 17:06
1

Как избежать установки по умолчанию элементов в тяге:: device_vector?

Кажется, что при создании нового вектора Thrust все элементы по умолчанию равны 0 - я просто хочу подтвердить, что это всегда будет так. Если да, существует ли способ обойти конструктор, ответственный за это поведение, за дополнительную скорост...
05 мая '13 в 22:13
1

Эффективность типов векторов CUDA (float2, float3, float4)

Я пытаюсь понять integrate_functor в particles_kernel.cu из примеров CUDA: struct integrate_functor { float deltaTime; //constructor for functor //... template <typename Tuple> __device__ void operator()(Tuple t) ...
31 окт. '14 в 14:16
2

Насколько хороша библиотека OpenCV GPU для матричных операций?

Я использую OpenCV для приложения в компьютерном зрении. Я хотел бы ускорить некоторые операции с матрицами (матрицы довольно большие) на графическом процессоре и, если это возможно, избегать кодирования непосредственно в CUDA C. В OpenCV 2.4.1 есть ...
29 июн. '12 в 12:40
3

Как удалить нулевые значения из массива параллельно

Как я могу эффективно удалить нулевые значения из массива параллельно с помощью CUDA. Информация о количестве нулевых значений доступна заранее, что должно упростить эту задачу. Важно, чтобы числа оставались упорядоченными, как в исходном массиве, п...
17 сент. '12 в 16:42
1

Выполнение преобразования Фурье с помощью тяги

Thrust - потрясающая оболочка для запуска программирования CUDA. Интересно, есть ли что-нибудь, чтобы инкапсулировать NVIDIA CUFFT с тягой или нам нужно реализовать себя?
02 дек. '12 в 11:52
1

CUDA: как использовать thrust:: sort_by_key непосредственно на графическом процессоре?

Библиотека Thrust может использоваться для сортировки данных. Вызов может выглядеть так (с помощью клавиш и вектора значений): thrust::sort_by_key(d_keys.begin(), d_keys.end(), d_values.begin()); вызывает процессор, при этом d_keys и d_values нах...
25 мар. '13 в 6:44