Основные функции MPI и пример простейшей программы

Приветствую всех в третьей статье посвященной параллельному программированию с помощью библиотеки MPICH. В прошлых сериях мы научились устанавливать MPI в Linux Ubuntu и заставили Eclipse понимать код библиотеки. Наконец пришло время взяться за программирование. А какую программу должен написать каждый уважающий себя программист? Правильно, сегодня мы напишем «Hello World» на MPI, и заодно глянем на самые базовые функции библиотеки. Поехали!

Основные функции MPI

Я сейчас говорю о тех, которые помогут нам грамотно идентифицировать каждый процесс, чтобы управлять общей логикой приложения. Реализовано это следующим образом: все процессы делятся на группы, называемые коммуникаторами, при этом один процесс может находиться сразу в нескольких коммуникаторах. По умолчанию все процессы попадают в коммуникатор MPI_COMM_WORLD. Каждый процесс имеет порядковый номер в коммуникаторе, называемый рангом. Как правило, процесс с рангом 0 назначается главным, он рулит бизнес логикой приложения и раздает команды другим процессам, еще он может отвечать за вывод в консоль, если вывод предусмотрен.

читать далее «Основные функции MPI и пример простейшей программы»

Настройка библиотеки MPI в Eclipse

Доброго времени суток всем интересующимся параллельным программированием. В прошлый раз я рассказал о том, что такое MPI и как установить библиотеку MPICH на Linux Ubuntu. Сейчас я быстренько расскажу и покажу, как интегрировать библиотеку MPI в среду разработки Eclipse.

Причина простая до безобразия, писать на C/C++ без нормальной IDE равносильно самоубийству. Это на скриптовых языках типа Python или PHP можно обойтись одним Sublime Text или Notepad++, в которые зачастую вшиты все стандартные функции вроде sha1 или array_merge. В «сях» все гораздо мудренее, особенно беря во внимание указатели. В общем и целом, подружить MPICH и Eclipse это очень и очень хорошая идея, давайте начнем.

Настройка MPI в Eclipse

Необходимо сделать две основные вещи: научить Eclipse всем функциям MPI, то есть подключить заголовочный файл, и подсказать ему, как компилировать и собирать программу.

читать далее «Настройка библиотеки MPI в Eclipse»

Хороший хостинг для сайта — мой личный опыт

Пришло время и мне написать про свой виртуальный хостинг. Получится своеобразный «первый взгляд», потому что хостингом BeGet я пользуюсь всего шесть месяцев, кстати, ровно полгода, только сейчас это осознал. У меня висит несколько сайтов на этом хостинге, все прекрасно работают, ни разу не было перебоев технического плана, кроме случаев, когда я сам ронял свои сайты. В связи с этим, хочу описать главные плюсы BeGet`а. Возможно, это поможет кому нибудь выбрать хостинг для сайта, либо окончательно определиться с выбором, если глаз уже падал на BeGet.

Качественная круглосуточная техподдержка

Именно с этого я решил начать перечисление плюсов хостинга. Причина простая, когда я создал этот сайт, я был практически полным нулем. Целая гора теории в голове и полное отсутствие практики. Зарегистрироваться, купить год хостинга, поставить WordPress и настроить базу данных не вызвало никаких проблем, я тупо прокликал, отвечал на вопросики и через пять минут уже все работало. Самое интересное началось потом.

читать далее «Хороший хостинг для сайта — мой личный опыт»

Установка MPI на Linux Ubuntu

Доброго времени суток! С этой самой заметки начнется погружение в параллельный мир параллельного программирования, с целью научиться распараллеливать все, что написано на C/C++ и даже на Fortran. Инструментом нам послужит классическая библиотека MPICH версии 3.0. Но прежде, что такое MPI.

Как гласит википедия, MPI(Message Passing Interface) это программный интерфейс для передачи информации, который позволяет обмениваться сообщениями между процессами, выполняющими одну задачу. По русски говоря, этот интерфейс позволяет распараллелить задачу на несколько процессов в операционной системе. Что в некоторых случаях может серьезно улучшить производительность, когда как в других, наоборот ее ухудшить.

Библиотека MPICH, которую мы будем устанавливать, является одной из самых первых MPI библиотек, поэтому я назвал ее классической. На ее основе в будущем было построено большое множество коммерческих и открытых библиотек, возможно, про некоторые из них я тоже когда нибудь напишу. Приступим к установке.

читать далее «Установка MPI на Linux Ubuntu»

Как очистить корзину Ubuntu от имени рута

Эта супер короткая заметка будет логичным продолжением моей старой публикации «Мой скрипт очистки системы Linux Ubuntu». А все потому, что в системе снова завелся мусор! Ну как завелся… Каюсь, сам его накопил. В процессе бурной разработки очередного шедевра на локальном сервере, в корзину летит огромное количество файлов. А XAMPP любезно утроился в корне файловой системы, при установке я ему запретил делать свою директорию доступной простым пользователям(до сих пор не знаю почему). Поэтому все файлики удаляются от имена рута и попадают в корзину, откуда их уже не удалить.

Итог: «неудаляемые» файлы в корзине

Намертво засели. Открыть и очистить корзину через файловый менеджер от имени рута не представляется возможным. Поэтому нужно поискать, где же на самом деле лежат файлы из корзины.

Где находятся файлы из корзины в Ubuntu

читать далее «Как очистить корзину Ubuntu от имени рута»