Описание тега prefix-sum

2 ответа

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

У меня проблема с реализацией алгоритма для вычисления суммы префикса параллельно. Хотя этот алгоритм состоит из 3 шагов, я не могу написать код, поскольку псевдокод не указан. Я просмотрел различные материалы в Интернете, а также о переполнении сте…
08 апр '12 в 04:19
1 ответ

python - алгоритм суммирования префиксов

Я пытаюсь понять идею, лежащую в основе концепции суммы префикса, глядя на пример, представленный здесь в уроке суммы префиксов по Codility (проблема выбора грибов) Насколько я понимаю, вся концепция основана на простом свойстве, где для нахождения …
31 окт '16 в 03:56
0 ответов

Сумма префикса обучения путем сокращения дерева

Мне нужно узнать о сумме префикса путем сокращения дерева и написать для этого код MPI на C. Я уже знаю префиксную сумму по рекурсивному удвоению или сканированию и имею некоторый опыт программирования в MPI. Вот структура сокращения дерева, о котор…
09 ноя '15 в 17:41
2 ответа

Ошибка суммы префикса CUDA Paralell

Я пытаюсь реализовать трехфазное параллельное сканирование, как описано в главе 8 "Программирование массивно-параллельных процессоров" 3-го издания (есть какая-то строка кода, но только инструкции). Этот алгоритм позволяет использовать только 1 блок…
27 апр '17 в 14:23
2 ответа

glMapBufferRange отображает только 1 из 4 значений. Зачем?

Я пытался запустить вычислительный шейдер - демонстрационная версия префикса суммы представлена ​​на: https://github.com/openglsuperbible/sb7code/blob/master/src/prefixsum/prefixsum.cpp Я использовал точный код: #define NUM_ELEMENTS 2048 float rando…
19 апр '16 в 16:41
1 ответ

Сумма префикса языка ассемблера

Поэтому мне поручено написать ассемблерный код, который будет выполнять сумму префикса для набора чисел. Данный пример был 2 4 6 -1 и возвращение должно быть 12 10 6, -1 служит пробкой. jmp main prefix: addl %edx, %eax ret print: irmovl $32, %ecx wr…
06 ноя '13 в 02:02
2 ответа

Временная сложность алгоритма суммирования префиксов

Учитывая следующий псевдокод, мне интересно, правильный ли мой мыслительный процесс при попытке определить сложность времени. for i = 0 to n-1 Add the numbers A[0] thru A[i]. Store the result in B[i]. Алгоритм будет зацикливаться n раз, и, поскольку…
1 ответ

Как написать параллельную сумму префикса в C#?

Я хочу написать префикс параллельной суммы в C#. я использовал этот алгоритм: initial condition: list of n >= 1 elements stored in A[0...(n-1)] final condition: each element A[i] contains A[0]+A[1]+...+A[i] begin spawn (p1,p2,...,p(n-1)) foe all …
29 сен '14 в 06:39
1 ответ

Сумма префикса с использованием CUDA

У меня проблемы с пониманием кода CUDA для наивной суммы префикса. Это код из https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch39.html В примере 39-1 (простое сканирование) у нас есть такой код: __global__ void scan(float *g_odata, float *g_…
08 апр '18 в 15:12
1 ответ

Префикс Sum с глобальной памятью и ошибка с локальной памятью

У меня есть Mali GPU, который вообще не поддерживает локальную память. Каждый раз, когда я запускаю код, состоящий из локальной памяти, он выдает мне некоторые ошибки с устройства. Итак, я хочу перенести мои коды в версию, которая использует только …
21 апр '14 в 04:40
2 ответа

Сканирующий код OpenCL

Я ищу быструю реализацию сканирования (prefixsum) в OpenCL. Лучшее, что я нашел, - это Nvidia SDK, но он старый (2010). Кто-нибудь знает какие-либо другие реализации сканирования в OpenCL?
05 сен '15 в 04:16
1 ответ

Любой изящный способ справиться с полями массива в OpenGL Compute Shaders?

Есть ли какой-нибудь элегантный способ справиться с полями массива в Compute Shaders? (учитывая, что вы должны иметь размер рабочей группы, жестко закодированный в шейдере) Рассмотрим следующий код шейдера, который вычисляет сумму префикса для масси…
05 май '16 в 13:01
1 ответ

PyOpenCL, фильтр массива: copy_if против моей собственной атомарной реализации

У меня есть массив случайных целых чисел. Например [132, 2, 31, 49, 15, 6, 70, 18 ... , 99, 1001], Я хочу создать массив всех чисел, например, больше 100 и получить размер этого массива. Есть два способа: Новая функция PyOpenCL copy_if, Это основано…
29 янв '13 в 11:50
1 ответ

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

Кто-нибудь знает, какой максимальный поддерживаемый размер для cub::scan? Я получил дамп ядра для входных размеров более 500 миллионов. Я хотел убедиться, что я не делаю ничего плохого... Вот мой код: #define CUB_STDERR #include <stdio.h> #inc…
09 окт '15 в 07:32
2 ответа

CUDA: atomicAdd занимает слишком много времени, сериализуя потоки

У меня есть ядро, которое делает некоторые сравнения и решает, сталкиваются ли два объекта или нет. Я хочу сохранить идентификаторы сталкивающихся объектов в выходной буфер. Я не хочу иметь пробел в буфере вывода. Я хочу записать каждое столкновение…
2 ответа

opencl- параллельное сокращение без локальной памяти

Большинство алгоритмов параллельного сокращения использует разделяемую (локальную) память. Nvidia, AMD, Intel и так далее. Но если устройства не имеют общей (локальной) памяти. Как мне это сделать? Если я использую те же алгоритмы, но сохраняю време…
04 сен '15 в 08:11
1 ответ

Параллельные вычисления для суммы префикса с использованием openMP (код c)

Возникли проблемы с назначением параллельного алгоритма для префикса суммы вопроса. Я использую openMP для параллельной реализации. У меня есть код в с, как показано ниже. Результат показывает: seqsum[6] = 28 != parallelsum[6] = 34 Пожалуйста, порек…
22 мар '15 в 23:05
1 ответ

Сжатие потока (или упаковка в массив) с префиксным сканированием с использованием Openmp

Я использую openmp для распараллеливания моего кода. У меня есть оригинальный массив: A=[3,5,2,5,7,9,-4,6,7,-3,1,7,6,8,-1,2] и массив меток: M=[1,0,1,0,0,0,1,0,0,1,1,0,0,0,1,1] используя массив M, я могу сжать мой оригинальный массив в этот упакован…
1 ответ

Правильно ли проверен пример кода CUDA в gpugems3?

Я написал кусок кода для вызова ядра в gpugem3 но результаты, которые я получил, - это набор отрицательных чисел вместо префикса сканирования. Мне интересно, если мой вызов ядра неверен или что-то не так с кодом gpugem3? вот мой код: #include <st…
14 июн '15 в 16:52
2 ответа

Динамическая сумма префикса

Есть ли какая-либо структура данных, которая может вернуть префиксную сумму [1] массива, обновить элемент и вставить / удалить элементы в массив, все в O(log n)? [1] "сумма префикса" - сумма всех элементов от первого до заданного индекса Например, у…