Здесь собраны статьи, так или иначе связанные с работой на суперкомпьютере "Уран"
Для оперативной связи с программой, запущенной на суперкомпьютере (сообщение о запуске или завершении, отладочные сообщения), можно использовать telegram.
Данная инструкция описывает создание минимального telegram-бота, который умеет отправлять сообщения хозяину.
Для регистрации бота нужно начать чат с отцом ботов https://t.me/BotFather отправив в чат команду /start
Далее выбираем из меню или пишем в чат команду /newbot
в ответ будет предложено ввести имя, под которым бот будет виден у вас в списке пользователей (не обязательно уникальное), и идентификатор, уникальный в рамках всего телеграма и заканчивающийся на _bot.
Если идентификатор отвечает этому требованию, то в ответ BotFather пришлет сообщение, содержащее ссылку на бота и token для доступа к API.
Что бы у бота появилась возможность писать вам, вы должны перейти на страничку бота и нажать кнопку "Запустить" (Start)
Что бы писать себе сообщения нужно знать свой уникальный идентификатор, это можно сделать запустив бота https://t.me/getmyid_bot
Для запуска бота необходимо установить пакеты python3
pip install python-telegram-bot --upgrade --user
после чего можно скопировать пример бота в файл telegram_bot.py, подставив токен api_key и свой user_id. На файл необходимо дать право на выполнение chmod +x telegram_bot.py
#!/usr/bin/env python3.6
import telegram
import sys
api_key = "987654321:XyZwer45Un"
user_id = 1234567890
bot = telegram.Bot(token=api_key)
chunk = sys.stdin.read(4096)
while chunk:
bot.send_message(user_id, chunk)
chunk = sys.stdin.read(4096)
Отправка сообщения делается перенаправлением текста на стандартный ввод бота. Можно отправлять несколько строк, но не более 4096 символов за один раз. Более длинные сообщения разбиваются на части по границам кратным этой величине. В примере предполагается, что вы создали файл telegram_bot.py
в домашнем каталоге (~).
echo "Test message" | ~/telegram_bot.py
ls | ~/telegram_bot.py
sbatch -n1 -t1 --wrap \
"bash -c \
'echo Start |~/telegram_bot.py;\
my_prog| ~/telegram_bot.py;\
echo Stop |~/telegram_bot.py'"
SciDAVis представляет собой интерактивное приложение, направленное на анализ научных данных и их визуализацию/публикацию. SciDAVis - многоплатформенное - Windows, Linux, MacOS X - свободное программное обеспечение. Данное программное обеспечение совмещает в себе широкую функциональность и интуитивно-понятный интерфейс. SciDAVis позволяет анализировать, обрабатывать и визуализировать экспериментальные данные и аппроксимировать кривые. Поддерживает большое количество аппроксимирующих функций, скрипты, базовые статистики с графиками и визуализацией и многое другое. Основные особенности программы SciDAVis:
Стандартные функции:
abs, acos, acosh, asin, asinh, atan, atanh, avg
bessel_i0, bessel_i1, bessel_in, bessel_in_zero, bessel_y0, bessel_y1, bessel_yn, beta
ceil, cos, cosh, erf, erfc, erfz, erfq, exp, floor, gamma, gammaln
hazard, if, ln, log, log10, log2, min, max, mod, pow, rint, sign
sin, sinh, sqrt, sum, tan, tanh, w0, wm1
SciDAVis хранит все данные в файле своего проекта. В качестве исходных данных программа понимает текстовые файлы, в которых числа записаны столбцами, и файлы, в которых числа разделяются запятыми (CSV). При открытии текстовых файлов в SciDAVis есть возможность указать разделитель между столбцами, разделитель дробной части и символ, отделяющий в больших числах тысячи, миллионы и т.д. для более наглядного вида. Для SciDAVis основная рабочая область – таблица с данными, а графики не привязываются к их расположению на листе, а просто рисуются в отдельных окнах.
Графики могут быть сохранены в нескольких растровых графических форматах файлов, а также в форматах Portable Document Format PDF , Encapsulated PostScript EPS или SVG.
Программа может рисовать разные типы графиков.
Построим, например, график, используя функцию IF. Откроем меню Файл и выберем команду Новый/Новый график функции (Рис. №1)
В откывшемся диалоговом окне, зададим функцию и диапазон изменения аргумента х.
Результат:
Создадим таблицу и на основе значений её ячеек построим график. Заполним первый столбец рядом чисел от 1 до 30 по возрастанию с шагом 1:
Ко второму столбцу таблицы, предварительно выделив его, применим формулу sin(col("1"))/col("1"), используя для задания формулы списки диалогового окна (см. Рис. №5)
Выбрав График/Линия вы построите график по табличным данным. К построенному графику добавим еще график с заданием функции (см. Рис. №2):
Построим график функции импортируя текстовый файл.
Трехмерные графики в SciDAVis’е можно вращать, приближать и удалять мышкой.
Проиллюстрируем пункты меню. Состав пункта Файл мы уже приводили, приведём и другие пункты для знакомства с интерфейсом приложения:
|
|||
|
Официальная страница SciDAVis находится – здесь.
gnuplot — свободная программа для создания двух- и трёхмерных графиков. gnuplot - терминальное интерактивное приложение в среде ОС UNIX. Позволяет выполнять построение 2-х и 3-х мерных графиков функций. Функции могут задаваться как в аналитическом виде, так и в виде табличных данных, хранящихся в файлах. Набор команд для построения некоторого графика (или группы графиков) может быть записан в файл и выполнен одной командой. Для работы с gnuplot необходима установка на клиентской машине графической среды X-Window (В MS Windows можно установить NX Client или MobaXterm).
Вызовите gnuplot
:
После исполнения команды вы увидите, что установлен терминал 'X11':
gnuplot
можно задавать команды и просматривать результаты их выполнения, например, команда:plot f(x)=sin(x*a),a=0.2,f(x),a=0.4,f(x)
нарисует график:
, а команда splot x*x+y*y
создаст эллиптический параболоид :
sin(sqrt(x*x+y*y))/sqrt(x*x+y*y
В современных версиях gnuplot, при использовании интерактивных терминалов (x11,wxt) точку зрения можно менять поворачивая изображение при нажатой кнопке мыши.
Работа в gnuplot осуществляется в двух режимах:
$ gnuplot simpe1.graph
set terminal windows
set parametric
set encoding koi8r
set size square
set xrange [-1:1]
set yrange [-1:1]
f(x)=sin(x) g(x)=cos(x)
plot f(t), g(t) with points ls 3
Содержимое командного файла:
set terminal windows
set encoding koi8r
set yrange [0:1]
set xrange [0:1]
plot "RMSresult" with lines and points
Содержимое файла данных
(RMSresult ):
0.1 0.61881100
0.2 0.55289577
0.3 0.71881100
0.4 0.55289577
0.5 0.61881100
0.6 0.55289577
0.7 0.61881100
0.8 0.55289577
0.9 0.61881100
1.0 0.55289577
Пример построения графика с помощью пакетного режима. gnuplot выполняет команды из файла и сохраняет график в файле, который можно просмотреть графическим редактором:
Содержимое командного файла: set term postscript eps set palette gray set view 45,45 set isosamples 50 set output "primer1.eps" splot (cos(5*acos(y/sqrt(x*x+y*y)))/(1+(x*x+y*y))**0.25) w pm3d |
C сайта http://yurae.boom.ru/softest/GnuPlot.htm:
" GnuPlot может рисовать графики функций, заданных формулой или точками. Это могут быть функции одной (линия на плоскости) или двух (поверхность в пространстве) переменных. Можно строить графики функций, заданных параметрически, рисовать кривые в полярных координатах. Дополнительно можно наносить на рисунок надписи и стрелки. Поддерживаются различные стили линий и точек, шрифты. Возможен вывод на экран или в файлы различного типа. Кроме того, программа позволяет аппроксимировать экспериментальный набор точек кривыми заданного вида. Работать программа может как под управлением Windows, так и под управлением Unix-подобных ОС. При всем этом, программа абсолютно бесплатна".
Описание языка можно посмотреть на сайте http://jarosh.by.ru/gnuplot/gnuplot_rus.html