From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 05 Jun 2006 03:45:24 -0400 From: Ivan Adzhubey In-reply-to: <20060605073037.GE18120@localhost.localdomain> To: ALT Linux Sisyphus discussion list Message-id: <200606050345.25179.iadzhubey@rics.bwh.harvard.edu> MIME-version: 1.0 Content-type: text/plain; charset=koi8-r Content-transfer-encoding: 8BIT Content-disposition: inline References: <20060604210546.GA18120@localhost.localdomain> <200606051322.37569.pip@iszf.irk.ru> <20060605073037.GE18120@localhost.localdomain> User-Agent: KMail/1.9.1 Subject: Re: [sisyphus] ATLAS vs BLAS performance X-BeenThere: sisyphus@lists.altlinux.org X-Mailman-Version: 2.1.7 Precedence: list Reply-To: ALT Linux Sisyphus discussion list List-Id: ALT Linux Sisyphus discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2006 07:45:47 -0000 Archived-At: List-Archive: List-Post: On Monday 05 June 2006 03:30, Alexey Tourbin wrote: > 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. Боюсь, это не остановит хардкорных "считателей" от упорной самостоятельной оптимизации. Меня - не остановит ;-) Но если получится хотя бы под SSE2 оптимизировать из коробки - это уже отлично. > Кстати в дебиане /usr/lib/libblas$suffix весит на альтернативах. Ужос! В Федоре еще хуже, по крайней мере насколько я вижу. -- Иван