Описание тега gpu-warp
Деформация или волновой фронт - это логическая единица в планировании ядра графического процессора - самый большой набор потоков в сетке, которые (логически) заблокированы инструкциями и всегда синхронизируются друг с другом.
1
ответ
CUDA Reduction: Warp Unrolling (Школа)
В настоящее время я работаю над проектом, в котором развертываю последний перекос сокращения. Я закончил код выше; Тем не менее, некоторые изменения были сделаны путем угадывания, и я хотел бы объяснить, почему. Код, который я написал, является толь…
08 мар '18 в 00:24
0
ответов
Планирование деформации в графическом процессоре Kepler
Я недавно прочитал технический документ GK110, в котором утверждается, что у каждого SM есть 4 планировщика основы, и у каждого из них есть две единицы отправки команд. В каждом цикле каждый планировщик деформации выбирает деформацию, которая подход…
08 май '18 в 07:32
2
ответа
Как мне сделать обратное shfl.idx (т.е. разброс по варпу вместо сбора по деформации)?
С помощью инструкции CUDA shfl.idx мы выполняем то, что по сути является сборкой внутри деформации: каждая линия обеспечивает базовую линию и исходную линию и получает данные исходной линии. А как насчет обратной операции, разброс? Я имею в виду, не…
07 фев '18 в 00:11
2
ответа
Проблема синхронизации деформации CUDA
Обобщая ядро, которое сдвигает значения 2D-массива на один пробел вправо (обтекание границ строк), я столкнулся с проблемой синхронизации деформации. Полный код прилагается и включен ниже. Код предназначен для работы с произвольной шириной массива, …
23 фев '11 в 23:30
1
ответ
Размер деформации и контроль дивергенции
У меня есть вопрос о следующем вопросе: Предположим, у нас есть изображение 9*7 (7 пикселей в направлении x и 9 пикселей в направлении y), сколько деформаций будет иметь дивергенцию управления, предполагая блок из 4*4 потоков и 8 потоков на деформац…
26 янв '15 в 21:42
2
ответа
Как GPU группирует потоки в деформации / волновые фронты?
Насколько я понимаю, деформация - это группа потоков, которые определяются во время выполнения через планировщик задач. Одной из важнейших составляющих производительности CUDA является расхождение потоков внутри деформации, существует ли способ сдел…
07 мар '13 в 08:57
1
ответ
Ветвь на основе идентификатора WARP
Есть ли способ найти идентификатор WARP потока в CUDA? Я хочу выполнить ветку на основе идентификатора WARP.
23 июл '15 в 17:58
1
ответ
Как блоки CUDA делятся на основы?
Если я начну свое ядро с сетки, блоки которой имеют размеры: dim3 block_dims(16,16); Как блоки сетки теперь делятся на деформации? Формируют ли первые две строки такого блока один перекос или первые два столбца, или это произвольно упорядочено? Пр…
30 май '11 в 13:54
2
ответа
CUDA разделяет память и синхронизирует деформации
Следующий код хоста test.c и код устройства test0.cu предназначены для того, чтобы дать тот же результат. test.c $ cat test.c #include <stdio.h> #include <string.h> int main() { int data[32]; int dummy[32]; for (int i = 0; i < 32; i++…
08 янв '19 в 11:27
1
ответ
Ядро CUDA с одной веткой работает в 1,5 раза быстрее, чем ядро без ветви
У меня странное снижение производительности на ядре фильтра с разветвлением и без него. Ядро с ветвлением работает в 1,5 раза быстрее, чем ядро без ветвления. По сути, мне нужно отсортировать пучок лучей, а затем применить ядра взаимодействия. Пос…
20 сен '17 в 22:22
1
ответ
CUDA объединяет доступ к данным FP64
Я немного запутался в том, как данные FP64 влияют на доступ к памяти, создаваемый деформацией. Деформация всегда состоит из 32 потоков независимо от того, выполняют ли эти потоки вычисления FP32 или FP64. Правильно? Я читал, что каждый раз, когда по…
09 фев '17 в 11:25
1
ответ
Некоторые свойства, названные с помощью `_sync()`, добавлены в CUDA 9; семантика такая же?
В CUDA 9 nVIDIA, похоже, имеет это новое понятие "кооперативные группы"; и по какой-то причине мне не совсем понятно, __ballot() сейчас (= CUDA 9) устарела в пользу __ballot_sync(), Это псевдоним или семантика изменилась? ... похожий вопрос для друг…
27 сен '17 в 22:15
1
ответ
Избегайте расхождения деформации
У меня есть логический 1D массив T[N] управление величиной смены осуществляется следующим образом: **a: массив указателей на n*n матрицы в глобальной памяти я хочу для каждой матрицы a Для подстановки сдвига * Идентичность получить: a=a-shift*eye(n)…
14 сен '15 в 11:24
2
ответа
Cuda: деформация и время выполнения
У меня вопрос по поводу перекосов в GPU. Я использовал следующую конфигурацию: GeForce 210 Способность куда майор / минор: 1,2 2 мультипроцессора, 8 ядер CUDA /MP: 16 ядер CUDA Размер основы: 32 Ниже приведено время работы (я использовал nsight): bl…
07 май '14 в 19:24
1
ответ
Есть ли способ явно сопоставить поток с определенным перекосом в CUDA?
Скажем, динамический анализ был выполнен на программе CUDA, так что определенные потоки были лучше, находясь в одной и той же деформации. Например, давайте представим, что у нас есть 1024 потока cuda и размер основы 32. После динамического анализа м…
24 мар '17 в 22:11
2
ответа
Потоки в деформации CUDA выполняются параллельно на многопроцессорном компьютере?
Деформация - 32 потока. 32 потока выполняются параллельно в многопроцессорном режиме? Если 32 потока не выполняются параллельно, тогда в варпе нет условия гонки. Я получил это сомнение после просмотра некоторых примеров.
11 мар '11 в 04:35
2
ответа
Удаление __syncthreads() в CUDA сокращении уровня варпа
Следующий код суммирует каждый 32 элементы в массиве до самого первого элемента каждого 32 группа элементов: int i = threadIdx.x; int warpid = i&31; if(warpid < 16){ s_buf[i] += s_buf[i+16];__syncthreads(); s_buf[i] += s_buf[i+8];__syncthread…
23 май '12 в 23:17
1
ответ
Выполняют ли современные графические процессоры nVIDIA субарповое планирование работы?
В современных архитектурах графических процессоров nVIDIA один потоковый мультипроцессор, похоже, разбит на 4 блока; причем каждый из них имеет горизонтальные или вертикальные "столбики" из 8 "квадратов", соответствующие различным функциональным еди…
04 янв '18 в 16:29
2
ответа
OpenGL вычисляет сопоставление шейдеров с деформациями nVidia
Допустим, у меня есть вычислительный шейдер OpenGL с local_size=8*8*8. Как вызовы отображаются в деформациях GPU nVidia? Были бы вызовы с тем же gl_LocalInvocationID.x быть в том же варпе? Или у? Или я? Я не имею в виду все вызовы, я просто имею в в…
08 дек '18 в 18:06
1
ответ
__activemask() против __ballot_sync()
После прочтения этого поста в блоге разработчиков CUDA я пытаюсь понять, когда безопасное \ правильное использование __activemask() на месте __ballot_sync(), В разделе Active Mask Query авторы написали: Это неверно, так как это приведет к частичной …
05 янв '19 в 18:54