Вопросы по теме '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 просмотров

Производительность тяги :: 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