Сходу нужного не нашел, но безотносительно того, какой вариант будет выбран, ссылка крайне полезная, спасибо!

А измерение производительности - HPL выплевывает результат в файл, который выглядит примерно так:

       ||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)= 0.0064147
       ...... PASSED
       
================================================================================
       T/V                N    NB     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
0            PMAP process mapping (0=Row-,1=Column-major)

*первая строка - размерность матриц для теста, вторая - на сколько частей разбивается матрица, третья - размеры каждого блока, и.т.д.

Чтобы получить максимальную производительность, нужно подобрать оптимальные параметры. Тут есть два варианта:

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

б) методом проб и ошибок подбирать параметры, смотреть результаты, делать выводы и подбирать параметры дальше.

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

а) быстренько написать программу
б) делать это в консоли

Осознавая свою слабость в написании скриптов, интересует второй вариант. Куда стоит посмотреть\почитать?






-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru

Дати відповідь електронним листом