Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
LuSkar
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 23
1

Как использовать OpenMP в алгоритме Гаусса?

09.05.2015, 17:37. Просмотров 261. Ответов 0
Метки нет (Все метки)

Имеется код алгоритма. Если использовать просто #pragma omp parallel for в блоке по поиску элементов диагональной матрицы, программа будет работать с ошибкам. Как же распараллеливать программу?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#pragma warning(disable : 4996) 
 
#include<stdio.h>
int main()
{
    int i,j,k,n;
    float A[20][20],c,x[10];
    printf("\nEnter the size of matrix: ");
    scanf("%d",&n);
    printf("\nEnter the elements of augmented matrix row-wise:\n");
    for(i=1; i<=n; i++)
    {
        for(j=1; j<=(n+1); j++)
        {
            printf(" A[%d][%d]:", i,j);
            scanf("%f",&A[i][j]);
        }
    }
    /* Now finding the elements of diagonal matrix */
    for(j=1; j<=n; j++)
    {
        for(i=1; i<=n; i++)
        {
            if(i!=j)
            {
                c=A[i][j]/A[j][j];
                for(k=1; k<=n+1; k++)
                {
                    A[i][k]=A[i][k]-c*A[j][k];
                }
            }
        }
    }
    printf("\nThe solution is:\n");
    for(i=1; i<=n; i++)
    {
        x[i]=A[i][n+1]/A[i][i];
        printf("\n x%d=%f\n",i,x[i]);
    }
    return(0);
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2015, 17:37
Ответы с готовыми решениями:

Распараллелить метод Гаусса (OpenMP)
Доброго времени суток, дамы и господа! Столкнулась с проблемой следующего рода - не получается...

Распараллелить метод Зейделя-Гаусса используя OpenMP
Сама программа вот: #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;math.h&quot; #include...

OpenMP. Время выполнения программы больше чем без OpenMP
Сегодня первый раз сел за OpenMP. Читаю на сайте майкрософта как работает этот API. Так вот там...

Как использовать метод Гаусса для итерационного метода Ньютона?
Всем привет! Подскажите пожалуйста, у меня есть система нелинейных уравнений, которую решаю...

Как подключить openMP?
#include &lt;stdio.h&gt; #include &lt;time.h&gt; #include &lt;conio.h&gt; #include &lt;locale.h&gt; #include &lt;stdlib.h&gt;...

0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2015, 17:37

Как добиться ускорения OpenMP C++
Доброго времени суток. Я новичок в параллельном программировании. Передо мной поставили задачу...

Как вшить openMP в .exe ?
Программа использует OpenMp, следовательно вынужден с ней носить vcomp140.dll для Visual C++ 2017...

Как завершить цикл в OpenMP
Использую OpenMP для параллельных расчетов очень нужно при определенном условии экстренно...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru