0
ответов

Ускорьте процедуру записи файлов в Fortran с помощью OpenMP

У меня есть производный тип t_data, состоящий из трех массивов: Velocity, Position и Acceleration type :: t_data real (kind = REAL64), allocatable :: speed (:) real (kind = REAL64), allocatable: ...
вопрос задан: 27 February 2019 14:25
0
ответов

Компиляция параллельных тестов NAS с помощью LLVM Clang выдает ошибку

Я работаю в Linux и пытаюсь скомпилировать ссылку набора NPB (C-версия) с помощью компилятора LLVM Clang и библиотеки времени выполнения LLVM OpenMP. Я отредактировал включенный файл конфигурации "make.def", чтобы он работал ...
вопрос задан: 19 January 2019 17:56
0
ответов

Несоответствие numactl и move_pages

Я разработал простую программу для проверки того, в каком узле NUMA находится страница, основываясь на этом вопросе. Проблема в том, что при сравнении результатов моей программы с numactl -H на Xeon E5-2698 v4 (два узла NUMA) ...
вопрос задан: 18 January 2019 15:05
0
ответов

Могу ли я получить доступ к элементам в c ++ std :: map по целочисленному индексу?

У меня есть карта элементов, которые я хотел бы перебрать. Конечно, стандартный способ сделать это - использовать цикл for с for (map iterator it = myMap.begin (); it! = ...
вопрос задан: 12 October 2018 00:18
0
ответов

Как генерировать случайные числа параллельно?

Я хочу генерировать псевдослучайные числа параллельно используя openMP, примерно так: int i; #pragma omp parallel for для (я = 0; я <100; я ++) {printf ("% d% d% d \ n", я, omp_get_thread_num (), rand ()); ...
вопрос задан: 11 September 2018 16:54
0
ответов

В чем разница между атомарным и критическим в OpenMP?

В чем разница между атомарным и критическим в OpenMP? Я могу сделать это #pragma omp atomic g_qCount ++; но это не то же самое, что #pragma omp critical g_qCount ++; ?
вопрос задан: 16 July 2018 00:13
0
ответов

Как получить тип переменной в коде C?

Есть ли способ, которым я могу автоматически определить тип переменной в C, либо через какой-то механизм внутри самой программы, либо - что более вероятно - -с помощью сценария предварительной компиляции, который использует ...
вопрос задан: 19 April 2018 08:06
0
ответов

openmp parallel for loop с двумя или более сокращениями

Привет, просто интересно, правильный ли это способ создания обычный цикл for, но с двумя сокращениями, правильный ли это подход ниже? Будет ли это работать с более чем двумя сокращениями ....
вопрос задан: 28 February 2018 17:21
0
ответов

Как глобально установить для предложения по умолчанию значение none?

Я знаю, что могу указать OpenMP не использовать переменные по умолчанию в параллельном регионе, используя #pragma omp parallel default none Но есть ли способ установить это глобально? Кажется, что глобальное...
вопрос задан: 17 January 2018 20:16
0
ответов

Как красиво отключить директивы OpenMP?

У меня есть код C ++ с прагмами OpenMP внутри. Я хочу протестировать этот код как для многопоточного режима (с OpenMP), так и для однопоточного (без OpenMP). А пока, чтобы переключаться между режимами, мне нужно прокомментировать ...
вопрос задан: 6 November 2017 21:08
0
ответов

Разница между статическим и динамическим расписанием в OpenMP на C

У меня есть два похожих кода. Первый #pragma omp parallel for shared (g) private (i) schedule (dynamic, 1) для (i = (* g) .actualNumberOfChromosomes; i <(* g) .maxNumberOfChromosomes; i ++) {...
вопрос задан: 29 October 2017 13:04
0
ответов

В чем разница между «статическим» и «динамическим» расписанием в OpenMP?

Я начал работать с OpenMP на C++. У меня два вопроса: Что такое #pragma omp для расписания? В чем разница между динамическим и статическим? Объясните, пожалуйста, примерами.
вопрос задан: 29 October 2017 11:30
0
ответов

Могу ли я проверить, какую версию OpenMP я установил?

Я пытаюсь узнать, какая версия OpenMP установлена ​​на моя машинка. Это ящик Linux, к которому я подключен по ssh. Я использую gcc для компиляции с помощью -fopenmp.
вопрос задан: 27 October 2017 11:30
0
ответов

Как проверить версию OpenMP на Linux

Интересно, как проверить версию OpenMP на Linux удаленная машина? Я не знаю, где это установлено также.
вопрос задан: 27 October 2017 11:28
0
ответов

Параллельный цикл for в openmp

Я пытаюсь распараллелить очень простой цикл for -, но это моя первая попытка использовать openMP за долгое время. Меня смущают сроки выполнения. Вот мой код:#включить <вектор> #включить &...
вопрос задан: 4 October 2017 07:05
0
ответов

OpenMP с OCAML

Кто-нибудь знает, можно ли использовать OpenMP с исходным кодом OCaml? Или другое приложение / среда работы, совместимая с OCaml, которая позволяет мне запускать параллельные программы, использующие несколько ядер? ...
вопрос задан: 19 September 2017 10:28
0
ответов

OpenMP: закрываются ли локальные переменные автоматически?

#pragma omp parallel {int x; // приватно для каждого потока? } #pragma omp parallel for для (int i = 0; i <1000; ++ i) {int x; // приватно для каждого потока? } Спасибо! P.S. Если местный ...
вопрос задан: 30 May 2017 20:04
0
ответов

Обнаружение скоплений круглых объектов с помощью итеративного адаптивного определения порога и анализа формы

Я разрабатываю приложение для подсчета круглых объектов, таких как колонии бактерий, с изображений. Это облегчает тот факт, что объекты, как правило, хорошо отличаются от...
вопрос задан: 23 May 2017 12:25
0
ответов

c++ :OpenMP и контейнеры STL без -случайного -доступа -возможный обходной путь

Таким образом, в SO и в Интернете в целом существует много путаницы и разочарования по поводу того, как сделать OpenMP простым -в -использовать #директивы pragma, взаимодействующие с C++ столь же легко -в -использовать контейнеры STL.....
вопрос задан: 23 May 2017 12:08
0
ответов

Общие векторы в OpenMP

Я пытаюсь распараллелить программу, которую использую, и получил следующий вопрос. Будет ли потеря производительности, если несколько потоков должны читать/записывать один и тот же вектор, но разные элементы ...
вопрос задан: 23 May 2017 11:59
0
ответов

OpenMP и ядра / потоки

Мой процессор - Core i3 330M с 2 ядрами и 4 потоками. Когда я выполняю команду cat / proc / cpuinfo в своем терминале, это похоже на то, что у меня 4 CPUS. Когда я использую функцию OpenMP get_omp_num_procs (), я также ...
вопрос задан: 23 May 2017 11:48
0
ответов

Разделение программы на 4 потока происходит медленнее, чем одиночный поток

Я писал трассировщик лучей на прошлой неделе и дошел до точки, когда он делает достаточно, чтобы многопоточность имела смысл. Я пробовал использовать OpenMP для его распараллеливания, но запускал его с ...
вопрос задан: 23 May 2017 10:34
0
ответов

Потоки OpenMP, выполняемые на одном и том же ядре процессора

В настоящее время я распараллеливаю программу, используя openmp, на 4-ядерном Phenom2. Однако я заметил, что мое распараллеливание ничего не делает для производительности. Естественно, я предположил, что что-то упустил (...
вопрос задан: 23 May 2017 10:29
0
ответов

Как последняя версия GCC (4.6) может использоваться вместе с Qt под Mac OS?

Моя проблема связана с проблемой, обсуждаемой здесь: есть ли способ, которым OpenMP может работать на Qt натянутых потоках? При попытке запустить мою программу на основе Qt под Mac OS, в которой есть предложение OpenMP в ...
вопрос задан: 23 May 2017 00:29
0
ответов

Начало работы с openMP. установить на Windows

Я хочу написать параллельную программу на C++ с использованием OpenMP, поэтому я начинаю работать с OpenMP. Другими словами, я новичок, и мне нужно хорошее руководство по OpenMP, рассказывающее, как его установить. Кто-нибудь знает...
вопрос задан: 5 April 2017 18:09
0
ответов

Установите количество потоков с помощью omp_set_num_threads () равным 2, но omp_get_num_threads () возвращает 1

У меня есть следующий код C / C ++ с использованием OpenMP: int nProcessors = omp_get_max_threads (); если (argv [4]! = NULL) {printf ("argv [4]:% s \ n", argv [4]); nProcessors = atoi (argv [4]); ...
вопрос задан: 13 March 2017 10:24
0
ответов

Производительность Malloc в многопоточной среде

Я провел несколько экспериментов с фреймворком openmp и нашел несколько странных результатов, которые, я не уверен, что знаю, как их объяснить. Моя цель - создать эту огромную матрицу, а затем заполнить ее значениями. Я сделал ...
вопрос задан: 4 March 2017 09:54
0
ответов

Умножение распараллеливающей матрицы OpenMP на тройку для цикл (проблема с производительностью)

Я пишу программу для умножения матриц с помощью OpenMP, которая для удобства кеширования реализует умножение A x B (транспонирование) строк X строк вместо классических строк A x B x столбцов для ...
вопрос задан: 7 July 2016 07:22
0
ответов

Гиперпоточность… сделала мой рендерер в 10 раз медленнее

Резюме: Как можно указать в своем коде, что OpenMP должен использовать потоки только для НАСТОЯЩИХ ядер, т.е. не считать гиперпотоковые? Подробный анализ: За эти годы я закодировал SW -...
вопрос задан: 1 June 2016 18:43
0
ответов

Может Реализации мьютексов должны меняться местами (независимо от реализации потока)

Все ли реализации мьютексов в конечном итоге вызывают одни и те же базовые системные / аппаратные вызовы - что означает, что они могут быть заменены? В частности, если я использую алгоритмы __gnu_parallel (использующие openmp) и ...
вопрос задан: 6 May 2016 05:10