Публикации по теме 'openmp'


Использование Tsan (ThreadSanitizer) и способы предотвращения ложного обмена в Clang и gcc .
Привет читатели, Параллельное программирование. Да! Мы готовы использовать огромную мощь базовой архитектуры, но подождите! Вместе с ним приходит большой демон , то есть DATA RACES :(. Да, вы не ослышались. В этом блоге мы узнаем о поиске гонок данных в программе с помощью детектора гонок данных для c/c++ , TS an (ThreadSanitizer) и как подавить ложные срабатывания , выдаваемые TSan. Гонка данных возникает, когда: Два или более потока одновременно обращаются к одной и той же..

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

OpenMP: как очистить цель указателя?
Я только что заметил, что следующий код не компилируется в OpenMP (под GCC 4.5.1): struct job { unsigned busy_children; }; job* j = allocateJob(…); // … #pragma omp flush(j->busy_children) Компилятор жалуется на -> в списке...
1221 просмотров
schedule 19.10.2021

Фортран: краткая форма цикла do
Привет, у меня есть такой код: write (filehandle,'(5e14.6)') & (((my_array(i,j,k,1),i=istart,iend,istep),j=jstart,jend,jstep),k=kstart,kend,kstep) это краткая форма для "цикла"? Я ничего не нашел об этом в гугле ... Более того, я...
586 просмотров
schedule 23.09.2021

Общие данные OpenMP
Я новичок в OpenMP, но в целом имею опыт параллельной обработки. Раньше я работал с boost::threads , а сейчас тестирую openmp. Проблема в том, что я не знаю, как обрабатывать общий доступ к данным, потому что я действительно не знаю, что openmp...
3904 просмотров
schedule 02.11.2021

OpenMP: Какие примеры могут улучшить производительность?
Какой из них может улучшить производительность? Пример 1 #pragma omp parallel for private (i,j) for(i = 0; i < 100; i++) { for (j=0; j< 100; j++){ ....do sth... } } Пример 2 for(i = 0; i...
688 просмотров
schedule 08.11.2021

Сравнение гистограмм openMP
Я работаю над кодом, который сравнивает гистограммы изображений, вычисляет корреляцию, пересечение, ChiSquare и несколько других методов. По общему виду эти функции очень похожи друг на друга. Обычно я работаю с pthreads, но на этот раз я решил...
880 просмотров

Распараллеливание больших циклов и улучшение доступа к кешу
У меня есть код, подобный приведенному ниже, который я использую для поиска простых чисел (используя решето Эратосфена) в пределах диапазона и использую OpenMP для распараллеливания. Перед этим у меня есть этап предварительной обработки, на котором я...
299 просмотров
schedule 27.11.2021

C OpenMP параллельная быстрая сортировка
Я снова застрял при использовании openMP в C ++. На этот раз я пытаюсь реализовать параллельную быструю сортировку. Код: #include <iostream> #include <vector> #include <stack> #include <utility> #include...
14549 просмотров
schedule 13.11.2021

OPENMP Iteriation никогда не завершается
Я пытаюсь создать код итеративного процесса , сохраняя при этом while внутри параллельной области, чтобы минимизировать накладные расходы на распараллеливание. код выглядит примерно так: Проблема в том, что он никогда не завершается, поэтому,...
224 просмотров
schedule 13.11.2021

ICC, GCC и OpenMP
Я запускаю задачу, которая распараллеливается с помощью OpenMP. Он запускает заданное количество итераций одного и того же фрагмента кода, обрабатывающего объем данных. Находится на том уровне, где применяется OpenMP, что делает процесс каждого...
1446 просмотров
schedule 12.09.2021

OpenMP для диапазонов цикла
Я хотел бы использовать OpenMP для распараллеливания операций на 2-мерной сетке, где каждый поток будет работать с частью сетки. Представьте себе функцию f(lower,upper,grid) , которая будет обрабатывать подраздел, учитывая его нижнюю и верхнюю...
880 просмотров
schedule 23.09.2021

Является ли одна строка команды fprintf потокобезопасной?
Я использую openmp, и моя программа выглядит следующим образом: \#pragma omp parallel for for(x = 0, y = 0, x < 5, x++, y++) function(x, y, fp); void function(int x , int y, FILE* fp); { fprintf(fp, "(%d, %d)\n", x y); } Я хочу,...
1326 просмотров
schedule 31.10.2021

openmp создает случайное количество потоков
первый пост! основное редактирование .. У меня есть эта программа для вычисления скалярного произведения, скомпилированная с помощью gcc с -fopenmp. Проблема в том, что он не создает то количество потоков, которое я ему говорю. На одном...
535 просмотров
schedule 09.10.2021

Параллельный цикл for в openmp
Я пытаюсь распараллелить очень простой цикл for, но это моя первая попытка использовать openMP за долгое время. Меня сбивает с толку время выполнения. Вот мой код: #include <vector> #include <algorithm> using namespace std; int...
65824 просмотров

Ошибка компоновщика OpenMP Mac OSX Lion c ++ Неопределенные символы для архитектуры x86_64: _omp_get_thread_num
Я не могу найти этот вопрос в Интернете. Итак, моя ошибка компоновщика: Неопределенные символы для архитектуры x86_64: "_omp_get_thread_num ()" Это мой код: int nthreads; int tid; #pragma omp parallel private(tid) { tid =...
7190 просмотров
schedule 21.11.2021

OpenMP атомарный _mm_add_pd
Я пытаюсь использовать OpenMP для распараллеливания уже векторизованного кода с помощью встроенных функций, но проблема в том, что я использую один регистр XMM в качестве внешней «переменной», которую я увеличиваю в каждом цикле. Сейчас я использую...
738 просмотров
schedule 12.10.2021

OpenMP: 20% времени в неявном барьере?
Я хочу взглянуть на код, использующий OpenMP, хотя я не слишком хорошо с ним знаком. (Ни код, ни OpenMP.) При запуске профилировщика я вижу, что программа предположительно тратит около 20% рабочего времени на функцию «неявного барьера OMP». Это...
1357 просмотров
schedule 24.09.2021

OpenMP - параллельный код дает неожиданные результаты
#include "/usr/lib/gcc/i686-linux-gnu/4.6/include/omp.h" #include <iostream> #include<list> using namespace std; int main() { list<int> lst; for(int i=0;i<5;i++) lst.push_back(i); #pragma omp parallel for...
283 просмотров
schedule 19.11.2021

Реализация OpenMP замедляет мой код
Я пытаюсь сделать мою быструю сортировку параллельной, используя openMP. После внедрения openMP моя попытка ускорить работу с быстрой сортировкой не удалась, и мой массив сортировки с быстрой сортировкой почти в два раза медленнее. Мой код с...
697 просмотров
schedule 03.12.2021

Создание плана FFTW с использованием OpenMP
Я пытаюсь выполнить несколько БПФ параллельно. Я использую FFTW и OpenMP. Каждый БПФ отличается, поэтому я не полагаюсь на встроенную многопоточность FFTW (которая, как я знаю, использует OpenMP). int m; // assume: // int numberOfColumns =...
5042 просмотров
schedule 07.09.2021

MPI_Bcast с использованием потоков (OpenMP) в MPI
Стандарт MPI 3.0 говорит в Разделе 5.13, что Наконец, в многопоточных реализациях можно иметь более одного, одновременно выполняющегося, коллективного коммуникационного вызова в процессе. В этих ситуациях ответственность за то, чтобы один и...
1547 просмотров
schedule 07.10.2021