
- •108 Сурак
- •3. 3 Өлшемді Лаплас теңдеуін 2-өлшемді декомпозиция тәсілімен программалау.
- •208 Сурак
- •2. Mpi программасын компиляциялау, жинау және орындау.
- •308 Сурак
- •3. Параллельді векторларды скаляр көбейту программасын жазыңыз
- •408 Сурак
- •508 Сурак
- •3. 3 Өлшемді Лаплас теңдеуін 2-өлшемді декомпозиция тәсілімен программалау.
- •608 Сурак
- •2. Нүкте-нүкте коммуникациялары. Mpi_Bsend(), mpi_Brecv функцияларын қолдану мысалдары.
- •3. Санды полиномдылыққа тексеру параллельді программасын жазыңыз.
- •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. Примеры.
- •3. Символдық массивте жолды табудың параллельді программасын жазыңыз.
- •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
- •3. Санды полиномдылыққа тексеру параллельді программасын жазыңыз.
- •62 Сурак
- •1. Параллелизация с декомпозицией задачи и декомпозицией области. Примеры.
- •2.Пользовательские типы данных. Тип mpi_type_vector (hvector). Примеры
- •3. Напишите программу параллельного поиска минимального числа в массиве.
- •72 Сурак
- •1. Закон Амдала с учетом сети. Ускорение. Эффективность.
- •2.Коммуникации точка/точка. Примеры использования фукнции mpi_Isend(), mpi_Irecv.
- •3. Напишите параллельную программу проверки простого числа.
- •82 Сурак
- •92 Сурак
- •3 Сурак
- •13 Сурак
- •2.Функции mpi_Gather, mpi_scatter, mpi_allgather, mpi_alltoall, mpi_allreduce. Их различия. Примеры.
- •3. Напишите программу параллельного скалярного умножения векторов.
- •23 Сурак
- •1. Можно ли запустить программу simd на современных процессорах семейства x86.
- •2.Пользовательские типы данных. Тип mpi_type_contiguous. Примеры.
- •3.Напишите программу параллельного поиска минимального числа в массиве.
- •383 Сурак
- •1.В каких случаях эффективно использование параллельных методик программирования ?
- •2. Есть мнение, что для написания программ mpi достаточно лишь 5-ти основых функций. Назовите их. Как Вы относитесь к данному высказыванию ?
- •3. Решение 3-мерного уравнения Лапласа методом 1-мерной декомпозиции.
- •43 Сурак
- •1. Суперскалярные и векторные процессоры.
- •2. Виртуальные топологии. Декартова и графовая топологии. В каких случаях их следует использовать. Основные шаги для создания декартовой топологии.
- •3. Параллельное умножение матрицы и вектора в mpi.
- •53 Сурак
- •2.Коллективные операции обмена сообщениями. Редукция. Примеры.
- •3. Напишите программу параллельного скалярного умножения векторов.
- •63 Сурак
- •1. Современные архитектуры параллельных компьютеров. Аппаратная часть.
- •2.Группы и коммуникаторы mpi. Создание новых групп (коммуникаторов).
- •3. Параллельное умножение матриц в mpi.
- •73 Сурак
- •1 Таксономия Флинна. Архитектуры sisd, simd.
- •2.Что такое mpi ? Основные концепции и возможности.
- •3.Напишите программу параллельного вычисления числа pi.
- •83 Сурак
- •1.Закон Амдала. Ускорение. Эффективность.
- •2.Коммуникации точка/точка. Примеры использования фукнции mpi_Bsend(), mpi_Brecv.
- •Напишите параллельную программу проверки простого числа.
- •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. Для чего они нужны
- •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.В каких случаях эффективно использование параллельных методик программирования ?
- •3. Символдық массивте жолды табудың параллельді программасын жазыңыз.
- •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. Мысал келтіріңіз.
308 Сурак
1. Жарыс күйі. Синхронизация. Философтар есебі. Состояние гонки — это ошибка, возникающая, когда результат программы зависит от того, какой из двух потоков первым достигнет определенного блока кода.
Необходимость синхронизации обуславливается тем обстоятельством, что не все возможные траектории совместно выполняемых потоков являются допустимыми .В самом общем виде, синхронизация может быть обеспечена при помощи задания необходимых логических условий, которые должны выполняться в соответствующих точках траекторий потоков. Строгость данного свойства может быть несколько снижена – так, набор синхронизирующих действий можно ограничить требованием обеспечения достижимости допустимых траекторий программы – такое поведение обычно именуется свойством живучести.Задача обедающих философов.Задача позволяет рассмотреть способы доступа нескольких потоков к нескольким разделяемых ресурсов. Исходная формулировка задачи, впервые предложенная Э. Дейкстрой, выглядит следующим образом. Представляется ситуация, в которой пять философов располагаются за круглым столом.Для приема пищи в центре стола большое блюдо с неограниченным количеством спагетти, и тарелки, по одной перед каждым философом. Предполагается, что поесть спагетти можно только с использованием двух вилок. Для этого на столе располагается ровно пять вилок – по одной между тарелками философов.Для того, чтобы приступить к еде, философ должен взять вилки слева и, наложить спагетти, поесть, а затем обязательно положить вилки на свои места для их повторного использования. В данной задаче философы представляют собой потоки, а вилки – общие разделяемые ресурсы. Можно применить некоторое регламентирующее правило порядка взятия вилок – например, философ сначала берет левую вилку, затем правую. Итак, получаемый в результате алгоритм деятельности каждого философа состоит в следующем: как только философ приступает к еде, он пытается взять левую вилку. Если она занята, философ ждет ее освобождения и в конце концов ее получает. Возможная реализация предложенной схемы может состоять в следующем.
// Семафоры доступа к вилкам
Semaphore fork[5] = { 1, 1, 1, 1, 1 };
// Поток -философ (для всех философов одинаковый)
Prilosopher(){ // i – номер философа
while (1) { P(fork[i]); // Доступ к левой вилке P(fork[(i+1)%5]); // Доступ к правой вилке <Питание>
// Освобождение вилок
V(fork[i]); V(fork[(i+1)%5])
<Размышление> } }
(выражение (i+1)%5 определяет номер правой вилки, % есть операция получения остатка от целого деления в алгоритмическом языке С).
2. Коллективті мәлімет алмасу функциялары. Редукция мысалдары. Набор коллективных операций включает: - Синхронизацию всех процессов с помощью барьеров (MPI_Barrier); - Коллективные коммуникационные операции, в число которых входят: рассылка информации от одного процесса всем остальным членам некоторой области связи (MPI_Bcast); сборка (gather) распределенного по процессам массива в один массив с сохранением его в адресном пространстве выделенного (root) процесса (MPI_Gather, PI_Gatherv); сборка (gather) распределенного массива в один массив с рассылкой его всем процессам некоторой области связи (MPI_Allgather, MPI_Allgatherv); разбиение массива и рассылка его фрагментов (scatter) всем процессам области связи (MPI_Scatter, MPI_Scatterv); совмещенная операция Scatter/Gather (All-to-All), каждый процесс делит данные из своего буфера передачи и разбрасывает фрагменты всем остальным процессам, одновременно собирая фрагменты, посланные другими процессами в свой буфер приема (MPI_Alltoall, MPI_Alltoallv). - Глобальные вычислительные операции (sum, min, max и др.) над данными, расположенными в адресных пространствах различных процессов: с сохранением результата в адресном пространстве одного процесса (MPI_Reduce); с рассылкой результата всем процессам (MPI_Allreduce); совмещенная операция Reduce/Scatter (MPI_Reduce_scatter); префиксная редукция (MPI_Scan