31 мар. 2015 г.

RaspberryPIMediaCenter ver. 2.0 (RPiMC-2.0)

Спустя много много времени с момента моей последней записи про медиацентр на Raspberry Pi, я наконец смогу заняться этим делом всерьез, и сделать рабочий медиацентр, а не просто прототип, работающий в тестовом режиме.
Итак, RaspberryPIMediaCenter-2.0 (RPiMC-2.0).
Перерыв огромное множество сайтов, где написано как это все можно реализовать, я выбрал наиболее подходящий для меня способ.
Что мне понадобилось, чтобы это сделать:
1. Raspberry Pi model B
2. Карта памяти 8GB
3. USB-hub с питанием от сети
4. Внешний HDD на 1TB
5. Модуль WiFi
6. HDMI кабель
7. Телевизор :)

В качестве ПО я установил openELEC, образ которой я скачал с http://openelec.tv/get-openelec.
Затем записал образ на SD карту. Способ, которым можно записать образ ОС на карту памяти с помощью win32imagewriter описывается миллионы раз везде.

Когда я установил и запустил свой RPi, я был удивлен, насколько стала продуманна данная система. Помню, в последний раз, нужно было устанавливать все самому, все библиотеки, всякие утилиты, чтобы все работало, а сейчас оболочка сделалась настолько user-frendly, что это может сделать любой.
Очень легко и просто оказалось подключиться к своей сети WiFi, потому что опять же, оглядываясь назад, подключить RPi к сети WiFi было очень нетривиальным занятием.
Также просто можно добавить торрент-качалку transmission, которая устанавливается как дополнение.

Самое сложное в этом деле - это все правильно соединить. Ниже я приложил фотку, как это все у меня закреплено на задней панели телевизора.
Итак, снизу закреплен внешний HDD, который подключен к USB хабу. USB хаб подключен к сети и подключен к Raspberry Pi. Также в хаб воткнут модуль для WiFi. Собственно сам Pi также питается от сети, помимо питания для хаба. Это было необходимостью, потому что не хватало питания и для HDD и для Pi только с помощью хаба. Ну и HDMI кабель подключен к Pi, который идет далее к телевизору. Если рядом с телевизором есть ethernet порт, то лучше использовать его для подключения Pi к интернету, чтобы не урезать скорость соединения.
В целом все выглядит очень неплохо и главное, что работает.


28 апр. 2014 г.

Оптимизация MatLab

Немного про то, как можно увеличить скорость работы программ в Matlab. Хотя Matlab автоматически регулирует размеры векторов и матриц, оказывается, что лучше будет предварительно выделить матрицы. Такое предварительное распределение берет на себя расходы на выделение памяти только один раз, и это гарантирует, что матричные элементы будут храниться в смежных ячейках оперативной памяти (по столбцам).
Рассмотрим следующий код:

clear all;
nx = 50000;
dx = 5;
for i = 1:nx
x(i) = (i-1)*dx;
y(i) = sin(3*x(i));
end

24 мар. 2014 г.

Установка LAMMPS под систему с GPU

Также как и в случае с Quantum Espresso LAMMPS был дописан для работы с CPU-GPU кластерами. Здесь я опишу краткую инструкцию по его установке на такие системы.
В принципе, установка мало чем отличается от процесса установки на обычный кластер, описанный тут, кроме собирание отдельной библиотеки GPU для LAMMPS.
Итак, качаем последнюю версию LAMMPS, заходим в разархивированную папка и идем в папку с библиотекой GPU:

cd lammps-24Apr13/lib/gpu

после чего редактируем в файле Makefile.linux строки:

Установка QE под систему с GPU

В настоящее время все более востребованными стали вычислительные кластеры, которые содержат в себе не только классические CPU, но и графические ускорители GPU, которые позволяют в разы увеличить производительность вычислительных кластеров. В связи с этим многим людям кажется привлекательным проводить расчеты на гибридных CPU-GPU системах. Для этих целей, разработчики программных пакетов пару лет назад начали переписывать/дописывать/улучшать коды своих программа для работы на GPU системах или гибридных CPU-GPU, что у них очень удачно получается на данный момент.
Однако суть вопроса в том, как установить такие пакеты на свой кластер с GPU. Здесь я опишу краткую инструкцию по установке Quantum Espresso на кластер с GPU, т.к. она немного отличается от тривиальной и очень простой установки этого пакета на CPU систему.

17 апр. 2013 г.

Установка CP2K

Вчера мне понадобилось установить на кластер программу CP2K, которая позволяет проводить расчеты кристаллических и молекулярных систем методами DFT и DFTB. Процесс установки оказался не очень сложным, но тем не менее стоит про него написать.
Установка производилась с использованием компиляторов Intel. Для начала, что нужно было сделать, это скомпилировать библиотеку для FFTW, которая находится в папке
/opt/intel/mkl/interfaces/fftw3xf/, т.к. для компиляции CP2K она нам будет нужна, собрать эту FFTW библиотеку можно следующим образом, написав:

27 мар. 2013 г.

Raspberry PI. Подключение 3G модема

Сегодня решил попробовать подключить МТС 3G модем к моему Raspberry Pi. Для начала нужно установить службу, реализующую протокол точка-точка - PPP. Устанавливаем его следующим образом:

sudo apt-get install ppp

Еще одно удобство

Появилась свободная минутка, и я решил закончить давно начатый скрипт, который бы обрабатывал выходную информацию команды

qstat -n

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