Вопросы по теме 'thrust'
Использование C++ в проекте CUDA C
Я реализую алгоритмы сортировки и сжатия потока в CUDA C. Однако я только что понял, что реализовать эти алгоритмы самостоятельно с хорошей производительностью не так просто. Учитывая, что я работаю с матрицами, я не могу использовать CUDPP, поэтому,...
303 просмотров
schedule
02.06.2023
Обработка изображений CUDA/Thrust
Мне не удалось найти никакой информации о том, может ли библиотека Thrust поддерживать матричные операции. Поэтому мне было интересно, можно ли использовать библиотеку Thrust при обработке изображений? Я также хотел бы увидеть любые примеры....
1546 просмотров
schedule
23.02.2023
Программирование CUDA с помощью библиотеки Thrust Radix Sort
Новичок в Thrust - в моей программе VS2010 C++ у меня все работает нормально:
#include <thrust/sort.h>
thrust :: stable_sort_by_key (sortkey , sortkey + nmu, indexes );
Но теперь я хочу использовать тягу:: stable_radix_sort_key. Я...
2377 просмотров
schedule
30.07.2022
Тип возврата CUDA Thrust
В настоящее время я пытаюсь использовать библиотеку Thrust, и у меня возникают проблемы с возвращаемыми типами.
device_vector<int> input(5);
input[0] = 0;
input[1] = 2;
input[2] = 5;
input[3] = 7;
input[4] = 8;
pair<int*,...
1354 просмотров
schedule
13.07.2023
Как изменить порядок вектора во время преобразования Thrust?
Как я могу преобразовать этот простой код в код тяги?
for (i=0;i<cA-rA;i++)
sn[i]=c[n_index[i]]-sn[i];
Дополнительная информация: cA и rA являются константными целыми числами, поэтому мы можем рассматривать их как 'n'= cA-rA sn: массив...
691 просмотров
schedule
16.03.2024
копирование данных с устройства на хост не работает
Я использую vs2010 на Windows 7 x64 и набор инструментов CUDA v4.0 для своего университетского проекта. Я хотел бы выполнить простой тест gpu-vs-cpu, большая часть которого выполнена, но ни один из моих тестов cuda не дает никаких результатов....
1586 просмотров
schedule
03.07.2023
От тяги::device_vector к необработанному указателю и обратно?
Я понимаю, как перейти от вектора к необработанному указателю, но я пропускаю бит, как идти назад.
// our host vector
thrust::host_vector<dbl2> hVec;
// pretend we put data in it here
// get a device_vector...
24174 просмотров
schedule
28.11.2022
Итераторы устройства тяги не работают
Я не знаю, почему приведенный ниже код выводит не 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...
790 просмотров
schedule
01.06.2024
Запуск ядра Timing в CUDA при использовании Thrust
Запуск ядра в CUDA обычно асинхронный, что (как я понимаю) означает, что после запуска ядра CUDA управление немедленно возвращается к ЦП. ЦП продолжает выполнять некоторую полезную работу, в то время как графический процессор занят обработкой чисел,...
2073 просмотров
schedule
07.09.2022
Несколько графических процессоров с Cuda Thrust?
Как использовать Thrust с несколькими графическими процессорами? Это просто вопрос использования cudaSetDevice(deviceId) и последующего запуска соответствующего кода Thrust?
1355 просмотров
schedule
30.01.2023
Выполнение эксклюзивного сканирования на тяге::device_vector определяемой пользователем структуры. Ошибка компилятора
Я работаю с библиотекой Thrust, поставляемой с CUDA. Я пытался выполнить инклюзивное и эксклюзивное сканирование вектора устройства пользовательской структуры. Вот код.
#include <iostream>
#include <thrust/copy.h>
#include...
3229 просмотров
schedule
06.07.2022
Смешайте пользовательское управление памятью и Thrust в CUDA
В моем проекте я реализовал собственный распределитель памяти, чтобы избежать ненужных вызовов cudaMalloc после того, как приложение «разогрелось». Кроме того, я использую собственные ядра для базового заполнения массивов, арифметических операций...
2047 просмотров
schedule
02.08.2022
Нахождение позиции минимального элемента массива cudaMalloc с помощью тяги :: min_element
Я пытаюсь найти наименьший элемент в определенном массиве CUDA
float *p;
...
thrust::device_ptr<float> pWrapper(p);
thrust::device_ptr<float> pos =
thrust::min_element(pWrapper, pWrapper + MAXX * MAXY,...
1120 просмотров
schedule
03.06.2022
CUDA Thrust sort_by_key, когда ключ является кортежем, с которым работает zip_iterator с пользовательским предикатом сравнения
Я просмотрел много вопросов здесь для чего-то подобного, и их довольно много, хотя и с одним небольшим изменением. Я пытаюсь отсортировать значения с помощью zip_iterator в качестве составного ключа.
В частности, у меня есть следующая функция:...
2327 просмотров
schedule
16.01.2023
Производительность тяги :: count
У меня есть следующий код как часть реорганизации данных для последующего использования в ядре CUDA:
thrust::device_ptr<int> dev_ptr = thrust::device_pointer_cast(dev_particle_cell_indices);
int total = 0;
for(int i = 0; i < num_cells;...
2217 просмотров
schedule
11.09.2022
Насколько хороша библиотека графического процессора OpenCV для матричных операций?
Я использую OpenCV для приложения в области компьютерного зрения. Я хотел бы ускорить некоторые матричные операции (матрицы довольно большие) на графическом процессоре и по возможности избежать кодирования непосредственно в CUDA C. OpenCV 2.4.1...
6292 просмотров
schedule
22.08.2022
Тяга против CUDPP
Для использования параллельных алгоритмов данных на GPU с CUDA есть две стандартные библиотеки, CUDPP и Thrust, которые реализуют сортировку, редукцию, сумму префиксов и т.д.
Итак, каковы основные различия между библиотеками с точки зрения...
967 просмотров
schedule
23.04.2022
Как продвигать итератор в функции тяги
Я изучаю тягу. Но я не понял, как получить значение точки итератора.
Пример кода выглядит так:
#include <thrust/for_each.h>
#include <thrust/device_vector.h>
#include <iostream>
#include <vector>
using namespace std;...
602 просмотров
schedule
05.06.2023
Пользовательский распределитель статической тяги?
Пара фактов по настройке:
Thrust не работает на месте для всех своих операций.
Вы можете предоставить пользовательские распределители для thrust::device_vectors .
Я просмотрел thrust::system и thrust::system::cuda и не нашел ничего...
1244 просмотров
schedule
20.11.2022
Максимальное количество потоков, которые могут быть инициированы в одном ядре CUDA
Меня смущает максимальное количество потоков, которое может быть запущено в графическом процессоре Fermi.
Мой запрос устройства GTX 570 говорит следующее.
Maximum number of threads per block: 1024
Maximum sizes of each dimension...
27860 просмотров
schedule
25.07.2022