[sisyphus] ATLAS vs BLAS performance

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пн Июн 5 06:41:47 MSD 2006


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, но остальное всё совпадает).
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20060605/0df845c4/attachment-0003.bin>


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