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

Ужасная производительность - простая проблема накладных расходов или программный недостаток?
У меня есть то, что я понимаю как относительно простую конструкцию OpenMP. Проблема в том, что программа работает примерно в 100-300 раз быстрее с 1 потоком по сравнению с 2 потоками. 87% программы тратится на gomp_send_wait() и еще 9,5% на...
8311 просмотров

Как проверить версию OpenMP в Linux
Интересно, как проверить версию OpenMP на удаленной Linux-машине? Я тоже не знаю, где он установлен.
64829 просмотров
schedule 14.07.2022

omp parallel vs. omp parallel для
В чем разница между этими двумя? [A] #pragma omp parallel { #pragma omp for for(int i = 1; i < 100; ++i) { ... } } [B] #pragma omp parallel for for(int i = 1; i < 100; ++i) { ... }
189783 просмотров
schedule 02.03.2022

Включение OpenMp в Visual Studio дает сообщение об ошибке
Почему включение OpenMp для определенного приложения возвращает это сообщение об ошибке «Неустранимая ошибка пользователя 1002: не все конструкции совместного использования выполняются всеми потоками», когда я пытаюсь запустить его в Visual Studio?...
338 просмотров
schedule 21.05.2022

Библиотеки параллельных данных на C/C++
У меня есть прототип C#, который сильно параллелен данным, и я добился чрезвычайно успешного ускорения на порядок с помощью конструкции Parallel.For в .NETv4. Теперь мне нужно написать программу в собственном коде, и мне интересно, какие у меня есть...
1069 просмотров
schedule 19.02.2024

Связывание с помощью OpenMp с ctypes
У меня есть функция c99, использующая openmp, которая работает, как и ожидалось. Я также написал интерфейс Python, используя ctypes, который вызывает проблему. Ctypes/python не может найти библиотеку для openmp. Вот сообщение об ошибке: File...
1130 просмотров
schedule 11.08.2023

OpenMP - выполнение потоков на чанках
У меня есть следующий фрагмент кода, который я хочу сделать параллельным определенным образом. Я делаю ошибку, и, следовательно, не все потоки выполняют цикл, как я думал. Было бы здорово, если бы кто-нибудь помог мне определить эту ошибку. Это...
931 просмотров
schedule 20.10.2022

Не удается заставить OpenMP создавать более одного потока
#include <omp.h> #include <stdio.h> int main(int argc, char* argv[]) { omp_set_num_threads(4); printf("numThreads = %d\n", omp_get_num_threads()); } Этот код печатает: количество потоков = 1 Это скомпилировано в Visual...
867 просмотров
schedule 15.10.2023

Pthreads против OpenMP
Я создаю многопоточное приложение на C с использованием Linux. Я не уверен, следует ли мне использовать API потока POSIX или API OpenMP. Каковы плюсы и минусы их использования? Изменить: Может ли кто-нибудь уточнить, создают ли оба...
52434 просмотров
schedule 21.03.2022

В многопоточном C/C++ блокирует ли malloc/new кучу при выделении памяти
Мне любопытно, есть ли блокировка выделения памяти, если два потока одновременно запрашивают выделение памяти. Я использую OpenMP для многопоточности, код C++. ОС: в основном Linux, но хотелось бы знать и для Windows и Mac.
10508 просмотров
schedule 18.04.2023

нашел ли я ошибку libxml2 (утечка памяти при многопоточном разборе)?
На самом деле я работаю над кодом обработки данных, используя libxml2 . Я застрял в утечке памяти, которую невозможно удалить. Вот минимальный код для его генерации: #include <stdlib.h> #include <stdio.h> #include...
3713 просмотров
schedule 21.12.2023

Centos openmp с gcc 4.1.2
Я не могу сказать, установлен ли openmp в этой новой установке Centos, которую я только что установил с помощью инструментов разработчика. Я попытался запустить ldconfig -p | grep openmp и я не вижу его в списке. Доступен ли он для Centos с...
9225 просмотров
schedule 01.01.2023

Производительность параллельного программирования OpenMP на C
Я написал программу на C для Pi вычислений с использованием OpenMP, получив помощь из книги. Я считаю, что производительность этой программы будет зависеть от используемых процессоров. В моем случае я использовал переменную среды для проверки...
440 просмотров
schedule 12.02.2023

Сложный цикл в программе C++, переносимой на OpenMP и MPI?
У меня есть программа для обработки чисел на С++. Структура: а) ввод данных, подготовка данных б) "большой" цикл, использует глобальные и локальные данные (много разных переменных в обоих случаях) c) постобработка результатов и запись данных...
445 просмотров
schedule 28.05.2022

Вызов QApplication::processEvents() внутри цикла OpenMP?
Приветствую всех, В моем приложении QT я использую OpenMP для распараллеливания циклов. В цикле я хочу обновить значения индикатора выполнения текущего QMainWindow. Следующий фрагмент кода показывает, как я пытаюсь это сделать: #ifdef...
1438 просмотров
schedule 09.06.2023

распараллелить внутренний цикл с помощью openmp
У меня есть три вложенных цикла, но распараллеливать можно только самый внутренний. Условия остановки внешнего и среднего цикла зависят от вычислений, выполняемых самым внутренним циклом, и поэтому я не могу изменить порядок. Я использовал...
2645 просмотров
schedule 04.08.2022

Декомпозиция динамического цикла OpenMP на куски
Я использую OpenMP для параллельного прохождения большого цикла. Допустим, массив, над которым я работаю, имеет всего N записей. Я хотел бы, чтобы один поток делал первые записи N/2, а другой поток - последние N/2. Я должен избегать того, чтобы...
4549 просмотров

параллельное равномерное распределение псевдослучайного числа с использованием OpenMP
я использую в своей программе повышение равномерного распределения между 0 и 1: #include <boost/random/uniform_01.hpp> #include <boost/random.hpp> static boost::mt19937 rng; static boost::uniform_01<boost::mt19937&>...
832 просмотров
schedule 05.01.2024

Почему эта программа OpenMP медленнее, чем однопоточная?
Пожалуйста, посмотрите на этот код. Однопоточная программа: http://pastebin.com/KAx4RmSJ . Составлено с помощью: g ++ -lrt -O2 main.cpp -o nnlv2 Многопоточность с openMP: http://pastebin.com/fbe4gZSn Скомпилировано с помощью:...
5302 просмотров

Вектор контейнера Stl push_back с многопоточностью OpenMP
Я хочу вставить объект в вектор из разных потоков. Нет. ниток зависит от машины. #pragma omp parallel shared(Spaces, LookUpTable) private(LutDistribution, tid) { tid = omp_get_thread_num(); BestCoreSpaces.push_back(...
3846 просмотров
schedule 13.12.2023