Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Кажись ця канає… якшо нє то шось мутити тре з тою шо вище

Читайте также:
  1. Как бы ты не любила обрамлять линиями глаза, откажись от подводок и карандашей, ведь даже тонюсенькие штрихи сквозь увеличивающие стекла очков кажутся жирными и грубыми.

#include <stdio.h>

#include <iostream>

#include <omp.h>

using namespace std;

int i,s;

double time,start;

//Тіло програми

main()

{

//Розпаралелення

start = clock();

omp_set_num_threads(50);

#pragma omp parallel

{

for(int i=0; i<=10000000; ++i)

{ s+=pow(i,2)

};

};

time = clock() - start;

printf("%g\t\n", s, time);

return 0;

}

82. Написати програму з використанням бібліотеки OpenMP на мові С/С++ обчислення числа методом чисельного інтегрування (метод середніх прямокутників).

#include <stdio.h>

#include <omp.h>

int main ()

{

int n =100000, i;

double pi, h, sum, x;

h = 1.0 / (double) n;

sum = 0.0;

#pragma omp parallel default (none) private (i,x) shared (n,h,sum)

{

int id = omp_get_thread_num();

int numt = omp_get_num_threads();

for (i = id + 1; i <= n; i=i+numt)

{

x = h * ((double)i - 0.5);

sum += (4.0 / (1.0 + x*x));

}

}

pi = h * sum;

printf("pi is approximately %.16f”, pi);

return 0;

}

83. Написати програму з використанням бібліотеки OpenMP на мові С/С++ додавання двох матриць. Матриця заповнюється значеннями з генератора псевдовипадкових чисел.

#include <stdio.h>

#include <iostream>

#include <omp.h>

using namespace std;

#define M 2

class vvid_N {

public:

double array[N][N];

void Str();

};

//Метод

void vvid_M::Str() {

for(int i=1; i<=N; ++i)

array

for(int j=1; j<=N; ++j)

{

for(int i=0; i<n; i++)

for(int j=0; j<m; j++)

array[i][j]=0+rand()%10;

};

}

//Тіло програми

main()

{

//Введення матриць

vvid_N arrayA, arrayB, arrayZ;

cout << "\t\tМатриця А\n";

arrayA.Str();

cout << "\t\tМатриця B\n";

arrayB.Str();

cout << "\t\tМатриця C\n";

arrayC.Str();

//Розпаралелення

omp_set_num_threads(4);

#pragma omp parallel

{

//Цикл обрахунку матриць

for(int a=0; a<N; ++a)

for(int b=0; b<<N; ++b)

{

arrayZ.array[a][b]=arrayA.array[a][b]+arrayB.array[a][b];

};

};

//Цикл виводу матриці

for(int a=1; a<=N; ++a){

for(int b=1; b<=N; ++b){

printf("%g\t\n", arrayZ.array[a][b]);

}

};

return 0;

}

84---


Дата добавления: 2015-08-18; просмотров: 73 | Нарушение авторских прав


Читайте в этой же книге: Охарактеризувати спеціалізований комунікаційний інтерфейс Myrinet | RMI (англ. Remote Method Invocation) - програмний інтерфейс виклику видалених методів в мові Java. | XML-RPC | LOGICAL PERIODS(*), REORDER | Навести конструкції технології OpenMP на мові С для паралельного виконання циклу області технології OpenMP. | Охарактеризувати технологію PVM. | Завдання множення матриці на вектор визначається співвідношеннями | Навести і описати паралельні методи розв'язку систем лінійних рівнянь. | Послідовний алгоритм. | Навести і описати паралельні методи опрацювання графів. |
<== предыдущая страница | следующая страница ==>
Навести і описати паралельні методи розв'язання диференціальних рівнянь у частинних похідних.| Налаштувати обчислювальний кластер засобами OpenMosix і пояснити принципи його роботи

mybiblioteka.su - 2015-2024 год. (0.005 сек.)