0
ответов

8 логических потоков на 4 ядрах максимум будут работать параллельно в 4 раза быстрее?

Я тестирую программное обеспечение, которое работает в 4 раза быстрее на Intel 2670QM, чем моя последовательная версия, используя все 8 моих «логических» потоков. Я хотел бы получить отзывы сообщества о моем восприятии бенчмаркинга...
вопрос задан: 16 April 2016 14:51
0
ответов

OpenMP or MPI or OpenMPI for a distributed memory cluster?

I want to parallelize a C serial code in a 100 node distributed memory cluster. The cluster consists of 25 blades with 4 cores each by infiniband. Before I just used PBS to spread several serial runs ...
вопрос задан: 28 August 2015 14:18
0
ответов

параллельный код C для вычисления расстояния

У меня есть код C которые вычисляют расстояние между двумя наборами узлов (по три координаты каждый), хотя мой код еще был достаточно быстрым, я хочу немного увеличить его с помощью параллельных вычислений. Я '...
вопрос задан: 9 May 2015 14:46
0
ответов

Компиляция программ OpenMP с компилятором gcc на OS X Yosemite

$ gcc 12.c -fopenmp 12.c: 9: 9: фатальная ошибка: файл 'omp.h' не найден #include ^ 1 сгенерирована ошибка. При компиляции программ openMP я получаю вышеуказанную ошибку. Я использую OS X Yosemite. Я ...
вопрос задан: 15 March 2015 05:08
0
ответов

Производительность параллельного программирования OpenMP на C

Я написал программу на C для вычисления числа Pi с использованием OpenMP, получив помощь из книги. Я считаю, что производительность этой программы будет зависеть от используемых процессоров. В моем случае я использовал переменную окружения ...
вопрос задан: 29 January 2015 15:57
0
ответов

omp for с предложением коллапса не компилируется

Я распараллеливаю конструкцию parallel for в OpenMP. В спецификациях OpenMP я вижу:void sub(float *a){ инт я, дж, к; #прагма omp для коллапса(2)приват(i, k, j)для (k=kl; к<=ку; k+=ks)...
вопрос задан: 26 December 2014 23:41
0
ответов

Симуляция N тел в C ++

Я пытаюсь реализовать OpenMP-версию двумерного моделирования n-тела. Но есть проблема: я предполагаю, что начальная скорость и ускорение каждой частицы равны нулю. Когда частицы ...
вопрос задан: 18 December 2014 13:34
0
ответов

OpenMP C ++ Matrix Multiplication параллельно работает медленнее

Я изучаю основы параллельного выполнения цикла for с использованием OpenMP. К сожалению, моя паралельная программа работает в 10 раз медленнее, чем серийная версия. Что я делаю неправильно? Я пропускаю некоторые барьеры? двойной ** ...
вопрос задан: 21 August 2014 00:12
0
ответов

openMP не создает потоки в Visual Studio

Моя версия openMP не увеличивала скорость. У меня двухъядерный компьютер, и загрузка процессора всегда составляет 50%. Итак, я попробовал образец программы, приведенный в Wiki. Похоже, компилятор openMP (Visual Studio ...
вопрос задан: 25 June 2014 19:51
0
ответов

Низкая производительность из-за гиперпоточности с OpenMP: как привязать потоки к ядрам

Я разрабатываю большой код умножения плотной матрицы. Когда я профилирую код, он иногда получает около 75% пиковых провалов в моей четырехъядерной системе, а иногда - около 36%. Эффективность ...
вопрос задан: 24 June 2014 12:35
0
ответов

OpenMP и стиль STL для

Я пытаюсь распараллелить свою программу с помощью openMP. Программа активно использует STL-итераторы. Говорят, что openMP 3.0 может справиться с этим: std :: vector N (2 * N_max + 1); std :: vector
вопрос задан: 16 October 2013 20:16
0
ответов

Helgrind (Valgrind) и OpenMP (C): как избежать ложных срабатываний?

Документация к инструменту обнаружения ошибок потока Valgrind Helgrind, найденная здесь, предупреждает, что если вы используете GCC для компиляции вашего кода OpenMP, библиотека времени выполнения GCC OpenMP (libgomp.so) вызовет ...
вопрос задан: 22 May 2013 14:03
0
ответов

Могу ли я назначить несколько потоков к разделу кода в OpenMP?

Я ищу способ выполнить разделы кода параллельно, используя несколько потоков для каждого раздела. Например, если у меня есть 16 потоков и две задачи, я хочу использовать 8 потоков, каждый из которых можно одновременно выполнить ...
вопрос задан: 6 March 2013 17:40
0
ответов

Почему в этом коде openmp происходит ошибка сегментации?

Основная программа: основное использование программы omp_lib ...
вопрос задан: 7 November 2012 06:27
0
ответов

Как скомпилировать openmp с помощью g++

У меня проблема с компиляцией openmp. Как следующий код:#включить #включить #включить #включить #включить <стек>...
вопрос задан: 17 August 2012 08:27
0
ответов

Связь OpenMP и NUMA?

У меня есть машина с двумя сокетами Xeon E5522 2,26 ГГц (с отключенной гиперпоточностью ), на которой работает сервер Ubuntu на ядре Linux 3.0 с поддержкой NUMA. Схема архитектуры — 4 физических ядра на сокет. Ан...
вопрос задан: 15 August 2012 16:20
0
ответов

Элегантная обработка исключений в OpenMP

OpenMP запрещает код, который покидает блок openmp через исключение. Поэтому я ищу хороший способ получить исключения из блока openmp с целью его повторного создания в основном...
вопрос задан: 6 August 2012 12:43
0
ответов

OMP -потоков больше, чем процессоров?

По умолчанию директива OpenMP :opm _get _num _threads дает количество потоков, эквивалентное процессорам/ядрам. У меня 8-ядерная машина, поэтому она дает мне 8 потоков. Это максимум? Можно еще...
вопрос задан: 27 July 2012 17:17
0
ответов

Будет ли в параллельном коде OpenMP какая-либо польза от параллельного запуска memset?

У меня есть блоки памяти, которые могут быть довольно большими (больше, чем кэш L2 ), и иногда я должен установить их все равными нулю. memset хорош в последовательном коде, но как насчет параллельного кода? Кто-нибудь...
вопрос задан: 20 July 2012 09:32
0
ответов

Недопустимая инструкция при запуске минимальной программы OpenMP

Эта минимальная программа OpenMP #включает int main (){ #pragma omp parallel section { #pragma omp section { while (1 ){} } #pragma omp section {...
вопрос задан: 19 July 2012 07:46
0
ответов

OpenMP с MSVC 2010 Debug создает странную ошибку при копировании объекта

У меня есть довольно сложная программа, которая ведет себя странно при сборке с OpenMP в режиме отладки MSVC 2010. Я изо всех сил старался построить следующий минимальный рабочий пример (, хотя он...
вопрос задан: 17 July 2012 08:39
0
ответов

OpenMP и Python

У меня есть опыт программирования OpenMP для машин с общей памятью (как на C, так и на FORTRAN )для выполнения простых задач, таких как сложение матриц, умножение и т. д. (Просто чтобы посмотреть, как он конкурирует с LAPACK ). Я...
вопрос задан: 6 July 2012 08:24
0
ответов

MPI и openMP для разделяемой памяти

Допустим, есть компьютер с 4 процессорами, каждый из которых имеет 2 ядра, всего 8 ядер. С моим ограниченным пониманием я думаю, что в этом случае все процессоры используют одну и ту же память. Теперь, не лучше ли...
вопрос задан: 4 July 2012 15:34
0
ответов

Поиск минимального элемента в массиве и его индекса

В OpenMP 3.1 можно использовать сокращение с min: double m; #pragma omp parallel для сокращения (мин:м) for (int i=0;i
вопрос задан: 28 June 2012 10:14
0
ответов

OpenMP set_num_threads() не работает

Я пишу параллельную программу, используя OpenMP на C++. Я хочу контролировать количество потоков в программе с помощью omp_set_num_threads(), но это не работает. #include <иопоток> #include <...
вопрос задан: 19 June 2012 06:26
0
ответов

Производительность OpenMP

Во-первых, я знаю, что этот [тип] вопрос часто задают, поэтому позвольте мне предварить это, сказав, что я читал как столько, сколько я могу, и я до сих пор не знаю, в чем дело. Я распараллелил массивный внешний ...
вопрос задан: 13 June 2012 18:14
0
ответов

Копирует ли OpenMP частные объекты?

Я пишу программу, которая читает огромный файл (3x280 ГБ) и выполняет процедуру подгонки к данным в файле. Распараллеливать такую ​​программу довольно удобно, там, где это легко делается с помощью OpenMP. ...
вопрос задан: 12 June 2012 15:34
0
ответов

C++: защита разделяемой памяти OpenMP

Если я использую общую переменную, скажем, двойную, для вычисления какой-то суммы во время выполнения программы. Будет ли это в любом случае уязвимо для нестабильных операций? Я имею в виду, будет ли это...
вопрос задан: 11 June 2012 10:03
0
ответов

Гарантируют ли `std::mutex` и `std::lock` синхронизацию памяти в межпроцессорном коде?

В настоящее время я использую openMP для написания кода, работающего на многоядерных узлах. openMP имеет особую модель памяти, которая гарантирует синхронизацию памяти между потоками, работающими на разных ядрах, когда ...
вопрос задан: 8 June 2012 13:31
0
ответов

Измерение времени выполнения в коде C++ OpenMP

Я выполняю код .cpp (i) в последовательном стиле и (ii) с использованием операторов OpenMP. Я пытаюсь увидеть разницу во времени. Для расчета времени я использую это: #include ..... основной() { ...
вопрос задан: 4 June 2012 00:41