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

Thrust: удаление дубликатов в массивах ключ-значение
У меня есть пара массивов одинакового размера, я буду называть их ключами и значениями. Например: K: V 1: 99 1: 100 1: 100 1: 100 1: 103 2: 103 2: 105 3: 45 3: 67 Ключи сортируются, и значения, связанные с каждым ключом , сортируются....
3332 просмотров
schedule 01.06.2022

Нормализуйте набор векторов с помощью библиотеки Nvidia Thrust.
Я только что узнал о библиотеке тяги от Nvidia. На всякий случай написал небольшой пример, который должен нормализовать кучу векторов. #include <cstdio> #include <thrust/transform.h> #include <thrust/device_vector.h> #include...
2649 просмотров
schedule 28.04.2022

Проблема двойного указателя CUDA/Thrust (вектор указателей)
Привет всем, я использую CUDA и библиотеку Thrust. Я сталкиваюсь с проблемой, когда пытаюсь получить доступ к двойному указателю в ядре CUDA, загруженном с хоста с помощью Thrust::device_vector типа Object* (вектор указателей). При компиляции с...
2354 просмотров
schedule 15.06.2023

Подсчет вхождений чисел в массиве CUDA
У меня есть массив целых чисел без знака, хранящийся на графическом процессоре с помощью CUDA (обычно 1000000 элементов). Я хотел бы подсчитать появление каждого числа в массиве. Есть только несколько различных чисел (около 10 ), но эти числа...
3166 просмотров
schedule 16.05.2024

Проблемы со временем с clock_gettime() CUDA
Я хотел написать код CUDA, в котором я мог бы воочию увидеть преимущества CUDA для ускорения работы приложений. Вот код CUDA, который я написал с помощью Thrust ( http://code.google.com/p/thrust/ ) Вкратце, все, что делает код, это создает два...
929 просмотров
schedule 12.03.2022

Нахождение количества вхождений ключей и позиций первых вхождений ключей с помощью CUDA Thrust
Скажем, у меня есть вектор ключей thrust::device_vector<int> keys(10); keys[0] = 51; // -----> keys[1] = 51; keys[2] = 72; // -----> keys[3] = 72; keys[4] = 72; keys[5] = 103; //-----> keys[6] = 103; keys[7] = 504; //...
1791 просмотров
schedule 20.02.2022

быстрый настраиваемый оператор сравнения CUDA
Я оцениваю CUDA и в настоящее время использую библиотеку Thrust для сортировки чисел. Я хотел бы создать свой собственный компаратор для тяги:: сортировка, но он резко замедляется! Я создал свою собственную реализацию less , просто скопировав код...
2919 просмотров
schedule 05.03.2023

Как оценить требования к памяти графического процессора для реализации на основе тяги?
У меня есть 3 разных реализации на основе тяги, которые выполняют определенные вычисления: первая — самая медленная и требует наименьшего количества памяти графического процессора, вторая — самая быстрая и требует большей части памяти графического...
479 просмотров
schedule 17.04.2023

Thrust::sort и transform_iterator
Я хочу отсортировать список целочисленных значений, но перед сортировкой я должен разделить их на число N. Таким образом, у меня будет несколько повторяющихся ключей, и я буду использовать это дублирование для stable_sort в списке. Мой вопрос в...
597 просмотров
schedule 14.05.2022

Ядро Cuda - возможные оптимизации
Вот ядро, которое я запускаю для параллельного вычисления некоторого массива. __device__ bool mult(int colsize,int rowsize,int *Aj,int *Bi) { for(int j = 0; j < rowsize;j++) { for(int k = 0;k...
154 просмотров
schedule 10.02.2023

Проверка device_vector внутри ядра CUDA не работает
Я использую CUDA 4.2 в 64-разрядной версии Windows 7 в среде Visual Studio 2010 Professional. Во-первых, у меня работает следующий код: // include the header files #include <iostream> #include <stdio.h> #include <time.h>...
1189 просмотров
schedule 22.04.2023

Как скопировать переменную, созданную библиотекой Thrust, в обычную переменную CUDA
Я использую библиотеку Thrust для решения проблемы. Проблема, с которой я сталкиваюсь при использовании этой библиотеки, заключается в том, что когда я выделяю память с помощью device_vector, то тяга автоматически управляет памятью. Теперь у меня...
81 просмотров
schedule 19.09.2022

Применение операции сокращения с использованием Thrust с учетом логического условия
Я хочу использовать thrust::reduce для поиска максимального значения в массиве A. Однако A[i] следует выбирать в качестве максимального только в том случае, если оно также удовлетворяет определенному логическому условию в другом массиве B....
1010 просмотров
schedule 12.10.2022

Векторы с CUDA
В настоящее время у меня есть код C++, который я переношу на CUDA. Код cpp использует векторы для хранения данных. Я новичок в CUDA и понимаю, что векторы нельзя использовать напрямую с CUDA. Количество сохраняемых элементов основано на...
100 просмотров
schedule 21.05.2022

Как скопировать row_indices из матрицы COO в вектор тяги в CUSP
Я пытался скопировать индексы строк, индексы столбцов и значения матрицы COO в отдельные векторы тяги, но обнаружил, что не могу этого сделать. Ниже приведен код cusp::coo_matrix <unsigned int, float, cusp::device_memory> *sim_mat;...
577 просмотров
schedule 12.04.2022

используя std::bind2nd с тягой
Я пытаюсь использовать std::bind2nd с тягой. У меня есть код, который компилируется с указателем хоста, но не с указателем устройства. Я думаю, что они идентичны и должны работать в обоих случаях. // this compiles fine...
475 просмотров
schedule 12.06.2023

Как я могу постоянно хранить матрицу в памяти графического процессора и использовать ее при необходимости?
Я пытаюсь распараллелить некоторую функцию через CUDA, которая вызывается много раз. Каждый раз он имеет дело с одной и той же матрицей. Я хочу сохранить эту матрицу в памяти графического процессора, и при вызове функции я хочу загрузить вектор в...
553 просмотров
schedule 31.03.2023

Вставьте device_malloc и device_new
Каковы преимущества использования Thrust device_malloc вместо обычного cudaMalloc и что делает device_new ? Что касается device_malloc , кажется, единственная причина его использования заключается в том, что он немного чище. В документации...
1041 просмотров
schedule 18.04.2023

Функция шаблона для печати вектора тяги
Я пишу класс шаблона matrix , который печатает как в файл, так и в std::cout , то есть: matrix<float> myMat; ... myMat.cout(...) // print to std::cout myMat.write("out.txt") // print to file Оба будут иметь общую базовую...
2846 просмотров
schedule 10.05.2023

Интеграция ODE на GPU с помощью boost и python
Не так давно я писал здесь о модели, которую я пытаюсь построить с помощью pycuda, которая решает около 9000 связанных ODE. Однако моя модель слишком медленная, и член SO предположил, что, вероятно, виновата передача памяти с хоста на GPU. Прямо...
1502 просмотров
schedule 21.08.2022