* [sisyphus] ATLAS vs BLAS performance @ 2006-06-04 21:05 Alexey Tourbin 2006-06-04 22:04 ` Ivan Adzhubey 0 siblings, 1 reply; 17+ messages in thread From: Alexey Tourbin @ 2006-06-04 21:05 UTC (permalink / raw) To: sisyphus [-- Attachment #1: Type: text/plain, Size: 325 bytes --] Я разобрался, как надо собирать ATLAS. Вот предварительный benchmark. Fortran BLAS: > mm <- matrix(rnorm(10^6), ncol = 10^3) > system.time(crossprod(mm)) [1] 1.572 0.004 1.580 0.000 0.000 ATLAS w/ SSE2: > mm <- matrix(rnorm(10^6), ncol = 10^3) > system.time(crossprod(mm)) [1] 0.344 0.020 0.369 0.000 0.000 [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] ATLAS vs BLAS performance 2006-06-04 21:05 [sisyphus] ATLAS vs BLAS performance Alexey Tourbin @ 2006-06-04 22:04 ` Ivan Adzhubey 2006-06-04 22:26 ` Alexey Tourbin 0 siblings, 1 reply; 17+ messages in thread From: Ivan Adzhubey @ 2006-06-04 22:04 UTC (permalink / raw) To: Sisyphus On Sunday 04 June 2006 17:05, Alexey Tourbin wrote: > Я разобрался, как надо собирать ATLAS. > Вот предварительный benchmark. > > Fortran BLAS: > > mm <- matrix(rnorm(10^6), ncol = 10^3) > > system.time(crossprod(mm)) > > [1] 1.572 0.004 1.580 0.000 0.000 > > ATLAS w/ SSE2: > > mm <- matrix(rnorm(10^6), ncol = 10^3) > > system.time(crossprod(mm)) > > [1] 0.344 0.020 0.369 0.000 0.000 А вот с GotoBLAS 1.2 (P4 2.8GHz, R 2.3.0): > mm <- matrix(rnorm(10^6), ncol = 10^3) > system.time(crossprod(mm)) [1] 0.232 0.012 0.270 0.000 0.000 -- Иван ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] ATLAS vs BLAS performance 2006-06-04 22:04 ` Ivan Adzhubey @ 2006-06-04 22:26 ` Alexey Tourbin 2006-06-05 1:17 ` Alexey Tourbin ` (2 more replies) 0 siblings, 3 replies; 17+ messages in thread From: Alexey Tourbin @ 2006-06-04 22:26 UTC (permalink / raw) To: sisyphus [-- Attachment #1: Type: text/plain, Size: 1805 bytes --] On Sun, Jun 04, 2006 at 06:04:54PM -0400, Ivan Adzhubey wrote: > On Sunday 04 June 2006 17:05, Alexey Tourbin wrote: > > Я разобрался, как надо собирать ATLAS. > > Вот предварительный benchmark. > > > > Fortran BLAS: > > > mm <- matrix(rnorm(10^6), ncol = 10^3) > > > system.time(crossprod(mm)) > > > > [1] 1.572 0.004 1.580 0.000 0.000 > > > > ATLAS w/ SSE2: > > > mm <- matrix(rnorm(10^6), ncol = 10^3) > > > system.time(crossprod(mm)) > > > > [1] 0.344 0.020 0.369 0.000 0.000 > > А вот с GotoBLAS 1.2 (P4 2.8GHz, R 2.3.0): > > > mm <- matrix(rnorm(10^6), ncol = 10^3) > > system.time(crossprod(mm)) > [1] 0.232 0.012 0.270 0.000 0.000 model name : AMD Athlon(tm) 64 Processor 3200+ cpu MHz : 2050.186 cache size : 512 KB R-2.3.1 Похоже, что процессор у Вас помощнее. Суть в том, что разница будет если и заментной, то не значительной. Учитывая то, что ATLAS -- это free software, а GotoBLAS -- проприетарный софт, то агитирую за ATLAS. :) Осталось только в сизиф это собрать, что непросто, потому что ATLAS пытается всеми силами собираться под процессор хост-системы. Я уже понял, что там нужно отровать. Пока идея такая: в /usr/lib собрать библиотеки с generic-оптимизацией на основе пресетов от PII; а в /usr/lib/sse2 собрать библиотеки с оптимизацией на основе пресетов от P4SSE2. По идее, ldconfig и/или ld-linux.so.2 смогут разрулить такую ситуацию как надо, примерно так же, как в случае с /lib и /lib/i686. Ну да это уже мои проблемы. В общем, если это будет работать из коробки как надо и если по сравнению с GotoBLAS разница будет не хуже, чем в полтора раза, тогда я буду доволелен. Потому что основной разрыв по сравнению с фортраном всё равно ликвидирован, а 10-20% на практике редко что решают. Посмотрим... [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] ATLAS vs BLAS performance 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 6:19 ` Andrey Khavryuchenko 2 siblings, 1 reply; 17+ messages in thread From: Alexey Tourbin @ 2006-06-05 1:17 UTC (permalink / raw) To: sisyphus [-- Attachment #1: Type: text/plain, Size: 1438 bytes --] On Mon, Jun 05, 2006 at 02:26:30AM +0400, Alexey Tourbin wrote: > On Sun, Jun 04, 2006 at 06:04:54PM -0400, Ivan Adzhubey wrote: > > On Sunday 04 June 2006 17:05, Alexey Tourbin wrote: > > > Я разобрался, как надо собирать ATLAS. > > > Вот предварительный benchmark. > > > > > > Fortran BLAS: > > > > mm <- matrix(rnorm(10^6), ncol = 10^3) > > > > system.time(crossprod(mm)) > > > > > > [1] 1.572 0.004 1.580 0.000 0.000 > > > > > > ATLAS w/ SSE2: > > > > mm <- matrix(rnorm(10^6), ncol = 10^3) > > > > system.time(crossprod(mm)) > > > > > > [1] 0.344 0.020 0.369 0.000 0.000 > > > > А вот с GotoBLAS 1.2 (P4 2.8GHz, R 2.3.0): > > > > > mm <- matrix(rnorm(10^6), ncol = 10^3) > > > system.time(crossprod(mm)) > > [1] 0.232 0.012 0.270 0.000 0.000 > > model name : AMD Athlon(tm) 64 Processor 3200+ > cpu MHz : 2050.186 > cache size : 512 KB > В общем, если это будет работать из коробки как надо и если по сравнению > с GotoBLAS разница будет не хуже, чем в полтора раза, тогда я буду > доволелен. Потому что основной разрыв по сравнению с фортраном всё > равно ликвидирован, а 10-20% на практике редко что решают. А вот ATLAS без оптимизации под P4SSE2: > mm <- matrix(rnorm(10^6), ncol = 10^3) > system.time(crossprod(mm)) [1] 0.584 0.012 0.624 0.000 0.000 Почти в два раза хуже, чем с SSE2 (но почти в три раза лучше, чем фортран). Значит стоит делать /usr/lib/sse2. [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] ATLAS vs BLAS performance 2006-06-05 1:17 ` Alexey Tourbin @ 2006-06-05 2:41 ` Alexey Tourbin 0 siblings, 0 replies; 17+ messages in thread From: Alexey Tourbin @ 2006-06-05 2:41 UTC (permalink / raw) To: sisyphus [-- Attachment #1: Type: text/plain, Size: 1979 bytes --] On Mon, Jun 05, 2006 at 05:17:09AM +0400, Alexey Tourbin wrote: > > > > ATLAS w/ SSE2: > > > > > mm <- matrix(rnorm(10^6), ncol = 10^3) > > > > > system.time(crossprod(mm)) > > > > > > > > [1] 0.344 0.020 0.369 0.000 0.000 ^^^^^^^^^^^^^^^^^ > > > А вот с GotoBLAS 1.2 (P4 2.8GHz, R 2.3.0): > > > > > > > mm <- matrix(rnorm(10^6), ncol = 10^3) > > > > system.time(crossprod(mm)) > > > [1] 0.232 0.012 0.270 0.000 0.000 > > > > model name : AMD Athlon(tm) 64 Processor 3200+ > > cpu MHz : 2050.186 > > cache size : 512 KB > > > В общем, если это будет работать из коробки как надо и если по сравнению > > с GotoBLAS разница будет не хуже, чем в полтора раза, тогда я буду > > доволелен. Потому что основной разрыв по сравнению с фортраном всё > > равно ликвидирован, а 10-20% на практике редко что решают. > > А вот ATLAS без оптимизации под P4SSE2: > > > mm <- matrix(rnorm(10^6), ncol = 10^3) > > system.time(crossprod(mm)) > [1] 0.584 0.012 0.624 0.000 0.000 А вот собранный под Athlon64 (HAMMER32SSE2, т.е. ближе всего к тому процессору, что у меня). > mm <- matrix(rnorm(10^6), ncol = 10^3) > system.time(crossprod(mm)) [1] 0.312 0.016 0.330 0.000 0.000 Т.е. немного лучше, чем для P4SSE2. (Набор инструкций в данном случае не отличается, отличаются только некоторые параметры управления L1/L2 кешем, или что там ещё). SSE2 сейчас является общим знаменателем для P4 и современных атлонов. Поскольку x86 ещё некоторое время будет существовать, то софт, для которого специфическая оптимизация имеет смысл (и дает существенный выигрыш, как в случае с числодробильными библиотеками), стоит собирать праллельно и ставить в /usr/lib/sse2. Правда, кроеме ATLAS сходу на ум ничего не приходит. А вообще надо переходить на x86_64, как я понимаю проблем с оптимизацией "под архитектуру" там будет гораздо меньше (т.е. в первых Athlon64 не было SSE3, а в P4 есс-но нет 3dNow, но остальное всё совпадает). [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] ATLAS vs BLAS performance 2006-06-04 22:26 ` Alexey Tourbin 2006-06-05 1:17 ` Alexey Tourbin @ 2006-06-05 4:22 ` Valery Pipin 2006-06-05 7:30 ` Alexey Tourbin 2006-06-05 6:19 ` Andrey Khavryuchenko 2 siblings, 1 reply; 17+ messages in thread From: Valery Pipin @ 2006-06-05 4:22 UTC (permalink / raw) To: ALT Linux Sisyphus discussion list Эта радость под g77? Alexey Tourbin wrote: > > Осталось только в сизиф это собрать, что непросто, потому что ATLAS > пытается всеми силами собираться под процессор хост-системы. Я уже > понял, что там нужно отровать. Пока идея такая: в /usr/lib собрать в дебиане атлас уже давно и под разные архитектуры. Можно посмотреть как у них сделано. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] ATLAS vs BLAS performance 2006-06-05 4:22 ` Valery Pipin @ 2006-06-05 7:30 ` Alexey Tourbin 2006-06-05 7:45 ` Ivan Adzhubey 0 siblings, 1 reply; 17+ messages in thread From: Alexey Tourbin @ 2006-06-05 7:30 UTC (permalink / raw) To: ALT Linux Sisyphus discussion list [-- 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 --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] ATLAS vs BLAS performance 2006-06-05 7:30 ` Alexey Tourbin @ 2006-06-05 7:45 ` Ivan Adzhubey 0 siblings, 0 replies; 17+ messages in thread From: Ivan Adzhubey @ 2006-06-05 7:45 UTC (permalink / raw) To: ALT Linux Sisyphus discussion list 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 весит на альтернативах. Ужос! В Федоре еще хуже, по крайней мере насколько я вижу. -- Иван ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] ATLAS vs BLAS performance 2006-06-04 22:26 ` Alexey Tourbin 2006-06-05 1:17 ` Alexey Tourbin 2006-06-05 4:22 ` Valery Pipin @ 2006-06-05 6:19 ` Andrey Khavryuchenko 2006-06-05 7:50 ` Alexey Tourbin 2006-06-05 7:53 ` Ivan Adzhubey 2 siblings, 2 replies; 17+ messages in thread From: Andrey Khavryuchenko @ 2006-06-05 6:19 UTC (permalink / raw) To: sisyphus Alexey, "AT" == Alexey Tourbin wrote: AT> On Sun, Jun 04, 2006 at 06:04:54PM -0400, Ivan Adzhubey wrote: >> On Sunday 04 June 2006 17:05, Alexey Tourbin wrote: >> > Я разобрался, как надо собирать ATLAS. >> > Вот предварительный benchmark. >> > >> > Fortran BLAS: >> > > mm <- matrix(rnorm(10^6), ncol = 10^3) >> > > system.time(crossprod(mm)) >> > >> > [1] 1.572 0.004 1.580 0.000 0.000 >> > >> > ATLAS w/ SSE2: >> > > mm <- matrix(rnorm(10^6), ncol = 10^3) >> > > system.time(crossprod(mm)) >> > >> > [1] 0.344 0.020 0.369 0.000 0.000 Когда можно ждать пакеты? >> А вот с GotoBLAS 1.2 (P4 2.8GHz, R 2.3.0): >> >> > mm <- matrix(rnorm(10^6), ncol = 10^3) >> > system.time(crossprod(mm)) >> [1] 0.232 0.012 0.270 0.000 0.000 AT> Похоже, что процессор у Вас помощнее. Суть в том, что разница будет AT> если и заментной, то не значительной. Учитывая то, что ATLAS -- это AT> free software, а GotoBLAS -- проприетарный софт, то агитирую за ATLAS. :) Я бы хотел/просил для GotoBLAS тоже сделать nosrc.rpm. И для ATLAS наверное тоже. [...] AT> В общем, если это будет работать из коробки как надо и если по сравнению AT> с GotoBLAS разница будет не хуже, чем в полтора раза, тогда я буду AT> доволелен. Потому что основной разрыв по сравнению с фортраном всё AT> равно ликвидирован, а 10-20% на практике редко что решают. Если бы... :( Когда расчёты идут месяцами, то 10-20% - весьма существенное время. Понятное дело, что при подобной постановке задачи надо оптимизировать пакет под конкретную хост-систему. Но хотелось бы всё же иметь максимум возможного "из коробки". -- Andrey V Khavryuchenko Software Development Company http://www.kds.com.ua/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] ATLAS vs BLAS performance 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-05 7:53 ` Ivan Adzhubey 1 sibling, 2 replies; 17+ messages in thread From: Alexey Tourbin @ 2006-06-05 7:50 UTC (permalink / raw) To: sisyphus [-- Attachment #1: Type: text/plain, Size: 1628 bytes --] On Mon, Jun 05, 2006 at 09:19:46AM +0300, Andrey Khavryuchenko wrote: > >> > [1] 0.344 0.020 0.369 0.000 0.000 > Когда можно ждать пакеты? Ждем ебилдов... :) С бласом всё нормально, осталось понять, что делать с лапаком, потому что он там реализован только частично (в частности, R-base'у атласного лапака не хватает). Завтра ждать можно. > Я бы хотел/просил для GotoBLAS тоже сделать nosrc.rpm. И для ATLAS > наверное тоже. Одна из проблем в чём: я ведь собираю разделяемые библиотеки, а лапак зависит от бласа. Следовательно, на стадии сборки лапака нужно решать, с каким бласом его линковать, либо вешать libblas$suffix на альтернативы, либо предусматривать в спеке возможность пересборки лапака с разными бласами. Статику я вообще собирать не хочу, потому что теперь мне стало ясно, что у разделяемых библиотек есть ещё одно преимущество: можно положить две библиотеки с разной оптимизацией в /usr/lib/lib$name$suffix и /usr/lib/sse2/lib$name$suffx, а ldconfig/ld-linux.so.2 выберет наилучший вариант на основе hwcap. Со статикой так не бываеет. > Если бы... :( Когда расчёты идут месяцами, то 10-20% - весьма существенное > время. > Понятное дело, что при подобной постановке задачи надо оптимизировать пакет > под конкретную хост-систему. Но хотелось бы всё же иметь максимум > возможного "из коробки". Я и хочу сделать максимум возможного их коробки, но не поступаясь принципами (типа вешать libblas на альтернативы или использовать проприетарный софт). Кстати atlas включает в себя gemm/ который потом стал проприетарным GotoBLAS. Так что должно получиться неплохо. [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] ATLAS vs BLAS performance 2006-06-05 7:50 ` Alexey Tourbin @ 2006-06-05 7:58 ` Andrey Khavryuchenko 2006-06-05 10:11 ` Alexey Tourbin 1 sibling, 0 replies; 17+ messages in thread From: Andrey Khavryuchenko @ 2006-06-05 7:58 UTC (permalink / raw) To: sisyphus Alexey, "AT" == Alexey Tourbin wrote: AT> On Mon, Jun 05, 2006 at 09:19:46AM +0300, Andrey Khavryuchenko wrote: >> >> > [1] 0.344 0.020 0.369 0.000 0.000 >> Когда можно ждать пакеты? AT> Ждем ебилдов... :) С бласом всё нормально, осталось понять, что делать AT> с лапаком, потому что он там реализован только частично (в частности, AT> R-base'у атласного лапака не хватает). AT> Завтра ждать можно. Спасибо. [...] >> Понятное дело, что при подобной постановке задачи надо оптимизировать пакет >> под конкретную хост-систему. Но хотелось бы всё же иметь максимум >> возможного "из коробки". AT> Я и хочу сделать максимум возможного их коробки, но не поступаясь AT> принципами (типа вешать libblas на альтернативы или использовать AT> проприетарный софт). Кстати atlas включает в себя gemm/ который потом AT> стал проприетарным GotoBLAS. Так что должно получиться неплохо. Оччень хорошо :) -- Andrey V Khavryuchenko Software Development Company http://www.kds.com.ua/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] ATLAS vs BLAS performance 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 1 sibling, 1 reply; 17+ messages in thread From: Alexey Tourbin @ 2006-06-05 10:11 UTC (permalink / raw) To: sisyphus [-- Attachment #1: Type: text/plain, Size: 1054 bytes --] On Mon, Jun 05, 2006 at 11:50:22AM +0400, Alexey Tourbin wrote: > On Mon, Jun 05, 2006 at 09:19:46AM +0300, Andrey Khavryuchenko wrote: > > >> > [1] 0.344 0.020 0.369 0.000 0.000 > > Когда можно ждать пакеты? > > Ждем ебилдов... :) С бласом всё нормально, осталось понять, что делать > с лапаком, потому что он там реализован только частично (в частности, > R-base'у атласного лапака не хватает). > > Завтра ждать можно. Эх! Дело осложняется SEGV. at@localhost ~build/LAPACK/TESTING 15 $ LD_LIBRARY_PATH=.. ./xeigtstd < dec.in Tests of the Nonsymmetric eigenproblem condition estimation routines DLALN2, DLASY2, DLANV2, DLAEXC, DTRSYL, DTREXC, DTRSNA, DTRSEN, DLAQTR Relative machine precision (EPS) = 0.444089D-15 Safe minimum (SFMIN) = 0.222507-307 Routines pass computational tests if test ratio is less than 20.00 DEC routines passed the tests of the error exits ( 35 tests done) zsh: segmentation fault LD_LIBRARY_PATH=.. ./xeigtstd < dec.in at@localhost ~build/LAPACK/TESTING 15 $ [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] ATLAS vs BLAS performance 2006-06-05 10:11 ` Alexey Tourbin @ 2006-06-06 11:14 ` Alexey Tourbin 2006-11-24 23:58 ` Alexey Tourbin 0 siblings, 1 reply; 17+ messages in thread From: Alexey Tourbin @ 2006-06-06 11:14 UTC (permalink / raw) To: sisyphus [-- Attachment #1: Type: text/plain, Size: 2132 bytes --] On Mon, Jun 05, 2006 at 02:11:45PM +0400, Alexey Tourbin wrote: > On Mon, Jun 05, 2006 at 11:50:22AM +0400, Alexey Tourbin wrote: > > On Mon, Jun 05, 2006 at 09:19:46AM +0300, Andrey Khavryuchenko wrote: > > > >> > [1] 0.344 0.020 0.369 0.000 0.000 > > > Когда можно ждать пакеты? > > > > Ждем ебилдов... :) С бласом всё нормально, осталось понять, что делать > > с лапаком, потому что он там реализован только частично (в частности, > > R-base'у атласного лапака не хватает). > > > > Завтра ждать можно. > > Эх! Дело осложняется SEGV. > > at@localhost ~build/LAPACK/TESTING 15 $ LD_LIBRARY_PATH=.. ./xeigtstd < dec.in > Tests of the Nonsymmetric eigenproblem condition estimation routines > DLALN2, DLASY2, DLANV2, DLAEXC, DTRSYL, DTREXC, DTRSNA, DTRSEN, DLAQTR > > Relative machine precision (EPS) = 0.444089D-15 > Safe minimum (SFMIN) = 0.222507-307 > > Routines pass computational tests if test ratio is less than 20.00 > > > DEC routines passed the tests of the error exits ( 35 tests done) > zsh: segmentation fault LD_LIBRARY_PATH=.. ./xeigtstd < dec.in > at@localhost ~build/LAPACK/TESTING 15 $ В результате изнуряющих опытов обнаружено следующее: все сборки с sse2 сегфолтятся. В частности, а) сегофолтится сам atlas, если попросить его сделать 'make sanity_test'; б) сегфолтится один из тестов при сборке лапака. В сборке без sse2 сегфолтов нет. В сборке для x86_64 один из тестов лапака входит в бесконечный цикл. Также при сборке лапака для x86_64 не удается выполнить большее количество тестов. В результате в сизиф уходит сборка без sse2 для i586 и частично сломанная сборка для x86_64. Однако 'make check' от R-base в последнем случае выполняется нормально (как и в первом). Если у кого-то окажется достаточно квалификации и времени для того, чтобы расковырять сегфолт в sse2-сборке -- прошу: rpm --rebuild --with sse2 atlas-3.7.11-alt1.src.rpm Кстати в других дистрибутивах я вообще не видел, чтобы кто-то что-то вроде 'make test' пробовал сделать -- почему-то только мне в голову такие крамольные мысли приходят. [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] ATLAS vs BLAS performance 2006-06-06 11:14 ` Alexey Tourbin @ 2006-11-24 23:58 ` Alexey Tourbin 0 siblings, 0 replies; 17+ messages in thread From: Alexey Tourbin @ 2006-11-24 23:58 UTC (permalink / raw) To: sisyphus [-- Attachment #1: Type: text/plain, Size: 1239 bytes --] On Tue, Jun 06, 2006 at 03:14:45PM +0400, Alexey Tourbin wrote: > В результате изнуряющих опытов обнаружено следующее: все сборки с sse2 > сегфолтятся. В частности, а) сегофолтится сам atlas, если попросить его > сделать 'make sanity_test'; б) сегфолтится один из тестов при сборке > лапака. > > В сборке без sse2 сегфолтов нет. > > В сборке для x86_64 один из тестов лапака входит в бесконечный цикл. > Также при сборке лапака для x86_64 не удается выполнить большее > количество тестов. > > В результате в сизиф уходит сборка без sse2 для i586 и частично > сломанная сборка для x86_64. Однако 'make check' от R-base в последнем > случае выполняется нормально (как и в первом). > > Если у кого-то окажется достаточно квалификации и времени для того, чтобы > расковырять сегфолт в sse2-сборке -- прошу: > > rpm --rebuild --with sse2 atlas-3.7.11-alt1.src.rpm > > Кстати в других дистрибутивах я вообще не видел, чтобы кто-то что-то > вроде 'make test' пробовал сделать -- почему-то только мне в голову такие > крамольные мысли приходят. Проблема локализована; скоро будет мега-оптимизированный ATLAS, по скорости сравнимый c GotoBLAS (в /usr/lib/sse2/ будет лежать мега-оптимизированный libatlas.so). [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] ATLAS vs BLAS performance 2006-06-05 6:19 ` Andrey Khavryuchenko 2006-06-05 7:50 ` Alexey Tourbin @ 2006-06-05 7:53 ` Ivan Adzhubey 2006-06-05 7:57 ` Ivan Adzhubey 2006-06-05 9:36 ` Andrey Khavryuchenko 1 sibling, 2 replies; 17+ messages in thread From: Ivan Adzhubey @ 2006-06-05 7:53 UTC (permalink / raw) To: ALT Linux Sisyphus discussion list On Monday 05 June 2006 02:19, Andrey Khavryuchenko wrote: > Alexey, > > "AT" == Alexey Tourbin wrote: > > AT> On Sun, Jun 04, 2006 at 06:04:54PM -0400, Ivan Adzhubey wrote: > >> On Sunday 04 June 2006 17:05, Alexey Tourbin wrote: > >> > Я разобрался, как надо собирать ATLAS. > >> > Вот предварительный benchmark. > >> > > >> > Fortran BLAS: > >> > > mm <- matrix(rnorm(10^6), ncol = 10^3) > >> > > system.time(crossprod(mm)) > >> > > >> > [1] 1.572 0.004 1.580 0.000 0.000 > >> > > >> > ATLAS w/ SSE2: > >> > > mm <- matrix(rnorm(10^6), ncol = 10^3) > >> > > system.time(crossprod(mm)) > >> > > >> > [1] 0.344 0.020 0.369 0.000 0.000 > > Когда можно ждать пакеты? > > >> А вот с GotoBLAS 1.2 (P4 2.8GHz, R 2.3.0): > >> > mm <- matrix(rnorm(10^6), ncol = 10^3) > >> > system.time(crossprod(mm)) > >> > >> [1] 0.232 0.012 0.270 0.000 0.000 > > AT> Похоже, что процессор у Вас помощнее. Суть в том, что разница будет > AT> если и заментной, то не значительной. Учитывая то, что ATLAS -- это > AT> free software, а GotoBLAS -- проприетарный софт, то агитирую за ATLAS. > :) > > Я бы хотел/просил для GotoBLAS тоже сделать nosrc.rpm. И для ATLAS > наверное тоже. С GotoBLAS наверное будут проблемы с лицензией. Хотя она и стала open source недавно, а сам Гото наверняка был бы только рад отдать проект под GPL, но его университет скорее всего этого не допустит. Могу впрочем у него спросить, что он по этому поводу думает. UT Austin - это частный университет, а в частных лавочках тут с technology transfer очень строго. Мы пока как-то обходим, но я сталкивался с ребятами из этого отдела (у нас тоже частная лавочка, как и большинство американских исследовательских институтов), так в советские времена с "первым" отделом и то проще было договориться. -- Иван -- Иван ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] ATLAS vs BLAS performance 2006-06-05 7:53 ` Ivan Adzhubey @ 2006-06-05 7:57 ` Ivan Adzhubey 2006-06-05 9:36 ` Andrey Khavryuchenko 1 sibling, 0 replies; 17+ messages in thread From: Ivan Adzhubey @ 2006-06-05 7:57 UTC (permalink / raw) To: ALT Linux Sisyphus discussion list On Monday 05 June 2006 03:53, Ivan Adzhubey wrote: > > Я бы хотел/просил для GotoBLAS тоже сделать nosrc.rpm. И для ATLAS > > наверное тоже. > > С GotoBLAS наверное будут проблемы с лицензией. Хотя она и стала open > source недавно, а сам Гото наверняка был бы только рад отдать проект под > GPL, но его университет скорее всего этого не допустит. Могу впрочем у него > спросить, что он по этому поводу думает. UT Austin - это частный > университет, а в частных лавочках тут с technology transfer очень строго. > Мы пока как-то обходим, но я сталкивался с ребятами из этого отдела (у нас > тоже частная лавочка, как и большинство американских исследовательских > институтов), так в советские времена с "первым" отделом и то проще было > договориться. Ошибся, оказывается UT Austin - это public university. Тогда еще не все потеряно... -- Иван ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] ATLAS vs BLAS performance 2006-06-05 7:53 ` Ivan Adzhubey 2006-06-05 7:57 ` Ivan Adzhubey @ 2006-06-05 9:36 ` Andrey Khavryuchenko 1 sibling, 0 replies; 17+ messages in thread From: Andrey Khavryuchenko @ 2006-06-05 9:36 UTC (permalink / raw) To: sisyphus Ivan, "IA" == Ivan Adzhubey wrote: IA> On Monday 05 June 2006 02:19, Andrey Khavryuchenko wrote: >> Я бы хотел/просил для GotoBLAS тоже сделать nosrc.rpm. И для ATLAS >> наверное тоже. IA> С GotoBLAS наверное будут проблемы с лицензией. Вот поэтому и nosrc.rpm - только с инструкциями для сборки и инсталляции. -- Andrey V Khavryuchenko Software Development Company http://www.kds.com.ua/ ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2006-11-24 23:58 UTC | newest] Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2006-06-04 21:05 [sisyphus] ATLAS vs BLAS performance 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 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
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