LINUX.ORG.RU

pdsyev ругается с вычислительной сеткой 1x4 (2x2 - в норме)

 blacs, , , pblas, scalapack


0

2

Есть пример использования pdsyev. После указанной правки всё работает.

Но при изменении конфигурации сетки:

было: матрица 4x4, процессы: 2x2, т.е. каждый процесс получает 2x2-кусок матрицы (prow=2; pcol=2; brow=2; bcol=2;).

пробую: матрица 4x4, процессы: 1x4, т.е. каждый процесс получает 4x1-кусок матрицы (prow=1; pcol=4; brow=4; bcol=1;).

pdsyev кричит, что невалиден параметр 709 (или около того).

Похоже, нужно ещё где-то крутить, но не вижу где.

P.S. Кстати, а в удобных пакетах типа octave, scilab,... имеется поддержка распределённых вычислений? А то от libscalapack-mpi1 у меня в дебиане что-то почти ничего не зависит. Да и гугл недавно открыл код алгортима для их карт, так он использует не lapack, а eugen.

★★★★★
Ответ на: комментарий от keyran

распределённых вычислений?

для вычислений

gag ★★★★★
() автор топика
Ответ на: комментарий от psv1967

Такого ещё не встречал, спасибо за инфо («Unlike Atlas, OpenBLAS provides a multiple architecture library», но под amd64 им пока не удалось 0.1.0 собрать).

В контексте вопроса мне интересны именно параллельные варианты.

gag ★★★★★
() автор топика
Ответ на: комментарий от gag

atlas умеет openmp и на blas level 3 выдает количество gflops почти в точном соответствии со спецификациями процессора :)

Reset ★★★★★
()
Ответ на: комментарий от Reset

ну и как атлас?39? или как его там, именно в дебиане поиметь?

psv1967 ★★★★★
()
Ответ на: комментарий от psv1967

Тогда можно обрадовать дебианщиков, потому что у них 0.1.0 только для i386 собран.

Тем временем, обнаружил подозрительный комментарий в pdsyev.f

*  Alignment requirements
*  ======================
*
*  The distributed submatrices A(IA:*, JA:*) and Z(IZ:IZ+M-1,JZ:JZ+N-1)
*  must verify some alignment properties, namely the following
*  expressions should be true:
*
*  ( MB_A.EQ.NB_A.EQ.MB_Z .AND. IROFFA.EQ.IROFFZ .AND. IROFFA.EQ.0 .AND.
*    IAROW.EQ.IZROW )
*  where
*  IROFFA = MOD( IA-1, MB_A ) and ICOFFA = MOD( JA-1, NB_A ).
Т.е. brow=4 != bcol=1 не подходит.

Как-то совсем негибко получается.

Помнится тут месяц-другой назад обсуждали кластеры в универах. Что они - эти кластеры - есть, а считать некому. Вспомнить бы ники, чтобы позвать этих обсуждающих сюда. Ну не может быть, чтобы никто ни разу не пробовал посчитать собственные векторы на кластере. Я уже молчу о том, что запустить orterun (или как раньше mpirun) -np 4 можно и на стареньком десктопе.

На parallel.ru тоже что-то не очень людно на форуме. Где же обитают те редкие кадры, работающие на кластерах?..

gag ★★★★★
() автор топика
Ответ на: комментарий от psv1967

Они там вот только 0.1.1 собрали. Тоже исключительно для i386. Кстати, вспомнил: один из тех людей - это AIv.

gag ★★★★★
() автор топика
Ответ на: комментарий от AIv

Так ScaLAPACK используется на практике для распределённых решений задач линейной алгебры? Или использовалась бы, но нет потребности (тогда в чём потребность)?

gag ★★★★★
() автор топика
Ответ на: комментарий от gag

Не, я от линейной алгебры бесконечно далек. Хотя диплом свой писал именно по лапаку. Я там сравнивал intel MKL, sun perflib, gotoblas, и amd'шную либу название которой уже не помню. Сравнивал на домашнем интелловском четырехядернике, не на кластере. Результат был такой: MKL всех уделал, gotoblas работал круто и параллельно только на некоторых функциях, а на некоторых - сливал по-черному, все остальные сливали MKL в два-четыре раза, даже в однопоточном режиме.

morse ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.