19Авг

Вопрос выбора аппаратной платформы для кластера, по всей видимости не стоит: мы будем использовать ту технику, которая у нас уже имеется, а это скорее всего компьютеры на основе процессоров Intel. Поэтому обсуждать преимущества той или иной платформы мы не будем. Тем не менее, если вы собираетесь самостоятельно разрабатывать приложения для своего кластера, вам необходимо озаботиться подбором подходящих средств разработки.
Continue reading »
Tags: Cluster, Compiller, Fortran, fortran90, fortran95, gcc gnu, intel, Кластер
19Авг
Одним из важных моментов при проведении численных экспериментов является визуализация полученных данных. Когда промежуточных результатов мало, например важно отобразить лишь факт окончания очередной итерации, можно ограничиться консольным (текстовым) выводом. В этом случае никаких особенных инструментов не требуется. Вывод даных осуществляется стандартными средствами языка. Так же в качестве отдельной задачи можно рассматривать вопрос обработки конечных результатов счета, сохраненных в файле. Для операционной ситемы Linux cуществует достаточно широкий спектр приложений, которые можно использовать для визуальной обработки данных, полученных в результате выполнения расчетной задачи. В качестве таких приложений можно упомянуть как различные электронные таблицы типа OpenOffice.org Calc, Kspread и др., так и широкий список специализированных пакетов a la всем известный Grapher.
Continue reading »
Tags: Cluster, Fortran, X-Windows, Визуализация, Кластер
19Авг
Рассмотрим классический пример задачи: программу “Hello world”. Программа может быть запущена в среде MPI на произвольном количестве процессоров. Каждая копия программы, будучи запущена на своем узле кластера, перчатает приветствие, номер процесса, вызвавшего функцию печати и общее количество процессов.
Continue reading »
Tags: Cluster, Fortran, LAM, lam mpi, MPI, mpich, mpif, mpirun, Кластер, распараллеливание
19Авг
Набор операций типа точка-точка является достаточным для программирования любых алгоритмов, однако MPI вряд ли бы завоевал такую популярность, если бы ограничивался только этим набором коммуникационных операций. Одной из наиболее привлекательных сторон MPI является наличие широкого набора коллективных операций, которые берут на себя выполнение наиболее часто встречающихся при программировании действий. Например, часто возникает потребность разослать некоторую переменную или массив из одного процессора всем остальным. Каждый программист может написать такую процедуру с использованием операций Send/Recv, однако гораздо удобнее воспользоваться коллективной операцией MPI_Bcast. Причем гарантировано, что эта операция будет выполняться гораздо эффективнее, поскольку MPI-функция реализована с использованием внутренних возможностей коммуникационной среды.
Continue reading »
Tags: Cluster, Fortran, MPI, Кластер, распараллеливание
19Авг
К операциям этого типа относятся две представленные в предыдущем разделе коммуникационные процедуры. В коммуникационных операциях типа точка-точка всегда участвуют не более двух процессов: передающий и принимающий. В MPI имеется множество функций, реализующих такой тип обменов. Многообразие объясняется возможностью организации таких обменов множеством способов. Описанные в предыдущем разделе функции реализуют
стандартный режим с блокировкой.
Continue reading »
Tags: Fortran, MPI, Кластер, распараллеливание
19Авг
Любая прикладная MPI-программа должна начинаться с вызова функции инициализации MPI: функции MPI_Init. В результате выполнения этой функции создается группа процессов, в которую помещаются все процессы приложения, и создается область связи, описываемая предопределенным коммуникатором MPI_COMM_WORLD. Эта область связи объединяет все процессы-приложения. Процессы в группе упорядочены и пронумерованы от 0 до groupsize-1, где groupsize равно числу процессов в группе. Кроме этого, создается предопределенный коммуникатор MPI_COMM_SELF, описывающий свою область связи для каждого отдельного процесса.
Continue reading »
Tags: Fortran, MPI, Кластер, распараллеливание
19Авг
Если сформулировать коротко, MPI - это библиотека функций, обеспечивающая взаимодействие параллельных процессов с помощью механизма передачи сообщений. Это достаточно объемная и сложная библиотека, состоящая примерно из 130 функций, в число которых входят:
Continue reading »
Tags: Fortran, MPI, mpich, Кластер, распараллеливание
19Авг
Процесс компиляции и выполнения параллельных программ, написанных с использованием MPI, примерно одинаков в MPICH и LAM/MPI. Оба пакета содержат в себе специализированные скрипты (wrappers) облегчающие вызов компиляторов. Для языка FORTRAN такой скрипт называется mpif77. Компиляция исходного текста программы, написанной на FORTRANe выполняется следующим образом:
Continue reading »
Tags: Fortran, LAM, lam mpi, MPI, mpich, mpif, mpirun, Кластер
15Авг
MPI расшифровывается как “Message passing interface” (”Интерфейс передачи сообщений”). MPI - это стандарт на программный инструментарий для обеспечения связи между отдельными процессами параллельной задачи. MPI предоставляет программисту единый механизм взаимодействия процессов внутри параллельно исполняемой задачи независимо от машинной архитектуры (однопроцессорные, многопроцессорные с общей или раздельной памятью), взаимного расположения процессов (на одном физическом процессоре или на разных) и API операционной системы. Программа, использующая MPI, легко отлаживается и переносится на другие платформы, часто для этого достаточно простой перекомпиляции исходного текста программы.
Continue reading »
Tags: Fortran, LAM, MPI, mpich, PVM
Recent Comments