Описание тега thrust
Thrust is a template library of parallel algorithms with an interface resembling the C++ Standard Template Library (STL) for NVIDIA CUDA.
1
ответ
Использование thrust::max_element в проекте CUDA C
В проекте CUDA C я хотел бы попробовать использовать библиотеку Thrust, чтобы найти максимальный элемент в массиве с плавающей точкой. Кажется, мне нужна функция Thrust thrust::max_element(). Массив, в котором я хочу использовать эту функцию, являет…
03 дек '15 в 12:49
2
ответа
Параллельное умножение множества маленьких матриц на фиксированный вектор
Ситуация следующая: у меня есть ряд (1000 с) элементов, которые задаются небольшими матрицами размеров 4x2, 9x3 ... вы понимаете. Все матрицы имеют одинаковое измерение. Я хочу умножить каждую из этих матриц на фиксированный вектор предварительно ра…
04 фев '14 в 23:34
0
ответов
Тяга /CUDA: Какой эффективный способ суммировать элементы по координатам подматрицы?
2D матрица: thrust::device_vector<bool> (строка за строкой).Координаты подматрицы: struct { uint16_t left; uint16_t top; uint16_t right; uint16_t bottom; }; Как наиболее эффективно найти сумму матричных элементов, определяемых координатами под…
27 июл '18 в 16:48
1
ответ
Более быстрый способ вычислить массив в Thrust-Cuda
У меня есть четыре массива: thrust::device_vector<int> vertices; thrust::device_vector<int> adjacency: thrust::device_vector<int> degree_summation; thrust::device_vector<int> degree; Массив индексов вершин представляет вершин…
01 дек '14 в 13:48
2
ответа
Копирование части набора данных в несколько графических процессоров CUDA с использованием Thrust
Я хочу разделить набор данных между несколькими графическими процессорами, причем каждый графический процессор получает только подмножество данных для кода CUDA с использованием Thrust. Прикрепленный ниже код, который компилируется; однако, thrust в…
16 июн '15 в 19:00
2
ответа
Проверка, содержит ли матрица nans или бесконечные значения в CUDA
Какой эффективный способ проверить большую матрицу для inf/nan элементы в CUDA (C++)? Матрица хранится как float* в памяти графического процессора. Мне не нужно расположение этих элементов, просто логический ответ да / нет, если присутствует хотя бы…
29 мар '14 в 17:06
1
ответ
Оценка выражений, состоящих из поэлементных матричных операций в Thrust
Я хотел бы использовать Thrust для оценки выражений, состоящих из поэлементных матричных операций. Чтобы было понятно, рассмотрим выражение вроде: D=A*B+3*sin(C) где A, B, C а также D Матрицы, конечно же, одного размера. Краткое руководство по тяге …
05 июл '13 в 11:00
1
ответ
Итераторы тяговых устройств не работают
Я не знаю, почему приведенный ниже код не выводит 1,2, а некоторые случайные числа #include <thrust/set_operations.h> #include <thrust/device_vector.h> #include <ostream> int main() { int a[]= { 1,2,3,4,5,6}; int b[] = {1,2,8}; int…
27 окт '11 в 07:35
1
ответ
thrust::copy не работает для device_vectors
Я скопировал этот код из документации Thrust: #include <thrust/copy.h> #include <thrust/device_vector.h> #include <thrust/host_vector.h> int main() { thrust::device_vector<int> vec0(100); thrust::device_vector<int> vec1…
25 дек '15 в 06:50
2
ответа
Как сортировать ключи с меньшей точностью с помощью библиотеки Thrust
У меня есть набор целочисленных значений, и я хочу отсортировать их с помощью Thrust. Есть ли возможность использовать только некоторые старшие / младшие биты в этой сортировке. Если возможно, я не хочу использовать пользовательский компаратор, пото…
13 июн '12 в 09:33
1
ответ
Является ли sort_by_key в тяге блокирующим вызовом?
Я неоднократно ставлю в очередь последовательность ядер: for 1..100: for 1..10000: // Enqueue GPU kernels Kernel 1 - update each element of array Kernel 2 - sort array Kernel 3 - operate on array end // run some CPU code output "Waiting for GPU to f…
16 фев '15 в 11:35
1
ответ
Число производительности преобразования тяги
Может ли кто-нибудь сказать мне, что режимы тяги блокируют или не блокируют? Я хочу время, вот фрагменты кода- фрагмент кода -1: clock_t start,end; start = clock(); thrust::transform( a.begin(), a.end(), b.begin(), thrust::negate<int>()); end …
03 мар '14 в 06:12
1
ответ
Об определении переменной в cuda
Я должен загрузить данные из файла. Каждый образец 20-мерный. Поэтому я использовал эту структуру данных, чтобы помочь мне с этим: class DataType { vector<float> d; } Но хотя я использую это определение переменной, он не может работать. thrust…
13 июл '13 в 07:14
1
ответ
nVidia Thrust: device_ptr Const-Correctness
В моем проекте, который широко использует nVidia CUDA, я иногда использую Thrust для вещей, которые он делает очень, очень хорошо. Уменьшение - это один алгоритм, который особенно хорошо реализован в этой библиотеке, и одно из применений снижения - …
24 ноя '15 в 11:44
1
ответ
Максимальное количество потоков, которые могут быть инициированы в одном ядре CUDA
Меня смущает максимальное количество потоков, которое можно запустить в графическом процессоре Fermi. Мой запрос устройства GTX 570 говорит следующее. Maximum number of threads per block: 1024 Maximum sizes of each dimension of a block: 1024 x 1024 …
22 авг '12 в 17:06
3
ответа
Вектор смещения в тяге
Я смотрю на проект, связанный с онлайн (потоковым) данными. Я хочу работать со скользящим окном этих данных. Например, скажем, что я хочу хранить 10 значений в моем векторе. Когда приходит значение 11, я хочу сбросить значение 1, переместить все зан…
02 июл '12 в 20:25
1
ответ
Сжатие потока с помощью Thrust; лучшие практики и самый быстрый способ?
Я заинтересован в портировании некоторого существующего кода для использования Thrust, чтобы посмотреть, смогу ли я сравнительно легко ускорить его на GPU. Чего я хочу добиться, так это операции сжатия потока, в которой будут храниться только ненуле…
07 июн '15 в 08:05
1
ответ
Выполнение монопольного сканирования для thrust::device_vector определенной пользователем структуры. Ошибка компилятора
Я работаю с библиотекой Thrust, поставляемой с CUDA. Я пытался выполнить инклюзивное и эксклюзивное сканирование вектора устройства определенной пользователем структуры. Вот код #include <iostream> #include <thrust/copy.h> #include <t…
26 дек '11 в 23:13
1
ответ
thrust::sort_by_key: как сохранить результат в отдельном массиве?
Я в настоящее время сортирую значения по ключу следующим образом thrust::sort_by_key(thrust::device_ptr<int>(keys), thrust::device_ptr<int>(keys + numKeys), thrust::device_ptr<int>(values); который сортирует массив значений по ключ…
18 янв '13 в 05:47
2
ответа
Комплексное преобразование тяги 3 векторов разных размеров
Здравствуйте, у меня есть этот цикл в C+, и я пытался преобразовать его в тяги, но без получения тех же результатов... Есть идеи? благодарю вас Код C++ for (i=0;i<n;i++) for (j=0;j<n;j++) values[i]=values[i]+(binv[i*n+j]*d[j]); Код тяги thrust…
30 сен '11 в 23:51