Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364141
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62791)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21320)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21692)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8693)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3462)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20644)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Реферат: Всвязи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание

Название: Всвязи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание
Раздел: Остальные рефераты
Тип: реферат Добавлен 08:24:22 03 января 2012 Похожие работы
Просмотров: 10 Комментариев: 1 Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать

ВІДКРИТИЙ МІЖНАРОДНИЙ УНІВЕРСИТЕТ

РОЗВИТКУ ЛЮДИНИ “УКРАЇНА”

ЛАБОРАТОРНА РОБОТА №1

"РОЗПАРАЛЕЛЮВАННЯ ОБЧИСЛЕНЬ
МЕТОДОМ АЛГЕБРАїЧНИХ ПЕРЕТВОРЕНЬ"

з дисципліни

" Методи паралельних обчислень "

спеціальності

" Програмне забезпечення автоматизованих систем "

Виконав студент 3 курсу

групи ПА-21

______________ Докукін Є.В .

(підпис) (Прізвище І.Б.)

"____"____________ 2005 р.

ЗАРАХОВАНО

Викладач ________________ Доля В.Г.

"____"____________ 200__ р.

Київ

Університет "Україна"

2005

СОДЕРЖАНИЕ

1.1. Реферат. 3

1.2. Решение задачи перемножения двух прямоугольных матриц большой размерности. 3

1.2.1 Постановка задачи. 3

1.2.2 Блок-схема алгоритма. 6

1.2.3 Листинг текста программы.. 7

1.2.4 Результаты работы программы.. 10

1.2.5 Входные и выходные данные. 11

1.3. Литература. 12

1 . Лабораторная работа №1

"Распараллеливание вычислений
методом алгебраических преобразований"

Цель работы – приобретение практических навыков распараллеливания процесса вычислений при решении вычислительных задач большой размерности с использованием метода алгебраических преобразований.

1.1. Реферат

В связи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание (распределение) потоков информации и вычислительных процессов между вычислительными средствами (ресурсами) системы. Распараллеливание процессов вычислений многовариантно.

Распараллеливание вычислений может быть организовано на уровнях:

· региональных (территориальных) вычислительных систем;

· вычислительных комплексов (узлов) отдельного территориального региона;

· вычислительных машин отдельного вычислительного комплекса (узла);

· отдельных функциональных устройств ПВМ (процессоров, устройств памяти и др.).

Распараллеливание вычислений может осуществляться путем параллельной организации математических и программных средств вычислений, в том числе:

· метода решения поставленной задачи;

· математической модели исследуемого объекта или процесса;

· алгоритма решения задачи;

· программных средств решения задачи и др.

Основными методами распараллеливания вычислений являются:

· упрощение структуры решаемой задачи с помощью алгебраических преобразований;

· искусственное расщепление (декомпозиция) задачи на ряд подзадач меньшей размерности;

· агрегирование выполняемых операций;

· организация макроалгоритмов процесса вычислений и др.

1.2. Решение задачи перемножения двух прямоугольных матриц большой размерности

1.2.1 Постановка задачи

1.1. Выбрать свой вариант задания на выполнение работы из Табл.1.1.

По варианту задания № 17, выбраны соответствующие матрицы А и В.

Табл. 1.1. Варианты заданий

задания

Размерность

Матрица А

Матрица В

17

7 х 8

8 х 5

1.2. Используя свой вариант задания и данные табл.1.2, строятся исходные матрицы для выполнения работы.

Входные матрицы А[7,8] и В[8,5] будут иметь вид:

Матрица А[7,8]

Номера строк

Номера столбцов

1

2

3

4

5

6

7

8

1

а11

а12

0

0

0

0

0

0

2

а21

0

а23

а24

0

0

0

0

3

0

а32

0

а34

а35

0

0

0

4

0

0

а43

0

а45

0

0

0

5

0

0

0

а54

0

а56

0

0

6

0

0

0

0

0

0

а67

0

7

0

0

0

0

0

0

а77

0

Матрица В[8,5]

Номера строк

Номера столбцов

1

2

3

4

5

1

b11

b12

0

0

0

2

b21

0

b23

b24

0

3

0

b32

0

b34

b35

4

0

0

b43

0

b45

5

0

0

0

b54

0

6

0

0

0

0

0

7

0

0

0

0

0

8

0

0

0

0

0

1.3. Выполняется распараллеливание задачи путем ее алгебраических преобразований, т.е. в данном случае – путем исключения из матриц нулевых строк и столбцов. Строятся матрицы, полученные в результате распараллеливания.

В данном случае матрица А[7,8] содержит один (восьмой) нулевой столбец, а матрица В[8,5] имеет три (шестая, седьмая и восьмая) нулевых строки, часть из которые в данном случае можно исключить. При этом следует учесть, что после исключения нулевых строк и столбцов, число элементов в каждой строке матрицы А должно быть равно числу элементов в каждом столбце матрицы В. Иначе матрицы нельзя будет перемножить.

В данном случае можно исключить восьмой столбец матрицы А и восьмую строку матрицы B. Строки 6 и 7 матрицы В исключить нельзя.

В результате матрицы А и В преобразуются к виду:

Матрица А[7,7]

Номера строк

Номера столбцов

1

2

3

4

5

6

7

1

а11

а12

0

0

0

0

0

2

а21

0

а23

а24

0

0

0

3

0

а32

0

а34

а35

0

0

4

0

0

а43

0

а45

0

0

5

0

0

0

а54

0

а56

0

6

0

0

0

0

0

0

а67

7

0

0

0

0

0

0

а77

Матрица В[7,5]

Номера строк

Номера столбцов

1

2

3

4

5

1

b11

b12

0

0

0

2

b21

0

b23

b24

0

3

0

b32

0

b34

b35

4

0

0

b43

0

b45

5

0

0

0

b54

0

6

0

0

0

0

0

7

0

0

0

0

0

1.4. Строится результирующая матрица С путём перемножения матриц А и В, полученных в результате распараллеливания. Для данного примера матрица С будет иметь вид:

Матрица С [7,5]

Номера строк

Номера столбцов

1

2

3

4

5

1

а11 b1112 b21

а11 b12

а12 b23

а12 b24

0

2

а21 b11

а21 b1223 b32

а24 b43

а23 b34

а23 b3524 b45

3

а32 b21

0

а32 b2334 b43

а32 b24 35 b54

а34 b45

4

0

а43 b34

0

а43 b3445 b54

а43 b35

5

0

0

а54 b43

0

а54 b45

6

0

0

0

0

0

7

0

0

0

0

0

1.2.2 Блок-схема алгоритма


1.2.3 Листинг текста программы

ml-mpo-lab1.c

/* Program for task solution of multiplication of two rectangular big dimension matrixes

* Решение задачи перемножения двух прямоугольных матриц большой размерности

* Copyright (C) 2005 Eugene Dokukin aka MustLive. http://mlbpg.narod.ru

* Open Source Software, GPL. http://www.gnu.org */

#include <stdio.h>

// matrix demensions: A 7x8 and B 8x5

#define SIZE_Ia 7 // max rows for matrix A

#define SIZE_Ja 8 // max columns for matrix A

#define SIZE_Ib 8 // max rows for matrix B

#define SIZE_Jb 5 // max columns for matrix B

int A_I, A_J; // number of rows and columns for matrix A

int B_I, B_J; // number of rows and columns for matrix B

int NULL_Ia[SIZE_Ia]; // nulls in rows of A

int NULL_Ja[SIZE_Ja]; // nulls in columns of A

int NULL_Ib[SIZE_Ib]; // nulls in rows of B

int NULL_Jb[SIZE_Jb]; // nulls in columns of B

int MatrixA[SIZE_Ia][SIZE_Ja]; // matrix A

int MatrixB[SIZE_Ib][SIZE_Jb]; // matrix B

int MatrixC[SIZE_Ia][SIZE_Jb]; // matrix C

void Error () { // enter correct parameters

printf ("\nProgram for task solution of multiplication\n");

printf ("of two rectangular big dimension matrixes\n");

printf ("Copyright (C) 2005 MustLive. http://mlbpg.narod.ru\n");

printf ("Open Source Software, GPL. http://www.gnu.org\n\n");

}

void NullMatrix () { // null all elements of all matrixes

int i,j; // counters

for (i=0;i<A_I;i++) {

for (j=0;j<A_J;j++) {

MatrixA[i][j] = 0;

}

}

for (i=0;i<B_I;i++) {

for (j=0;j<B_J;j++) {

MatrixB[i][j] = 0;

}

}

for (i=0;i<A_I;i++) {

for (j=0;j<B_J;j++) {

MatrixC[i][j] = 0;

}

}

}

void ReadMatrixes (char filename[255]) { // open file and read two matrixes

FILE *fp; // pointer on file

int i,j; // counters

if ( (fp = fopen(filename, "r")) == NULL) {

Error();

fprintf(stderr, "Error opening file %s.\n",filename);

exit(0);

}

else {

for (i=0;i<A_I;i++) {

for (j=0;j<A_J-1;j++) {

fscanf (fp, "%i ",&MatrixA[i][j]);

if ( feof(fp) ) break;

NULL_Ia[i] = NULL_Ia[i] + MatrixA[i][j];

NULL_Ja[j] = NULL_Ja[j] + MatrixA[i][j];

}

fscanf (fp, "%i\n",&MatrixA[i][j]);

NULL_Ia[i] = NULL_Ia[i] + MatrixA[i][j];

NULL_Ja[j] = NULL_Ja[j] + MatrixA[i][j];

if ( feof(fp) ) break;

}

fscanf (fp,"\n");

for (i=0;i<B_I;i++) {

for (j=0;j<B_J-1;j++) {

fscanf (fp, "%i ",&MatrixB[i][j]);

if ( feof(fp) ) break;

NULL_Ib[i] = NULL_Ib[i] + MatrixB[i][j];

NULL_Jb[j] = NULL_Jb[j] + MatrixB[i][j];

}

fscanf (fp, "%i\n",&MatrixB[i][j]);

NULL_Ib[i] = NULL_Ib[i] + MatrixB[i][j];

NULL_Jb[j] = NULL_Jb[j] + MatrixB[i][j];

if ( feof(fp) ) break;

}

}

fclose(fp);

}

void ReorganizeInputMatrixes () { // algebraic manipulation of input matrixes

while (NULL_Ia[A_I-1] == 0) { // if last row of matrix А is null

A_I--;

}

while (NULL_Jb[B_J-1] == 0) { // if last column of matrix B is null

B_J--;

}

// if last column of matrix A and last row of matrix B is null

while ((NULL_Ja[A_J-1] == 0) && (NULL_Ib[B_I-1] == 0)) {

A_J--;

B_I--;

}

}

void MultiplyInputMatrixes () { // multiplication of two rectangular matrixes

int i,j,k; // counters

for (i=0;i<A_I;i++) {

for (j=0;j<B_J;j++) {

for (k=0;k<A_J;k++) {

MatrixC[i][j] = MatrixC[i][j] + MatrixA[i][k]*MatrixB[k][j];

}

}

}

}

void DisplayInputMatrixes () { // display input matrixes

int i,j; // counters

printf ("\nMatrix A\n\n");

for (i=0;i<A_I;i++) {

for (j=0;j<A_J;j++) {

printf("%i\t",MatrixA[i][j]);

}

printf("\n");

}

printf ("\nMatrix B\n\n");

for (i=0;i<B_I;i++) {

for (j=0;j<B_J;j++) {

printf("%i\t",MatrixB[i][j]);

}

printf("\n");

}

}

void DisplayResultMatrix () { // display resulting matrix

int i,j; // counters

printf ("\n\nResulting matrix C = A x B\n");

printf ("\nMatrix C\n\n");

for (i=0;i<A_I;i++) {

for (j=0;j<B_J;j++) {

printf("%i\t",MatrixC[i][j]);

}

printf("\n");

}

}

void WriteResultMatrix (char filename[255]) { // open file and write resulting matrix

FILE *fp; // pointer on file

int i,j; // counters

if ( (fp = fopen(filename, "w")) == NULL) {

Error();

fprintf(stderr, "Error saving file %s.\n",filename);

exit(0);

}

else {

for (i=0;i<A_I;i++) {

for (j=0;j<B_J;j++) {

fprintf(fp,"%i\t",MatrixC[i][j]);

}

fprintf(fp,"\n");

}

}

fclose(fp);

}

int main (int argc, char *argv[]) {

if (argv[1] == NULL){ // input filename

Error();

printf ("%s filename\n",argv[0]);

exit(0);

}

NULL_Ia[SIZE_Ia] = 0;

NULL_Ja[SIZE_Ja] = 0;

NULL_Ib[SIZE_Ib] = 0;

NULL_Jb[SIZE_Jb] = 0;

A_I = SIZE_Ia;

A_J = SIZE_Ja;

B_I = SIZE_Ib;

B_J = SIZE_Jb;

if (A_J != B_I) {

Error();

fprintf(stderr, "Error: can't multiply input matrixes.\n");

fprintf(stderr, "Number of columns of A not equal number of rows of B.\n");

exit(0);

}

NullMatrix();

ReadMatrixes (argv[1]);

if (argv[2] == NULL) {

printf ("\nInput Matrixes:\n");

DisplayInputMatrixes();

}

ReorganizeInputMatrixes();

if (argv[2] == NULL) {

printf ("\n\nReorganized Matrixes:\n");

DisplayInputMatrixes();

}

MultiplyInputMatrixes();

if (argv[2] != NULL){ // output filename

WriteResultMatrix(argv[2]);

}

else {

DisplayResultMatrix();

}

}

1.2.4 Результаты работы программы

Запуск программы: ml-mpo-lab1.exe matrixes.txt

Данные, а также ход работы, выводятся на экран.

Input Matrixes:

Matrix A

1 2 0 0 0 0 0

3 0 4 5 0 0 0

0 6 0 7 8 0 0

0 0 1 0 2 0 0

0 0 0 3 0 4 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

Matrix B

2 3 0 0 0

1 0 5 6 0

0 4 0 1 2

0 0 3 0 4

0 0 0 5 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

Reorganized Matrixes:

Matrix A

1 2 0 0 0 0

3 0 4 5 0 0

0 6 0 7 8 0

0 0 1 0 2 0

0 0 0 3 0 4

0 0 0 0 0 0

0 0 0 0 0 0

Matrix B

2 3 0 0 0

1 0 5 6 0

0 4 0 1 2

0 0 3 0 4

0 0 0 5 0

0 0 0 0 0

0 0 0 0 0

Resulting matrix C = A x B

Matrix C

4 3 10 12 0

6 25 15 4 28

6 0 51 76 28

0 4 0 11 2

0 0 9 0 12

0 0 0 0 0

0 0 0 0 0

1.2.5 Входные и выходные данные

matrixes . txt

1 2 0 0 0 0 0 0

3 0 4 5 0 0 0 0

0 6 0 7 8 0 0 0

0 0 1 0 2 0 0 0

0 0 0 3 0 4 0 0

0 0 0 0 0 0 5 0

0 0 0 0 0 0 6 0

2 3 0 0 0

1 0 5 6 0

0 4 0 1 2

0 0 3 0 4

0 0 0 5 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

Запуск программы: ml-mpo-lab1.exe matrixes.txt result.txt

Данные и ход работы не выводятся на экран, результат записывается в файл.

result.txt

4 3 10 12 0

6 25 15 4 28

6 0 51 76 28

0 4 0 11 2

0 0 9 0 12

0 0 0 0 0

0 0 0 0 0

1.3. Литература

1. Воеводин В.В. Математические основы параллельных вычислений. – М.: МГУ, 1991. – 345 с.

2. Воеводин В.В. Параллельные вычисления. – СПб: БХВ-Петербург. – 2002.

3. Молчанов И.Н. Введение в алгоритмы параллельных вычислений. К.: Наукова думка. - 1990 – 128 с.

4. Дорошенко А.Е. Математические модели и методы организации высокопроизводительных параллельных вычислений. – К.: Наукова думка, 2000 – 177 с.

5. Малышкин В.Э. Основы параллельных вычислений. Учебное пособие. – Новосибирск: Изд-во НГТУ, 2000.

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Здравствуйте! Если Вам нужна помощь с учебными работами, ну или будет нужна в будущем (курсовая, дипломная, отчет по практике, контрольная, РГР, решение задач, онлайн-помощь на экзамене или "любая другая" работа...) - обращайтесь: VSE-NA5.RU Поможем Вам с выполнением учебной работы в самые короткие сроки! Сделаем все быстро и качественно. Предоставим гарантии!
Микула21:00:49 18 мая 2019

Работы, похожие на Реферат: Всвязи с большими объемами перерабатываемой информации в сложных вычислительных системах возможным путем решения возникающих в них задач является распараллеливание

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

Да, в любом случае.
Да, но только в случае крайней необходимости.
Возможно, в зависимости от цены.
Нет, напишу его сам.
Нет, забью.



Результаты(229645)
Комментарии (3125)
Copyright © 2005-2019 BestReferat.ru bestreferat@gmail.com реклама на сайте

Рейтинг@Mail.ru