- •108 Сурак
- •3. 3 Өлшемді Лаплас теңдеуін 2-өлшемді декомпозиция тәсілімен программалау.
- •208 Сурак
- •1. Флинна таксономиясы. Мisd, мimd архитектуралары.
- •2. Mpi программасын компиляциялау, жинау және орындау.
- •308 Сурак
- •1. Жарыс күі. Синхронизация. Философтар есебі.
- •2. Коллективті мәлімет алмасу функциялары. Редукция мысалдары.
- •3. Параллельді векторларды скаляр көбейту программасын жазыңыз
- •408 Сурак
- •1. Қазіргі параллель архитектуралы компьютерлер. Аппараттық бөлімі.
- •5 08 Сурак
- •3. 3 Өлшемді Лаплас теңдеуін 2-өлшемді декомпозиция тәсілімен программалау.
- •1. Қазіргі параллель архитектуралы компьютерлер. Программалық бөлімі.
- •2. Mpi_Dims_create() функциясын қолдану мысалы.
- •608 Сурак
- •3. Санды полиномдылыққа тексеру параллельді программасын жазыңыз.
- •1. Shared & distributed memory архитектуралары.
- •2. Нүкте-нүкте коммуникациялары. Mpi_Bsend(), mpi_Brecv функцияларын қолдану мысалдары.
- •7 08 Сурак
- •1. Таксономия Флинна. Архитектуры sisd, simd.
- •2 Что такое mpi ? Основные концепции и возможности.
- •3. Напишите программу параллельного вычисления числа pi.
- •808 Сурак
- •1 Состояние гонки. Алгоритм с конкуренцией. Синхронизация. Задача обедающих философов.
- •2. Коллективные операции обмена сообщениями
- •3. Напишите программу параллельного поиска максимального числа в массиве.
- •9 08 Сурак
- •1.Структура mpi программы в стиле spmd. Приведите пример.
- •2. Коммуникации точка/точка. Примеры использования фукнцииMpi_Send(), mpi_Recv.
- •3. Напишите программу параллельного вычисления определенного интеграла от фукнции 2*cos(X) в интервале [0,1].
- •1 Сурак
- •1 .Современные архитектуры параллельных компьютеров. Программная часть.
- •2. Декартова топология. Пример использования периодических соседей.
- •3. 3 Өлшемді Лаплас теңдеуін 2-өлшемді декомпозиция тәсілімен программалау.
- •181 Сурак
- •1. Примеры программ в стиле spmd и mpmd
- •2. Структура mpi программ в стиле mpmd. Приведите пример.
- •3. Напишите программу параллельного вычисления числа e.
- •21 Сурак
- •1.Таксономия Флинна. Архитектуры sisd, simd.
- •2.Отличия mpi и pvm.
- •3. Напишите программу параллельного вычисления числа e.
- •31 Сурак
- •1. Распределенная и разделяемая конфигурация памяти. Архитектура numa.
- •2. Пользовательские типы данных. Тип mpi_type_struct. Примеры.
- •41 Сурак
- •1.Суперскалярные и векторные процессоры.
- •2. Группы и коммуникаторы mpi. Создание новых групп (коммуникаторов).
- •51 Сурак
- •2. Как можно вычислить время, которое тратится на расчет определенного участка кода в mpi?
- •3. Параллельная модификация метода Гаусса-Зейделя. Решение 2-мерного уравнения Лапласа 1 мерной декомпозицией (параллельный метод Гаусса-Зейделя).
- •61 Сурак
- •71 Сурак
- •81 Сурак
- •91 Сурак
- •1.Numa архитектурасы.
- •2.Қолданушы мәлімет типтері. Mpi_type_struct. Мысалдар.
- •2 Сурак
- •1.Shared and distributed memory архитектурлары.
- •2.Mpi_White(), mpi_Probeфункциялары.
- •3.Санды полиномдылыққа тексеру параллельді программасын жазыңыз.
- •12 Сурак
- •1.Процесс дегеніміз не? Ағын дегеніміз не? Прцесс пен ағын айырмашылығы.
- •3. 3 Өлшемді Лаплас теңдеуін 1 –өлшемді тәсілімен программалау.
- •282 Сурак
- •1.Суперскаляр және векторлы процессорлар.
- •2.Виртуалды топология. Декарт және граф топологиясы. Қандай жағдайларда оларды қолдану керек. Декарт топологиясын құру кезеңдері.
- •3.2 Өлшемді Лаплас теңдеуін 1-өлшемді декомпозиция тәсілімен программалау.
- •32 Сурак
- •1.Есепті декомпозициялау және аймақты декомпозициялау тәсілі. Мысалдар.
- •2.Қолданушы мәлімет типтері. Мәліметтер үшін жады көлемі. Жадыны босату.
- •42 Сурак
- •Есепті декомпозициялау және аймақты декомпозициялау тәсілі. Мысалдар.
- •Қолданушы мәлімет типтері. Mpi_type_contiguous. Мысалдар.
- •Символдық массивте жолды табудың параллельді программасын жазыңыз.
- •52 Сурак
- •1. Распределенная и разделяемая конфигурация памяти. Архитектура numa.
- •2. ФункцииMpi_Wait(), mpi_Probe
- •62 Сурак
- •1. Параллелизация с декомпозицией задачи и декомпозицией области. Примеры.
- •2.Пользовательские типы данных. Тип mpi_type_vector (hvector). Примеры
- •3. Напишите программу параллельного поиска минимального числа в массиве.
- •72 Сурак
- •1. Закон Амдала с учетом сети. Ускорение. Эффективность.
- •2.Коммуникации точка/точка. Примеры использования фукнции mpi_Isend(), mpi_Irecv.
- •3. Напишите параллельную программу проверки простого числа.
- •82 Сурак
- •92 Сурак
- •3 Сурак
- •13 Сурак
- •1. Состояние гонки. Алгоритм с конкуренцией. Синхронизация. Задача обедающих философов.
- •2. Функции mpi_Gather, mpi_scatter, mpi_allgather, mpi_alltoall, mpi_allreduce. Их различия. Примеры.
- •3. Напишите программу параллельного скалярного умножения векторов.
- •23 Сурак
- •1. Можно ли запустить программу simd на современных процессорах семейства x86.
- •2.Пользовательские типы данных. Тип mpi_type_contiguous. Примеры.
- •1.В каких случаях эффективно использование параллельных методик программирования ?
- •2. Есть мнение, что для написания программ mpi достаточно лишь 5-ти основых функций. Назовите их. Как Вы относитесь к данному высказыванию ?
- •3.Напишите программу параллельного поиска минимального числа в массиве.
- •383 Сурак
- •3. Решение 3-мерного уравнения Лапласа методом 1-мерной декомпозиции.
- •43 Сурак
- •1. Суперскалярные и векторные процессоры.
- •2. Виртуальные топологии. Декартова и графовая топологии. В каких случаях их следует использовать. Основные шаги для создания декартовой топологии.
- •3. Параллельное умножение матрицы и вектора в mpi.
- •53 Сурак
- •7 Состояние гонки. Алгоритм с конкуренцией. Синхронизация. Задача обедающих философов.
- •2.Коллективные операции обмена сообщениями. Редукция. Примеры.
- •3. Напишите программу параллельного скалярного умножения векторов.
- •63 Сурак
- •1. Современные архитектуры параллельных компьютеров. Аппаратная часть.
- •2.Группы и коммуникаторы mpi. Создание новых групп (коммуникаторов).
- •3. Параллельное умножение матриц в mpi.
- •73 Сурак
- •1 Таксономия Флинна. Архитектуры sisd, simd.
- •2.Что такое mpi ? Основные концепции и возможности.
- •3.Напишите программу параллельного вычисления числа pi.
- •83 Сурак
- •1.Закон Амдала. Ускорение. Эффективность.
- •3. Напишите параллельную программу проверки простого числа.
- •93 Сурак
- •1.Современные архитектуры параллельных компьютеров. Программная часть.
- •2.Пример использования фукнции mpi_Dims_create
- •3. Решение 3-мерного уравнения Лапласа методом 1-мерной декомпозиции.
- •4 Сурак
- •1.Примеры программ в стиле spmd и mpmd
- •2.Коммуникации точка/точка. Примеры использования фукнции mpi_Send(), mpi_Recv.
- •3.Напишите программу параллельного вычисления определенного интеграла от функции
- •14 Сурак
- •1. Таксономия Флинна. Архитектуры sisd, simd.
- •2.Что такое mpi ? Основные концепции и возможности.
- •3.Напишите программу параллельного вычисления числа pi.
- •24 Сурак
- •1.Что такое процесс ? Отличия процесса от потока.
- •2.Пример использования фукнции mpi_Cart_create
- •3.Решение 3-мерного уравнения Лапласа методом 1-мерной декомпозиции.
- •34 Сурак
- •1.Современные архитектуры параллельных компьютеров. Программная часть.
- •2.Есть мнение, что для написания программ mpi достаточно лишь 5-ти основых функций. Назовите их. Как Вы относитесь к данному высказыванию ?
- •3.Решение 3-мерного уравнения Лапласа методом 3-мерной декомпозиции.
- •484 Сурак
- •1.Современные архитектуры параллельных компьютеров. Аппаратная часть.
- •2.Пример использования фукнции mpi_cart_coords
- •3. 2 Өлшемді Лаплас теңдеуін 2-өлшемді декомпозиция тәсілімен программалау.
- •54 Сурак
- •1.Таксономия Флинна. Архитектуры misd, mimd.
- •2.Структура mpi программы в стиле spmd. Приведите пример.
- •3. 2*Sin(X) функциясының интегралын [0,1] аймақта параллельді есептеңіз.
- •64 Сурак
- •1.Закон Амдала с учетом сети. Ускорение. Эффективность.
- •2.Типы данных в mpi. Для чего они нужны
- •3.Напишите параллельную программу проверки совершенного числа.
- •74 Сурак
- •1.Таксономия Флинна. Архитектуры sisd, simd.
- •2.Структура mpi программ в стиле mpmd. Приведите пример.
- •3.Параллельная модификация метода Гаусса-Зейделя. Решение 2-мерного уравнения Лапласа 1 мерной декомпозицией (параллельный метод Гаусса-Зейделя).
- •84 Сурак
- •1.Суперскалярные и векторные процессоры.
- •2.Пользовательские типы данных. Размеры памяти для данных. Освобождение памяти.
- •3.Напишите программу параллельного поиска максимального числа в массиве.
- •94 Сурак
- •1.Архитектура numa.
- •2.Виртуальные топологии. Декартова и графовая топологии. В каких случаях их следует использовать. Основные шаги для создания декартовой топологии.
- •3.Параллельное умножение матрицы и вектора в mpi.
- •5 Сурак
- •1.Таксономия Флинна. Архитектуры misd, mimd.
- •2.Примеры программ в стиле spmd и mpmd
- •3.Напишите программу параллельного вычисления определенного интеграла от фукнции 2*sin(X) в интервале [0,1].
- •15 Сурак
- •1.В каких случаях эффективно использование параллельных методик программирования ?
- •25 Сурак
- •1. Можно ли запустить программу simd на современных процессорах семейства x86.
- •2. Пользовательские типы данных. Тип mpi_type_indexed (hindexed). Примеры.
- •3.Параллельное умножение матриц в mpi.
- •35 Сурак
- •1.Распределенная и разделяемая конфигурация памяти. Архитектура numa.
- •2. Пример использования фукнцииMpi_Cart_shift()
- •3.. Напишите параллельную программу проверки простого числа.
- •45 Сурак
- •1.Закон Амдала. Ускорение. Эффективность.
- •585 Сурак
- •1. Можно ли запустить программу simd на современных процессорах семейства x86.
- •65 Сурак
- •1.Spmd, mpmd стилінде программалау мысалдары.
- •2.Топтар мен коммуникаторлар. Ранг.
- •3 . 2*Cos(X) функциясының интегралын [0,1] аймақта параллельді есептеңіз.
- •75 Сурак
- •1.Амдал заны. Үдеу. Тиімділік.
- •2.Mpi мәлімет типтері. Олар не үшін керек ? Қолдану мысалдары.
- •3.Санды қарапайымдылықа тексеру параллельді программасын жазыңыз.
- •85 Сурак
- •1.Қазіргі параллель архитектуралы компьютерлер. Аппараттық бөлімі.
- •2.Mpi_cart_coords()функциясын қолдану мысалы.
- •3.2 ӨлшемдіЛапластеңдеуін 2-өлшемді декомпозициятәсіліменпрограммалау.
- •95 Сурак
- •1.Есепті декомпозициялау және аймақты декомпозициялау тәсілі. Мысалдар.
- •2.Mpi_Gather, mpi_scatter, mpi_allgather, mpi_alltoall, mpi_allreduce функциялары. Олардың айырмашылығы. Мысалдар.
- •3.Массивтемаксималсандыесептеупараллельдіпрограммасынжазыңыз.
- •6 Сурак
- •1.Флинна таксономиясы. Мisd, мimd архитектуралары.
- •2.Mpi программасын компиляциялау, жинау және орындау.
- •3.Гаусс-Зейдель тәсілінің параллельді түрі. 2 өлшемді Лаплас теңдеуін 1 өлшемді декомпозициялау (Параллельді Гаусс-Зейдель тәсілі).
- •16 Сурак
- •1.Процесс дегеніміз не? Ағын дегеніміз не? Прцесс пен ағын айырмашылығы.
- •3.3 Өлшемді Лаплас теңдеуін 3-өлшемді декомпозиция тәсілімен программалау.
- •26 Сурак
- •36 Сурак
- •2. Spmd стилінде mpi. Мысал келтіріңіз.
208 Сурак
1. Флинна таксономиясы. Мisd, мimd архитектуралары.
В литературе часто используется та или иная схема классификации компьютерных архитектур и одной из наиболее популярных является таксономия Флинна. В ее основу положено описание работы компьютера с потоком команд и потоком данных. По Флинну принято классифицировать все возможные архитектуры компьютеров на четыре категории:
SISD (Single Instruction Stream - Single Data Stream) – один поток команд и один поток данных;
SIMD (Single Instruction Stream –Multiple Data Stream) – один поток команд и множество потоков данных;
MISD (Multiple Instruction Stream –Single Data Stream) – множество потоков команд и один поток данных;
MIMD (Multiple Instruction Stream –Multiple Data Stream) – множество потоков команд и множество потоков данных
MISD компьютеры
Вычислительных машин такого класса практически нет и трудно привести пример их успешной реализации. Один из немногих – систолический массив процессоров, в котором процессоры находятся в узлах регулярной решетки, роль ребер которой играют межпроцессорные соединения. Все процессорные элементы управляются общим тактовым генератором. В каждом цикле работы каждый процессорный элемент получает данные от своих соседей, выполняет одну команду и передает результат соседям
MIMD компьютеры
Эта категория архитектур вычислительных машин наиболее богата, если иметь в виду примеры ее успешных реализаций. В нее попадают симметричные параллельные вычислительные системы, рабочие станции с несколькими процессорами, кластеры рабочих станций и т.д. Уже довольно давно появились компьютеры с несколькими независимыми процессорами, но вначале на таких компьютерах был реализован только параллелизм заданий, то есть на разных процессорах одновременно выполнялись разные и независимые программы.
2. Mpi программасын компиляциялау, жинау және орындау.
Поскольку MPI является библиотекой, то при компиляции программы необходимо соответствующие библиотечные модули. Это можно сделать в командной строке или воспользоваться предусмотренными в большинстве систем командами или скриптами mpicc(для программ на языке СИ), mpic++(для программ на языке С++ ), и mpif77/mpif90(для программ на языке Фортран 77/90). Опция компилятора «-o name» позволяет задать имя name для получаемого выполнимого файла, по умолчанию выполнимый файл называется a.out, например: mpif77 –o program program.f
После получения выполнимого файла необходимо запустить его на требуемом количестве процессов. Для этого обычно предоставляется команда запуска MPI –приложения mpirun,mpiexec, например :
mpirun –np N <программа с аргументами>
mpiexec –np N <программа с аргументами>
где N-число процессов ,которое должно быть не более разрешенного в данной системе числа процессов для одной задачи. После запуска одна и та же программа будет выполняться всеми запущенными процессами, результат выполнения в зависимости от системы будет выдаваться на терминал или записываться в файл предопределенным именем.
3. 2*sin(x) функциясының интегралын [0,1] аймақта параллельді есептеңіз. double f(double x)
{return 2*sin(x);}
int main(int argc,char **argv)
{
int size,rank;
MPI_Status status;
MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
MPI_Comm_size(MPI_COMM_WORLD,&size);
float h=0.05,a=0,b=1,s=0.0;
for(int i=rank; a+h*(i+1)<b+h; i+=size)
{ s+=h*f(a+h*(i+1)); }
if(rank!=0)
{ MPI_Send(&s,1,MPI_FLOAT,0,1,MPI_COMM_WORLD); }
if(rank==0)
{ float r;
MPI_Recv(&r,1,MPI_FLOAT,1,1,MPI_COMM_WORLD,&status);
s+=r;
printf("s=%f\n ",s);
}
}
