ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
From: Alexey Tourbin <at@altlinux.ru>
To: ALT Linux Sisyphus discussion list <sisyphus@lists.altlinux.org>
Subject: Re: [sisyphus] ATLAS vs BLAS performance
Date: Mon, 5 Jun 2006 11:30:37 +0400
Message-ID: <20060605073037.GE18120@localhost.localdomain> (raw)
In-Reply-To: <200606051322.37569.pip@iszf.irk.ru>

[-- Attachment #1: Type: text/plain, Size: 2367 bytes --]

On Mon, Jun 05, 2006 at 01:22:37PM +0900, Valery Pipin wrote:
> Эта радость под g77?
> Alexey Tourbin wrote:
> >
> > Осталось только в сизиф это собрать, что непросто, потому что ATLAS
> > пытается всеми силами собираться под процессор хост-системы.  Я уже
> > понял, что там нужно отровать.  Пока идея такая: в /usr/lib собрать
> в дебиане атлас уже давно и под разные архитектуры. Можно
> посмотреть как у них сделано.

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

Одна из проблем вот в чем: можно *в принципе* собрать библиотеку с любой
оптимизацией, но её, быть может, нельзя будет протестировать в сборочной
среде.  То есть можно собрать на P166MMX библиотеку с SSE2, но ясно, что
любая проверка будет сулить обломом.  Однако же стандартная процедура
сборки atlas собирает не только саму библиотеку, но и всякие бинари --
мини тесты -- и тут же их запускает.

В дебиане сделали вот как: сначала собрали библиотеку на P166MMX и
сохранили лог сборки.  А потом написали скрипт -- парсер лога сборки,
который извлекает из лога сборки команды компиляции и скармливает их
шеллу.  Т.е. в упрощенном виде:

	./debian/ab лог_сборки_P166MMX |bash -ex

За счет этого удается собирать библиотеку с произвольными (всеми
возможными) оптимизациями.

В федоре extras собрано точно так же, там просто скопировали и
переработали debian/rules.

Что я об этом думаю: я так извращаться не собираюсь.  Я буду исходить их
того, что в сборочной среде можно выполнять SSE2 инструкции.  В этом
случае я понял, как сделать всё более-менее нормально.  Думаю, что
большая половина машин в нашей сборочной инфраструктуре умеет SSE2.
(На самом деле все P4 и все атлоны64/семпроны умеют SSE2).

Почему SSE2 -- может напишу в соседнем письме.  Суть в том, что под
каждый отдельный проц пакеты плодить не надо.  Предварительный benchmark
показывает, что от использования SSE2 по сравнению с неиспользованием
SSE2 выигрыш почти в два раза, а от подсройки под конкретный проц (уже в
пределах SSE2) -- порядка 10%.  К тому же с SSE2 есть готовое решение по
части ldconfig/ld-linux.so.2.  Достаточно пложить оптимизированную
библиотеку в /usr/lib/sse2.  А в дебиане что-то кладут в /etc/ld.so.conf.d.

Кстати в дебиане /usr/lib/libblas$suffix весит на альтернативах.  Ужос!

[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]

  reply	other threads:[~2006-06-05  7:30 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-04 21:05 Alexey Tourbin
2006-06-04 22:04 ` Ivan Adzhubey
2006-06-04 22:26   ` Alexey Tourbin
2006-06-05  1:17     ` Alexey Tourbin
2006-06-05  2:41       ` Alexey Tourbin
2006-06-05  4:22     ` Valery Pipin
2006-06-05  7:30       ` Alexey Tourbin [this message]
2006-06-05  7:45         ` Ivan Adzhubey
2006-06-05  6:19     ` Andrey Khavryuchenko
2006-06-05  7:50       ` Alexey Tourbin
2006-06-05  7:58         ` Andrey Khavryuchenko
2006-06-05 10:11         ` Alexey Tourbin
2006-06-06 11:14           ` Alexey Tourbin
2006-11-24 23:58             ` Alexey Tourbin
2006-06-05  7:53       ` Ivan Adzhubey
2006-06-05  7:57         ` Ivan Adzhubey
2006-06-05  9:36         ` Andrey Khavryuchenko

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=20060605073037.GE18120@localhost.localdomain \
    --to=at@altlinux.ru \
    --cc=sisyphus@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 Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/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 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git