Описание тега bank-conflict

None Проблема задержки из-за многопоточного доступа к системе с общей памятью. В настоящее время эта проблема с задержкой наиболее часто встречается в видеокартах nVidia и ATI.
1 ответ

CUDA: перегрузка разделяемой памяти для реализации подхода сокращения с несколькими массивами

У меня есть 5 массивов больших размеров A(N*5), B(N*5), C(N*5), D(N*5), E(N*2) номер 5 и 2 представляет компоненты этих переменных в разных плоскостях / осях. Вот почему я структурировал массивы таким образом, чтобы я мог визуализировать данные, ког…
4 ответа

Почему в Cuda/OpenCL отсутствуют глобальные банковские конфликты?

Одна вещь, которую я не понял, и Google не помогает мне, почему это может иметь конфликты банков с общей памятью, но не в глобальной памяти? Могут ли быть банковские конфликты с регистрами? ОБНОВЛЕНИЕ Вау, я действительно ценю два ответа от Tibbit и…
01 окт '10 в 21:02
1 ответ

Актуальность конфликтов банков с общей памятью в Ферми и выше

Из того, что я прочитал в документации CUDA, конфликты в банках совместно используемой памяти не имеют значения для sm_20 и выше, поскольку значения передаются при одновременном запросе, предотвращая любые задержки сериализации. Документация: Аппара…
03 июл '14 в 15:04
1 ответ

Конфликт банка CUDA для кэша L1?

В архитектуре NVIDIA 2.x каждая деформация имеет 64 КБ памяти, которая по умолчанию разделена на 48 КБ общей памяти и 16 КБ L1-кеша (для обслуживания global а также constant объем памяти). Все мы знаем о конфликтах банков при доступе к общей памяти …
21 фев '13 в 16:47
2 ответа

Произвольный доступ к памяти и конфликты банков

В эти дни я пробую программу на мобильном GPU (Adreno) алгоритм, который я использую для обработки изображений, имеет "случайность" для доступа к памяти. это относится к некоторым пикселям в "фиксированном" диапазоне для фильтрации. НО, я не могу то…
09 май '15 в 03:01
1 ответ

Практический пример использования разделяемой памяти GPU

У меня есть такой массив: data[16] = {10,1,8,-1,0,-2,3,5,-2,-3,2,7,0,11,0,2} Я хочу вычислить сокращение этого массива, используя разделяемую память на GPU G80. Ядро, упомянутое в документе NVIDIA, выглядит так: __global__ void reduce1(int *g_idata,…
03 апр '17 в 23:25
1 ответ

Банковский конфликт CUDA поделился памятью?

Я сталкиваюсь (как я полагаю) с конфликтами банков с общей памятью в ядре CUDA. Сам код довольно сложный, но я воспроизвел его в простом примере, приведенном ниже. В этом случае он упрощается до простого копирования из глобальной -> общей -> глобаль…
06 фев '15 в 21:05
5 ответов

Что такое банковский конфликт? (Занимаюсь программированием на Cuda/OpenCL)

Я читал руководство по программированию для CUDA и OpenCL, и я не могу понять, что такое банковский конфликт. Они просто погружаются в то, как решить проблему, не углубляясь в сам предмет. Кто-нибудь может помочь мне понять это? У меня нет никакого …
01 окт '10 в 18:04
2 ответа

Мобильный OpenCL локальный банк памяти конфликт. Почему использование локальной памяти медленнее, чем глобальная память в ядре?

Я разрабатываю приложение для обнаружения лиц на платформе Android, используя OpenCL, Алгоритм обнаружения лица основан на алгоритме Виолы Джонса. Я попытался сделать Каскад код классификации шаг ядра кода. и я поставил classifier data каскадного эт…
01 май '15 в 17:51
2 ответа

Конфликт банка с общей памятью графического процессора

Я пытаюсь понять, как происходят банковские конфликты.если у меня есть массив размером 256 в глобальной памяти, и у меня есть 256 потоков в одном блоке, и я хочу скопировать массив в общую память. поэтому каждый поток копирует один элемент. shared_a…
09 дек '10 в 08:22
1 ответ

Эффективность общей памяти CUDA на 50%?

У меня есть следующий код, который выполняет мозаичное транспонирование матрицы с использованием общей памяти для повышения производительности. Совместно используемая память дополняется 1 столбцом, чтобы избежать конфликта банков для блока потока 32…
20 июн '18 в 21:00
1 ответ

CUDA: банковские конфликты между разными перекосами?

Я только что узнал (из Почему только один из деформаций выполняется SM в cuda?), Что графические процессоры Kepler могут фактически выполнять инструкции из нескольких (очевидно, 4) деформаций одновременно. Может ли банк общей памяти обслуживать одно…
15 фев '14 в 19:22
2 ответа

CUDA сообщило о конфликтах в банках с общей памятью

Я работал над оптимизацией некоторого кода и столкнулся с проблемой отчета о конфликте банков совместно используемой памяти с анализом производительности CUDA Nsight. Мне удалось свести его к очень простому коду, который Nsight сообщает о наличии ба…
29 апр '15 в 03:47
1 ответ

Банковский конфликт в 2D ядре

Предположим, что наше оборудование имеет 32 банка шириной 4 байта. И у нас есть одномерное ядро ​​размером 32 и локальный одномерный массив целых чисел. Затем, гарантируя, что каждый последовательный поток обращается к последовательным ячейкам памят…
22 окт '14 в 17:41
1 ответ

Предотвращает ли чтение массива int из общей памяти банковские конфликты?

Я проектирую ядро ​​CUDA, которое будет запускаться с 16 потоками на блок потоков. У меня есть массив из N ints в разделяемой памяти (т.е. на блок потока), который я хочу обработать. Если шаблон доступа потоков является последовательным в массиве, з…
1 ответ

Конфликт банка OpenCL - потеря памяти / повреждение данных?

Заранее извиняюсь за неопределенность этого вопроса. Фон: Я пытаюсь написать морфологическую функцию обработки изображений в OpenCL. У меня есть __local буфер, который я использую для хранения данных для каждого пикселя (каждый пиксель представлен р…
17 фев '11 в 04:41
2 ответа

Стратегия минимизации банковских конфликтов для 64-битной разделяемой потоками разделяемой памяти

Предположим, у меня есть полная деформация потоков в блоке CUDA, и каждый из этих потоков предназначен для работы с N элементами типа T, находящимися в разделяемой памяти (таким образом, у нас всего warp_size * N = 32 N элементов). Различные потоки …
1 ответ

CUDA - определить количество банков в разделяемой памяти

Общая память "полосатая" в банки. Это приводит ко всей проблеме банковских конфликтов, как мы все знаем. Вопрос: Но как вы можете определить, сколько банков ("полос") существует в общей памяти? (Просматривая форумы "devtalk" от NVIDIA, кажется, что …
10 июн '13 в 15:14
1 ответ

Может ли использование параметров ядра вызвать конфликты банков?

Параметры ядра хранятся в общей памяти на кристалле. Общая память может иметь конфликты банков, если потоки пытаются получить доступ к одному и тому же банку. Поэтому мой вопрос: означает ли это, что использование потоков параметров ядра вызовет кон…
11 окт '12 в 12:31
1 ответ

Возникают ли банковские конфликты на оборудовании без графического процессора?

В этом блоге объясняется, как конфликты банков памяти убивают производительность функции транспонирования. Теперь я не могу не задаться вопросом: происходит ли то же самое на "нормальном" процессоре (в многопоточном контексте)? Или это специфично дл…
19 июн '14 в 14:09