0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 70
1

Распараллеливание циклов

12.03.2018, 02:29. Показов 709. Ответов 1
Метки нет (Все метки)

Доброго времени суток.
Возникла необходимость распараллелить один численный алгоритм средствами OpenMP. В частности в этом алгоритме встречается метод прогонки. Я правильно понимаю, что распараллелить циклы типа следующих:
C++
1
2
3
4
5
for (int i = 1; i <= N-1; i++)
        {
            alp[i+1] = -B[i]/(A[i]*alp[i] + C[i]);
            bet[i+1] = (F[i] - A[i]*bet[i])/(A[i]*alp[i] + C[i]);
        }
или
C++
1
2
3
4
for(int i = N - 2; i >= 2; i--)
        {
            T[i] = alp[i+1]*T[i+1] + bet[i+1];
        }
нельзя, ибо они содержат зависимые переменные (для переменной https://www.cyberforum.ru/cgi-bin/latex.cgi?x https://www.cyberforum.ru/cgi-bin/latex.cgi?x(i) выражается через https://www.cyberforum.ru/cgi-bin/latex.cgi?x(i \pm 1))?

И в частности в методе прогонки эффективному распараллеливанию подлежит лишь цикл с подсчётом коэффициентов https://www.cyberforum.ru/cgi-bin/latex.cgi?A[i], B[i], C[i], F[i]?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2018, 02:29
Ответы с готовыми решениями:

Распараллеливание циклов
Возникли трудности с освоением OpenMP Непонимаю, почему если закоментировать вот этот фрагмент...

Распараллеливание циклов
Есть такой цикл std::list&lt;int&gt;::iterator iter; std::list&lt;int&gt;_paramsFFT; for(iter =...

OpenIM - не работает распараллеливание циклов
void Multiplication(int a, int b) { int c; int i; int j; int count(0); ...

Распараллеливание циклов с ипользованием OpenMP
Есть проблема , получился парадокс - время роботы программы с распараллеливанием дольше на 1 сек...

1
nmcf
12.03.2018, 08:16     Распараллеливание циклов
  #2

Не по теме:

Ну ты же сам понял.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2018, 08:16

Распараллеливание циклов с использованием OpenMP C++
Доброго времени суток. (Нужен совет, так как разбираюсь с omp почти 3 дня и не хватает знанний) ...

напишите 2 программы (с использованием циклов с параметром и циклов с условием) для вычисления и вывода на экран в виде

Распараллеливание
Подскажите, что не так. Есть массив из 13 элементов, мне нужно разбить на три блока, один блок...

Распараллеливание
Всем добрый вечер. Если кто знает подскажите,мне надо распараллелить перемножение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru