From: Andrey Savchenko <bircoph@altlinux.org> To: ALT Linux Team development discussions <devel@lists.altlinux.org> Subject: Re: [devel] пакеты для численного счета Date: Sun, 20 Sep 2020 22:00:59 +0300 Message-ID: <20200920220059.9db5e58134f75b472b94b6a2@altlinux.org> (raw) In-Reply-To: <20200920184133.GG26263@imap.altlinux.org> [-- Attachment #1: Type: text/plain, Size: 4826 bytes --] On Sun, 20 Sep 2020 21:41:33 +0300 Vladislav Zavjalov wrote: > On Sun, Sep 20, 2020 at 07:34:57PM +0300, Vladimir D. Seleznev wrote: > > > Не уверен, что я понял все тонкости. Пока мне кажется разумным следующее: > > > > > > * Исправить openblas, чтобы с NO_LAPACK=1 он не делал вид, что > > > предоставляет lapack. > > > Если это сложно, то использовать его встроенный lapack + > > > отвязать liblapack от openblas. > > > > > > * Может быть, удалить blas + liblapack и использовать только openblas. > > > > А какие есть против такого варианта? > > А это я и пытаюсь спросить. Я-то не против все упростить как только > можно. Но потом окажется, что есть разные тонкости. Есть референсные реализации blas и lapack, есть оптимизированные, притом оптимизации разные под разные профили нагрузки. Даже openblas можно собрать с openmp и threads (оба опционально) и для разных типов задач и нагрузки производителность разная будет. Ситуацию усложняет то, что кроме рефенернсных функций ряд библиотек предоставляет расширения, поэтому они более-менее взаимозаменяемы только по стандартному интерфейсу blas/lapack, но не по полному набору функций. Например, xblas даёт повышенную точность. Ещё не забывайте про cblas и lapacke (реализации на C). Atlas уникален тем, что подстраивается под конкретную систему, это ведь Automatically Tuned Linear Algebra System. И делает он это во время сборки: для каждой функции тестирует разные реализации и/или способы сборки и выбирает наиболее быструю. Очевидно, что оптимально на сборочнице, не будет оптимально на пользовательских машинах. Мало того, в зависимости от нагрузки сборочницы результат сборки пакета может оказаться разным, т.к. под высокой и низкой нагрузкой могут быть оптимальны разные оптимизации. Так что это очень крутая штука, чтоб предоставить удобный способ её сборки пользователям для своих систем, но не очень хорошо подходит для единой бинарной сборки для всех. Я бы предложил собрать всё что можно с openblas и в самом openblas включить поддержку как openmp, так и threads, но при этом сохранить альтернативные библиотеки для нуждающихся. Так же не исключено, что с openblas соберётся не всё. > > > Еще бы понять, какие клиенты используют эти библиотеки... > > > > Клиенты libatlas: > >- > > * libarpack-ng > > Спасибо за списки! libarpack - это нужная вещь, попробую > пересобрать. С ней собран, например, octave, он у меня > и втаскивает libatlas в систему. > > Остальное, получается, собрано правильно. Хотя с openblas надо бы > что-то сделать. Сейчас и configure и cmake уверены, что lapack находится > в нем, и вылетают на линковке, если делать сборку в дефолтной конфигурации. > Это исправляется явным указанием, что надо линковаться еще и с liblapack, > но хочется и дефолтное поведение сделать рабочим. > > _______________________________________________ > Devel mailing list > Devel@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/devel Best regards, Andrew Savchenko [-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2020-09-20 19:00 UTC|newest] Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-20 10:36 Vladislav Zavjalov 2020-09-20 13:28 ` Vladislav Zavjalov 2020-09-20 16:34 ` Vladimir D. Seleznev 2020-09-20 18:41 ` Vladislav Zavjalov 2020-09-20 18:53 ` Vladislav Zavjalov 2020-09-20 21:47 ` Vladimir D. Seleznev 2020-09-20 21:56 ` Vladislav Zavjalov 2020-09-21 19:54 ` Vitaly Lipatov 2020-09-21 20:10 ` Vladimir D. Seleznev 2020-09-22 3:44 ` Anton Farygin 2020-09-22 14:26 ` Igor Vlasenko 2020-09-20 19:00 ` Andrey Savchenko [this message] 2020-09-20 20:25 ` Vladislav Zavjalov 2020-09-21 19:24 ` Andrey Savchenko 2020-09-22 11:24 ` Vladimir D. Seleznev 2020-09-21 9:49 ` Ivan A. Melnikov 2020-09-21 10:25 ` Vladislav Zavjalov 2020-09-25 12:20 ` Anton Farygin 2020-09-25 12:55 ` Vladislav Zavjalov 2020-09-25 15:15 ` Anton Farygin 2020-09-25 15:48 ` Vladislav Zavjalov 2020-09-25 19:52 ` Andrey Savchenko 2020-09-28 8:19 ` Vladislav Zavjalov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200920220059.9db5e58134f75b472b94b6a2@altlinux.org \ --to=bircoph@altlinux.org \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git