Вопросы по теме 'barrier'

Программа исключения Гаусса не работает параллельно - OpenCL
Я уже некоторое время пытаюсь выполнить параллельную реализацию процесса исключения Гаусса. Кажется, что ядра игнорируют установленные барьеры, выполняя все операции, которые могут, И ЗАТЕМ позволяет следующему ядру делать свою работу. Но мне нужно,...
199 просмотров
schedule 21.10.2021

Как барьеры могут разрушаться, как только возвращается pthread_barrier_wait?
Этот вопрос основан на: Когда безопасно разрушать барьер pthread? и недавний отчет об ошибке glibc: http://sourceware.org/bugzilla/show_bug.cgi?id=12674 Я не уверен в проблеме с семафорами, о которой сообщается в glibc, но,...
5302 просмотров
schedule 28.02.2022

Всегда ли для спин-блокировок требуется барьер памяти? Дорогое вращение на барьере памяти?
Я написал код без блокировки, который отлично работает с локальным чтением в большинстве условий. Обязательно ли локальное вращение при чтении памяти означает, что я должен ВСЕГДА вставлять барьер памяти перед вращением чтения? (Чтобы проверить...
4731 просмотров

Барьер прядильной нити с использованием атомных встроенных модулей
Я пытаюсь реализовать барьер вращающегося потока с помощью атомики, в частности __sync_fetch_and_add. https://gcc.gnu.org/onlinedocs/gcc-4.4.5/gcc/Atomic-Builtins.html Я в основном хочу альтернативу барьеру pthread. Я использую Ubuntu в...
964 просмотров

Почему барьер() достаточно для отключения или включения вытеснения?
Из кода ядра Linux я вижу, что preempt_enable() и preempt_disable() не что иное, как просто barrier() : #define preempt_disable() barrier() #define preempt_enable() barrier() Я не могу этого понять. Почему для отключения...
814 просмотров
schedule 01.04.2022

Алгоритм многоразового барьера
Я изучаю алгоритм многоразового барьера из книги "Маленькая книга семафоров", доступной здесь http://greenteapress.com/semaphores/downey08semaphores.pdf Загадка находится на странице 31 (Основные шаблоны синхронизации/Многоразовый барьер), и я...
2785 просмотров

Каков правильный способ реализации барьера потока и сброса барьера в C?
Я попытался реализовать простой барьер в своем коде, который выглядит так: void waitOnBarrier(int* barrier, int numberOfThreads) { atomicIncrement(barrier); // atomic increment implemented in assembly while(*barrier < numberOfThreads);...
7925 просмотров
schedule 31.05.2022

Предел итераций барьерного метода CPLEX
Я пытаюсь решить задачу невыпукло-квадратичной оптимизации на CPLEX с установкой целевого показателя оптимальности равным 2. Пробуя разные наборы данных, я заметил, что барьерный метод останавливается на 500-й итерации. Проверил настройки, выставлено...
74 просмотров

Реальные варианты использования барьеров (DSB, DMB, ISB) в ARM
Я понимаю, что DSB, DMB и ISB являются препятствиями для предотвращения изменения порядка инструкций. Я также могу найти множество очень хороших объяснений для каждого из них, но довольно сложно представить себе случай, когда мне придется их...
27071 просмотров
schedule 05.08.2022

Что такое атомарный API C++11, эквивалентный ```__asm__ volatile(::: memory)```
В кодовой базе есть макрос COMPILER_BARRIER , определенный как __asm__ volatile("" ::: "memory") . Цель макроса — предотвратить переупорядочивание операций чтения и записи через барьер компилятором. Обратите внимание, что это явно барьер...
748 просмотров
schedule 15.08.2022

Ожидание завершения задачи OpenMP на неявных барьерах?
Если я создам кучу задач OpenMP и не использую taskwait , где программа будет ждать завершения этих задач? Рассмотрим следующий пример: #pragma omp parallel { #pragma omp single { for (int i = 0; i < 1000; i++) { #pragma...
1215 просмотров
schedule 20.10.2022

Как заборы/барьеры памяти между потоками взаимодействуют с заборами/барьерами в других потоках?
Каково взаимодействие заборов памяти в разных потоках? В частности, ограждение памяти в потоке только предотвращает переупорядочивание инструкций внутри потока или происходит синхронизация между потоками, например, один поток ждет, пока...
40 просмотров

Барьерные операции в NSOperationQueue
Как мы можем реализовать поведение, эквивалентное dispatch_barrier_async , используя NSOperationQueue или любую пользовательскую структуру данных, основанную на NSOperationQueue ? Требование состоит в том, что всякий раз, когда отправляется...
2908 просмотров