Книги про параллельные вычисления с использованием MPI

Книги про параллельные вычисления с использованием MPI

Начиная с этого понедельника в течение двух недель у меня начинаются занятия в Летней суперкомпьютерной академии МГУ, куда меня послали на работе. В качестве направления (на сайте это называется треком), по которому я буду учиться, выбрал параллельное программирование с использованием MPI (Message Passing Interface) и OpenMP. Судя по всему, изначально подразумевалось, что те, кто будет проходить обучение в этой академии, уже должны уметь пользоваться этими библиотеками, а на лекциях и практике будут рассказывать более углубленные вещи. По крайней мере в прошлые годы для поступления в эту академию нужно было проходить тестирование, которое в этом году отменили.

До сих пор об MPI и OpenMP я имел представление только на уровне «да, есть такие библиотеки», хотя некоторые исходники с использованием OpenMP еще видел издалека и представлял, что распараллеливание происходит с помощью команд #pragma… В общем, чтобы не совсем опозориться, где-то месяц назад начал судорожно читать книги про OpenMP и особенно MPI. OpenMP — это все-таки более простая вещь, если есть опыт программирования обычных многопоточных приложений, а вот MPI мозг выворачивает наизнанку. Если с использованием OpenMP программу можно постепенно из последовательной сделать параллельной, то при использовании MPI программу нужно изначально писать с расчетом на эту библиотеку.

Так что основной упор за последний месяц сделал именно на MPI, который не особо полезен на обычных настольных компьютерах, но без него не обойтись при расчетах на суперкомпьютерах с распределенной памятью, когда память не одна на все процессоры, а каждый процессор может обращаться к своему блоку памяти. Поэтому в MPI, в отличие от OpenMP, распараллеливание происходит не по потокам (знаю, что их правильнее называть нитями, но я уже слишком привык к такому неправильному переводу слова «thread», распространенному в нашей литературе), а по процессам. Программа, написанная с использованием MPI — это по сути несколько одновременно запущенных программ (или одинаковых, или разных), обменивающихся между собой данными, и задача программиста описать, какой процесс, что делает.

Возвращаясь к книжкам. После того, как стало ясно, что мне предстоит, я скачал (за одно это слово пока еще не расстреливают? А то я не успеваю следить за потоком незамутненного сознания наших депутатов) несколько книг:

  • А. С. Антонов — Параллельное программирование с использованием технологии MPI.
  • Г. И. Шпаковский, Н. В. Серикова — Программирование для многопроцессорных систем в стандарте MPI.
  • В. Д. Корнеев — Параллельное программирование в MPI.

Читать далее…

Shortcuter. Класс для расстановки клавиатурных сокращений в меню wxPython

Выложил класс для автоматической расстановки клавиатурных сокращений (подчеркнутых букв) в меню с использованием wxPython. Подробнее…

Галерея компьютерной эволюции. Очень ностальгический пост

Галерея компьютерной эволюции. Очень ностальгический пост

Недавно благодаря [info]tehi4ka удалось побывать в галерее компьютерной эволюции, о которой до этого даже не слышал. Скорее всего я бы про нее не знал и дальше, если бы не стечение двух обстоятельств. Обстоятельства заключаются в том, что в этом году день «ночи в музее» выпал на субботу, благодаря чему галерея работала в эту самую субботу, хотя обычно она работает только по будням и только до 18 часов.

Галерея расположена в небольшом зале, где в витринах разложено компьютерное (и не только) железо, начиная с советских времен и до современных гаджетов и серверов.

Зал галереи

Читать далее…

Новости OutWiker

Разработка OutWiker не прекращается ни на минуту. На данный момент накопились три новости, касающиеся этой программы.

Читать далее…

Git и решение проблем с именами файлов в кодировке Unicode

Git и решение проблем с именами файлов в кодировке Unicode

Когда-то давно, когда я только начинал делать OutWiker, исходники этой программы я выкладывал на github. Но оказалось, что у git в то время были большие проблемы с именами файлов, содержащих не латинские буквы (подробнее об этом я в свое время писал в посте Git, Bazaar и русские имена файлов), из-за чего пришлось перейти на Bazaar.

После этого обычно спрашивают, зачем вообще в исходниках могут понадобиться такие файлы? Применительно к OutWiker по двум причинам. Первая — для хранения справки по программе, которая создана в формате заметок OutWiker, поэтому каждая страница хранится в папке с именем, соответствующим заголовку страницы. Вторая причина — для тестов. Надо же проверять, что программа справится с чтением файлов с такими именами.

На днях решил посмотреть, как обстоят дела с этой проблемой сейчас, и оказалось, что прошло уже больше года, как проблему побороли, начиная версии git 1.7.10. На этот счет на сайте msysgit (реализации git под Windows) есть даже статья на эту тему. В ней написано, что нужно сделать, чтобы git мог нормально работать с файлами в кодировке Unicode, и как перекодировать уже существующий репозиторий в юникодный формат представления файлов.

Читать далее…

Statistics. Новый плагин для OutWiker

Statistics. Новый плагин для OutWiker

Сделал новый плагин Statistics для программы OutWiker. Идея написать этот плагин возникла не на пустом месте. Так как сам я использую OutWiker в том числе для написания постов в блог и статей на сайт, то мне стало любопытно, какая же статья получилась самой большой, какие теги я использую чаще всего, а какие можно выкинуть из-за того, что ими помечены только одна заметка. После этого я сел за написание этого плагина.

Как уже понятно из названия, этот плагин должен показывать какую-то статистику. Но что это за статистика?

Плагин добавляет два пункта меню: Инструменты -> Статистика страницы и Инструменты -> Статистика дерева. При выборе пункта меню «Статистика страницы» будет показана следующая информация по текущей странице:

  • Количество слов.
  • Количество строк (абзацев).
  • Количество символов с учетом и без учета пробелов, табуляций и переноса строк.
  • Количество прикрепленных файлов и их размер.

Выглядит это следующим образом:

Читать далее…

Про книгу А. С. Потапова «Искусственный интеллект и универсальное мышление»

potapov

Как вы, наверное, знаете, термин «Искусственный интеллект» (ИИ) в последнее время стал применяться совсем не в том смысле, как он задумывался изначально. Сейчас под искусственным интеллектом чаще всего понимают в основном интеллектуальные алгоритмы, выполняющие какую-то одну конкретную задачу, такие алгоритмы могут быть довольно сложными и их идеи могут быть взяты из природы (нейронные сети, генетические алгоритмы, алгоритм роя пчел, муравьиной колонии и т.п.) Однако, такие алгоритмы — это совсем не то, чего ожидали от компьютеров еще в 50-60-ых годах прошлого века, когда казалось, что еще чуть-чуть и благодаря компьютеру люди создадут еще один разум. Этого не произошло, и требования к искусственному интеллекту стали постепенно снижаться, так появились термины «сильный ИИ» — ИИ в его первоначальном понимании — и «слабый ИИ» — просто интересные алгоритмы.

Книга А. С. Потапова «Искусственный интеллект и универсальное мышление» представляет собой обзор проблем, возникающих при попытке создания сильного ИИ и попыток их решения с помощью алгоритмов, которые теперь относятся к слабому ИИ. В целом это книга не по алгоритмам и их программированию, в ней нет подробных описаний особенностей алгоритмов, связанных именно с программированием, в ней рассматриваются проблемы в целом, залезая в области биологии, психологии, где-то даже философии.

Читать далее…

Салют в честь Дня Победы

Отвлечемся пока от IT-шных тем, давно не выкладывал просто фотографии. Вчера [ljuser]nadushenka[/ljuser] вытащила меня, [ljuser]marisha_amber[/ljuser] с ее подругой, ссылку на ЖЖ которой я не знаю, и [ljuser]smelui_liss[/ljuser] пофотографировать салют в честь 9 мая. Благодаря тому, что мы запаслись штативами и заняли стратегически верную позицию, удалось сделать, на мой взгляд, неплохие фотки.

firework_03

Читать далее…

Музей связи в Санкт-Петербурге. Фотоотчет

Музей связи в Санкт-Петербурге. Фотоотчет

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

Музей связи имени А. С. Попова расположен по адресу ул. Почтамтская, д.7. Если вы соберетесь туда пойти, то запланируйте на него достаточно времени. Мы ходили по нему часа три, все успели обойти посмотреть, но местами приходилось поторапливаться, потому что работает музей до 18:00. В целом мне этот музей понравился даже больше, чем наш московский Политехнический, поскольку музей связи мне все-таки ближе по специальности.

Залы музея расположены таким образом, чтобы охватить историю связи, начиная с почты и посыльных и кончая спутниковой связью и интернетом. В этом фотоотчете постараюсь охватить основные темы музея, приготовьтесь к тому, что будет много фотографий и букв.

Читать далее…