Описание тега gpu-cooperative-groups
1
ответ
Как можно использовать кооперативные группы особенность CUDA в Windows
Мой GPU - GeForce MX150, паскальская архитектура, CC. 6.1, CUDA 9.1, windows 10. Хотя мой графический процессор паскаль, но кооперативные группы не работают. Я хочу использовать его для межблочной синхронизации.Я обнаружил, что мой режим TCC не акти…
14 дек '18 в 13:36
1
ответ
Два последовательных ядра или синхронизация по группам из всей сетки?
Предположим, у меня есть две задачи для запуска на графическом процессоре, вторая из которых основывается на практически всех работах первой. Традиционно мне, по сути, приходилось писать эти задачи как два отдельных ядра и планировать запуск второго…
08 янв '19 в 00:14
1
ответ
cooperative_groups::this_grid() заставляет любой вызов API CUDA возвращать "неизвестную ошибку"
Выполните те же шаги в примерах CUDA для запуска ядра и синхронизации по сетке с помощью cooperative_groups::this_grid().sync() приводит к сбою любого вызова API CUDA. При использовании cooperative_groups::this_thread_block().sync() работает отлично…
27 ноя '18 в 03:57
3
ответа
Могу ли я запустить кооперативное ядро, не передавая массив указателей?
API среды выполнения CUDA позволяет нам запускать ядра с использованием синтаксиса тройного шеврона с переменным числом аргументов: my_kernel<<<grid_dims, block_dims, shared_mem_size>>>( first_arg, second_arg, and_as_many, as_we, w…
31 янв '18 в 16:53
1
ответ
Кооперативные группы CUDA: ошибка связывания
После прочтения о кооперативных группах в CUDA 9 я пытался синхронизироваться на уровне сетки. Я использую Visual Studio 2017, GTX 1060 и CUDA 9.1. Я изменил свой код следующим образом: __global__ void ExplicitKernel_American(/* ... */) { int i = th…
05 апр '18 в 21:44
0
ответов
Почему nvcc отказывается связывать эту простую программу для кооперативных групп?
Рассмотрим следующую программу CUDA в файле с именем foo.cu: #include <cooperative_groups.h> #include <stdio.h> __global__ void my_kernel() { auto g = cooperative_groups::this_grid(); g.sync(); } int main(int, char **) { cudaLaunchCooper…
25 дек '19 в 21:38
1
ответ
Неразрешенная внешняя функция cudaCGGetIntrinsicHandle наносит ответный удар
Я создаю примеры для своих cuda-api-wrappers репо. Некоторое время назад я столкнулся с проблемой: всякий раз, когда я пытался скомпилировать.cu файл, код которого использует механизм "кооперативных групп", я получил сообщение об ошибке: ptxas fatal…
08 дек '19 в 22:20
0
ответов
как использовать cooperative_group для синхронизации сетки в cuda?
Я хочу синхронизировать все потоки в сетке с помощью cooperative_groups::this_grid(). Sync(), но кажется, что код этого предложения не может быть выполнен. Например, я написал кусок простого кода. Второй printf не может быть выполнен. Я хочу знать, …
03 дек '20 в 11:40
0
ответов
Могу ли я настроить синхронизацию потоков CUDA по сетке?
Я использовал кооперативные группы для выполнения синхронизации между потоками внутри ядра на уровне устройства: __global__ void my_kernel(...){ grid_group grid = this_grid(); // ... grid.sync(); // ... } И это совместный запуск, который делает дост…
28 апр '21 в 23:02
1
ответ
Как запустить ядро кооперативного шаблона cuda
Я безуспешно пытаюсь запустить ядро шаблона как совместное ядро в CUDA C++, что я делаю не так ошибка Error cannot determine which instance of function template "boolPrepareKernel" is intended Я пытаюсь вызвать ядро, как показано ниже. ForBoolKe…
26 янв '22 в 16:17
1
ответ
Почему возврат cudaLaunchCooperativeKernel() не разрешен?
Поэтому я использую GTX 1050 с вычислительной мощностью 6.1 с CUDA 11.0. Мне нужно использовать синхронизацию сетки в моей программе, поэтому cudaLaunchCooperativeKernel()нужно. Я проверил свой запрос устройства, поэтому GPU поддерживает совместные …
22 дек '20 в 09:23
0
ответов
Ядро CUDA перестает работать при использовании функции синхронизации сетки совместных групп ()
Я пытался реализовать некоторые ядра cuda, используя функцию кооперативных групп, когда обнаружил, что ядро вообще ничего не делает. Я свел это к небольшому примеру, который можно увидеть ниже. Как только я позвоню sync()функция ядра cuda больше н…
08 дек '20 в 17:34
1
ответ
ошибка: класс "cooperative_groups::__v1::thread_block" не имеет члена "is_valid"
Мы пытаемся использовать некоторые функции совместных групп в CUDA для написания небольшого приложения. Мы используем карту Tesla V100 с CUDA 11.0. Но при использовании метода is_valid() в thread_block наблюдается следующая ошибка: error: class "coo…
28 янв '21 в 14:23
0
ответов
В CUDA, как я могу получить маску потока этой деформации в условно выполняемом коде (чтобы выполнить, например, __shfl_sync или <cg>.shfl?
Я пытаюсь обновить какой-то старый код CUDA (до CUDA 9.0), и у меня возникают трудности с обновлением использования перетасовки деформации (например, __shfl). В основном соответствующая часть ядра может выглядеть примерно так: int f = d[threadIdx.x]…
22 мар '22 в 18:41
1
ответ
Должен ли тип thread_block передаваться по ссылке?
Вопрос При прохожденииthread_groupвведите объекты в функцию устройства, есть ли предпочтение передаче по ссылке, а не передаче по значению? Один из них «правильный»? В чем различия каждого подхода Когда следует отдать предпочтение каждому подходу Пр…
14 июн '23 в 21:49
1
ответ
Выделение памяти не разрешено при запуске ядра с cudaLaunchCooperativeKernel и -rdc=true.
При выполнении следующего кода генерируется ошибка «операция не разрешена». Есть ли что-то, что мне не хватает? Я запускаю его с вычислительными возможностями 7.5 и командойnvcc test.cu -rdc=true. Работает без RDC. #include <cooperative_groups.h&…
06 апр '23 в 08:51