[devel] пакеты для численного счета

Vladislav Zavjalov slazav на altlinux.org
Вс Сен 20 13:36:55 MSK 2020


Привет!

Я немного поразбирал наследие @real, библиотеки для численного счета.
Почти все они уже вылетели из Сизифа. Я не слишком большой специалист, и
точно не планирую ничего собирать для вычислительных кластеров. Мой
интерес был посмотреть разные варианты для счета нетяжелых
задач на домашнем компьютере: dealii (с ней я когда-то вполне успешно
работал), gmsh+getdp и т.п. Хочется собрать все в простой конфигурации,
выкинув излишнее. Буду рад замечаниям и предложениям.

Пока увидел следующее:

* atlas
  https://packages.altlinux.org/ru/sisyphus/srpms/atlas
  http://math-atlas.sourceforge.net/

  Наша версия 3.9.35 (4.2011), cобрана только для i586 и x86_64.
  Aпстримная стабильная версия - 3.10.3 (7.2016)

  В принципе, это Blas + часть Lapack, должно заменяться libopenblas,
  но у меня с этим были проблемы и при сборке getdb и при сборке gmsh.
  Я пока обошелся существующей libatlas, поставив ExclusiveArch,
  но, наверное, надо обновить, попробовать собрать и под другие
  архитектуры...


* petsc
  https://packages.altlinux.org/ru/c8_1/srpms/petsc-real
  https://packages.altlinux.org/ru/c8_1/srpms/petsc-complex
  https://www.mcs.anl.gov/petsc/

  Наша последняя версия 3.5.4 (5.2015), из Сизифа вылетела
  Апстримная - 3.13.5 (3.2020)

  У меня получилось собрать новую версию, примерно с такой же
  упаковкой как раньше, с вариантами -real и -complex, в специально
  отведенных местах.

  С другой стороны, понял, что для домашнего использования она
  мне, скорее всего, не пригодится, т.к. заменяется древней
  библиотекой libsparskit. Так что в Сизиф не отправлял.


* slepc
  https://packages.altlinux.org/ru/c8_1/srpms/slepc-real
  https://packages.altlinux.org/ru/c8_1/srpms/slepc-complex
  https://slepc.upv.es/

  Наша версия: 3.5.4 (5.2015), из Сизифа вылетела
  Апстрим: 3.13.4 (2.2020)

  Кажется, имеет смысл только в связке с petsc, сборку пока
  толком не смотрел.


* libmesh
  https://packages.altlinux.org/ru/c8_1/srpms/libmesh-real
  https://packages.altlinux.org/ru/c8_1/srpms/libmesh-real
  http://libmesh.github.io/

  Наша версия: 1.0.0 (7.2014), из Сизифа вылетела
  Апстрим: 1.5.1 (11.2019)

  Была собрана с petsc и slepc, в вариантах -real и -complex.
  Собираюсь собрать в простeйшей конфигурации и посмотреть,
  нужна ли она мне.


* gmsh
  https://packages.altlinux.org/ru/c8_1/srpms/gmsh
  URL: https://gmsh.info/

  Наша последняя версия 2.8.5 (7.2014), из Сизифа вылетела
  Апстримная - 4.6.0 (6.2020)

  Собрал новую версию в Сизиф (только i586 и x86_64 из-за libatlas),
  проверил, что работает.


* getdp -- раньше в Сизифе не было

  Собрал последнюю версию в Сизиф (только i586 и x86_64 из-за libatlas),
  с поддержкой gmsh, проверил, что работает.


* dealii
  https://packages.altlinux.org/ru/c7_1/srpms/dealii-real
  https://packages.altlinux.org/ru/c7_1/srpms/dealii-complex
  https://www.dealii.org/

  Наша последняя версия: 7.3 (2.2013), из Сизифа вылетела
  Апстрим: 9.2.0 (5.2020)

  Я с ней работал 7 лет назад, мне она нравилась. Немного чудовищна,
  экспортирует больше 150 тысяч символов, с отладочной информацией
  занимает 1Gb, из-за этого при сборке застревает в узких местах.

  У @real собиралась с petsc, openmpi и т.п., в двух версиях (real и complex),
  ставилась в директории petsc (%_libdir/petsc-{real,complex}), ничего наружу
  не экспортировала (и в те времена я так и не разобрался с этой установкой,
  собирал все себе локально).

  У меня получилось собрать новую версию без лишних зависимостей, так что мои старые
  программы собрались и заработали, пропихнуть в Сизиф не получилось, но все rpm'ы
  есть тут: http://git.altlinux.org/tasks/257979/ .
  Думаю, что ее можно, как и раньше, запаковать в какой-то нестандартный угол,
  ничего не экспортируя (поскольку эта библиотека предназначена скорее для
  написания своих локальных программ, чем для сборки других пакетов).


Резюме: libatlas - пока обхожусь старым, попробую обновить, как руки
дойдут. petsc+slepc - мне пока не очень интересно, если кому-то нужно -
могу поделиться простой сборкой нового petsc. libmesh - пока не смотрел, но
собираюсь. gmsh, getdp - собраны в Сизиф, работают. dealii -
собрано, работает, но пока не понял, надо ли отправлять в Сизиф и как
лучше запаковать.



Подробная информация о списке рассылки Devel