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

CUDA on Thrust: как реализовать приоритетную очередь
мой план состоит в том, чтобы вычислить матрицу расстояний, используя корреляцию Пирсона, и получить q ближайших соседей для каждого узла (q = ln (n)) из матрицы расстояний и поместить их в результирующий вектор. Я сделал это на C++, используя...
2293 просмотров
schedule 11.05.2022

NVidia Thrust device_vector of strings
Я начал использовать библиотеку NVidia Thrust, которая входит в набор инструментов CUDA 4.0, и хотел что-то проверить, прежде чем копать глубже. Я могу выполнить следующее, и во время сборки у меня не возникнет проблем: thrust::host_vector...
2901 просмотров
schedule 16.03.2022

Thrust::Sort очень долго компилирует
Я пытаюсь скомпилировать блок примера кода с помощью Thrust, чтобы помочь изучить CUDA. Я использую Visual Studio 2010, и у меня есть другие примеры для компиляции. Однако, когда я компилирую этот пример, компиляция занимает более 10 минут. Я...
2809 просмотров
schedule 17.01.2024

итератор для вектора структур в тяге
Я пытаюсь получить доступ к векторным элементам таким образом struct point { unsigned int x; unsigned int y; }; ... thrust::device_vector<point> devPoints(hPoints.begin(), hPoints.end());...
5568 просмотров
schedule 21.02.2023

STL толкает множественное векторное преобразование?
Мне было интересно, есть ли более эффективный способ записи a = a + b + c? thrust::transform(b.begin(), b.end(), c.begin(), b.begin(), thrust::plus<int>()); thrust::transform(a.begin(), a.end(), b.begin(), a.begin(),...
2178 просмотров
schedule 11.11.2022

Thrust::reduce_by_key производительность с несколькими повторениями клавиш
Мне приходится выполнять ключевое сокращение массивов с множеством разных ключей, которые повторяются только время от времени: keys = {1,2,3,3,4,5,6,7,7, 8, 9, 9,10,11,...} array = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,...} // after reduction result...
1309 просмотров
schedule 07.07.2023

вывести значение, на которое указывает итератор тяги
Пожалуйста, смотрите код ниже: thrust::device_vector<int>::iterator whereToBegin = copyListOfNgramCounteachdoc.begin(); end = thrust::unique_by_key(end.first, end.first + numUniqueNgrams,end.second);...
453 просмотров
schedule 28.04.2024

Cuda толкает глобальную память, пишет очень медленно
В настоящее время я пишу код, который вычисляет интегральную гистограмму на графическом процессоре с использованием библиотеки тяги Nvidia. Поэтому я выделяю непрерывный блок памяти устройства, который я постоянно обновляю с помощью специального...
1738 просмотров
schedule 06.12.2023

Какой алгоритм ординации использует библиотека Thrust (CUDA)?
Какой алгоритм ординации использует библиотека Thrust (CUDA)? (например, быстрая сортировка, сортировка слиянием)
402 просмотров
schedule 23.12.2023

Преобразование вектора тяги с удалением элементов вектора
У меня есть тяга device_vector, разделенная на куски по 100 (но полностью смежные в памяти графического процессора), и я хочу удалить последние 5 элементов каждого фрагмента, не перераспределяя новый device_vector для его копирования. // Layout in...
446 просмотров
schedule 22.04.2022

проблемы с памятью при использовании float4 в тяге cuda
я столкнулся с проблемой памяти при использовании float4 в тяге cuda добавление float4 "buggyVariable" в качестве члена функтора, по-видимому, приводит к тому, что данные с плавающей запятой смещаются влево на 1 поплавок. в CUDA_animateParticles...
530 просмотров
schedule 03.11.2023

Засунуть OpenMP без CUDA?
Могу ли я использовать Thrust с системой устройств OpenMP, если на моей машине нет графического процессора CUDA? Если да, то нужен ли мне инструментарий CUDA?
1517 просмотров
schedule 09.02.2023

Предотвращение расхождения потоков CUDA для операций типа MISD
Как часть более крупного кода, у меня есть решатель CUDA RK4, который параллельно интегрирует большое количество ODE (может быть 1000+). Одним из шагов этой операции является вычисление «xdot», которое отличается для каждого уравнения (или элемента...
237 просмотров
schedule 23.11.2022

Низкая производительность при одновременном вызове cudaMalloc с 2 GPU.
У меня есть приложение, в котором я распределяю вычислительную нагрузку между графическими процессорами в системе пользователя. По сути, для каждого графического процессора существует поток ЦП, который инициирует интервал обработки графического...
1804 просмотров

CUDA Thrust: нахождение индекса первого элемента в векторе, удовлетворяющего предикату (например, нулю или отрицательному) [синтаксис Matlab min(find(x‹=0))]
Я пытаюсь найти индекс первого нулевого или отрицательного значения массива, используя CUDA Thrust. Код последовательного процессора, который я пытаюсь написать с помощью CUDA Thrust, выглядит следующим образом: for (int i = StartIndex; i <=...
1560 просмотров
schedule 06.11.2022

результат снижения тяги в памяти устройства
Можно ли оставить возвращаемое значение операции Thrust::Reduce в памяти, выделенной устройством? Если это так, это так же просто, как присвоить значение области cudaMalloc, или мне следует использовать тягу::device_ptr?
1697 просмотров
schedule 16.03.2024

общее количество регистров
Я хотел спросить. Мы говорим, что использование --ptxas-options=-v не дает точного количества регистров, которое использует наша программа. 1) Тогда как мне предоставить калькулятору occupancu количество регистров для каждого потока и общую память...
678 просмотров
schedule 08.10.2023

Процедура inclusive_scan из CUDA Thrust не работает с вектором устройства из поплавков
Я пытаюсь вычислить сумму префикса на месте для device_vector из библиотеки Thrust. Следующий фрагмент не работает: #include "cuda_runtime.h" #include "device_launch_parameters.h" #include <iostream> #include <stdio.h> #include...
89 просмотров
schedule 31.12.2023

Альтернативы экономии памяти CUDA Thrust sort_by_key?
В cuda / thrust: Попытка sort_by_key 2,8 ГБ данных в 6 ГБ ОЗУ графического процессора вызывает ошибку bad_alloc , я читал, что sort_by_key потребляет большую часть памяти для рассматриваемого здесь тестового примера. Есть ли альтернатива,...
929 просмотров
schedule 25.03.2022

операции с пустым хост-массивом
Я хочу сделать несколько операций с тягой, но я не уверен, как именно. Прямо сейчас я получаю массив, полный нулей (массив h_a) У меня есть : #include <cstdio> #include <cstdlib> #include <cmath> #include <iostream>...
246 просмотров
schedule 17.10.2022