Сходу нужного не нашел, но безотносительно того, какой вариант будет
выбран, ссылка крайне полезная, спасибо!
А измерение производительности - HPL выплевывает результат в файл,
который выглядит примерно так:
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)= 0.0064147
.. PASSED
T/VNNB P Q Time Gflops
WR00R2L2 300 3 2 2 0.01 2.807e+00
HPL_pdgesv() start time Thu Jan 30 13:35:03 2014
HPL_pdgesv() end time Thu Jan 30 13:35:03 2014
И таких результатов при одном запуске получается много. Соответственно,
надо после каждого запуска парсить файл и находить самое большое
значение гигафлопс. А потом для самого большого значения запоминать
параметры.
Вообще, я тоже склоняюсь к С++ :)
01.02.2014 01:26, Vyacheslav Karamov пишет:
1) Можно поискать здесь http://mywiki.wooledge.org/BashFAQ уже готовое
решение, как такой файл прочитать и проанализировать.
Кажется там я видел коллекцию готовых модулей, брал скрипт который
парсил INI-файл виндовый. Работало :)
2) Простая программа на С++ или С легко сделает тоже самое.
Вопрос тут в том, есть ли необходимость как-то автоматизировать
измерение производительности?
31.01.2014 22:48, Krosheninnikov Artem пишет:
Добрый вечер,
представьте, что вам нужно погонять HPL (в народе - Linpack) с
разными параметрами на своей системе\кластере\ещё чем-нибудь. HPL
хранит конфиг в файле HPL.dat, который по сути представляет текстовый
файл вида:
*290 300 340 350 Ns
4# of NBs
1 2 3 4 NBs
0PMAP process mapping (0=Row-,1=Column-major)
*первая строка - размерность матриц для теста, вторая - на сколько
частей разбивается матрица, третья - размеры каждого блока, и.т.д.
Чтобы получить максимальную производительность, нужно подобрать
оптимальные параметры. Тут есть два варианта:
а) обладать колоссальными фундаментальными знаниями и опытом и с ходу
сказать, что, например, на кластере с сотней ядер и парой сотен гб
оперативной памяти логичнее использовать это и вон то.
б) методом проб и ошибок подбирать параметры, смотреть результаты,
делать выводы и подбирать параметры дальше.
Поскольку первый вариант невозможен ввиду отсутствия колоссальных
знаний и опыта, нужно сидеть и изменять параметры. Вручную это делать
неинтересно. Тут снова два варианта:
а) быстренько написать программу
б) делать это в консоли
Осознавая свою слабость в написании скриптов, интересует второй
вариант. Куда стоит посмотреть\почитать?
--
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru