DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Лабораторна робота №3 з дисципліни «Технології розподілених систем та паралельних обчислень»

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Комп’ютерні науки
Кафедра:
Кафедра програмного забезпечення

Інформація про роботу

Рік:
2015
Тип роботи:
Лабораторна робота
Предмет:
Технології розподілених систем та паралельних обчислень
Група:
КН
Коротко про документ

Про що ця робота

У роботі досліджено технології паралельного та розподіленого програмування у порівнянні з OpenMP. Наведено код програми на C++ з використанням бібліотеки AMP для розпаралелювання обчислень.

У роботі розглядаються

  • Паралельне програмування
  • Розподілені системи
  • Технологія OpenMP
  • C++ AMP
  • Паралельні алгоритми

Зміст і розділи

  1. Тема роботи
  2. Мета роботи
  3. Завдання
  4. Код програми
  5. Висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів.
Викладачі:Викладач кафедри

Ключові поняття

OpenMPAMPпаралельні обчисленнярозподілені системиC++алгоритмбагатопотоковістьрозпаралелюваннялабораторна робота

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет «Львівська політехніка» Лабораторна робота №3 з дисципліни: «Технології розподілених систем та паралельних обчислень» Варіант - 6 Тема роботи: Сучасні технології паралельного та розподіленого програмування у порівнянні з технологією OpenMP. Мета роботи: Оволодіти практичними прийомами розробки паралельних алгоритмів та розподілених програм за допомогою сучасних технологій програмування, дослідити їх переваги при розв’язанні практичних задач у порівнянні з технологією OpenMP. Завдання: Обчислити суму 1/1 + 1/2 + 1/3 + … до заданої кількості знаків після коми. Виконання. Код програми: #include <iostream> #include <time.h> #include <sstream> #include <amp.h> #include <amp_math.h> //#include <ppl.h> using namespace std; using namespace concurrency; void main() { setlocale(LC_ALL, ""); double *ms, sum = 0, temp = 0, temp_sum = 0;//Для розміщення добутків і знаходження суми int size = 0, temp_koma = 1; clock_t t1;//Змінна, яка буде підраховувати час роботи програми cout << "Кiлькiсть значень пiсля коми: "; cin >> size; for (int i = 0; i < size; ++i) temp_koma = temp_koma * 10; temp = 1 / (double)temp_koma; cout << "Значення пiсля коми: " << temp << endl; cout << "Результат операцiї дiлення [частка]" << endl; int count = 0; if (size == 1) count = 3; if (size == 2) count = 13; if (size == 3) count = 31; if (size == 4) count = 35; if (size == 5) count = 351; if (size == 6) count = 1203; if (size == 7) count = 3630; if (size == 8) count = 8778; size = temp_koma + count; ms = new double[size]; t1 = clock();//Для часу роботи всієї програми array_view<double, 1> summm(size, ms); //size = 5; parallel_for(0, size, [=](int i) //restrict(amp) { summm[i] = (double)1 / (i + 1); }); for (unsigned int i = 0; i < size; ++i){ sum += summm[i]; cout << summm[i] << endl; } t1 = clock() - t1; printf("\nЦе забрало (%f секунд).\n", ((float)t1) / CLOCKS_PER_SEC);//Вивід часу роботи програми cout << endl << "Сума чисел: " << sum << endl; free(ms); system("pause"); } Програма в роботі: Час з використанням AMP / Без використанням AMP / Висновок: на лабораторній роботі було виконано завдання написавши код, який реалізовує алгоритм його виконання. Використав для розпаралелення іншу технологію, під назвою AMP, бібліотека встроєна в Visual Studio 2013. Ця технологія дуже подібна до omp і в багатьох джерелах порівнюють між собою ці 2 технології. amp це оновлення до omp або створено на його прикладі. AMP на мою думку більш гнучкіша і стійкіша до виключень, тому що більш чітко потрібно писати код, у іншому випадку буде враховуватись як помилка. На мою думку це краще, тому що краще зразу написати код без помилок, ніж пізніше шукати проблему і виправляти проблему.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!