[devel] война с оптеронами

Michael Shigorin mike на osdn.org.ua
Пт Апр 8 20:27:13 UTC 2011


On Sat, Apr 09, 2011 at 02:24:10AM +0700, REAL wrote:
> минимум для этого пакета - оптерон, ниже - уже плохо. но вот
> если бы его можно было собрать для P6, оно будет работать
> быстрее и на более современных камнях. в любом случае,
> собранный даже под мой камень (он совсем старый, P4), он
> работает быстрее ATLAS.

Не спеши (особенно всё вверх по стеку на него перетаскивать).

У нас пару лет назад делали сравнения, atlas на x86_64 отставал
от goto примерно на 10%, MKL его немного опережал (порядка
процента).  P4 -- настолько специфический (и тупиковый) случай,
что по нему бенчмаркать точно не стоит.

Извини, что с разбегу обрадовался насчёт goto и не потрудился
посмотреть внимательней, а что дали-то.  Оно хоть и заточено
вплоть до Nehalem, но дальше точиться, насколько пока видно,
не будет -- все уже пилят atlas, в т.ч. и ассемблерными
оптимизациями.

Есть ещё одна крупная неприятность с generic x86 в goto: оно там
сломано.  Ближе к совсем.  Для того, чтоб хотя бы не выпадало с
error, нужен приложенный патч.

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/
----------- следующая часть -----------
diff -urN GotoBLAS2/driver/others/dynamic.c GotoBLAS2.tmc/driver/others/dynamic.c
--- GotoBLAS2/driver/others/dynamic.c	2010-01-20 18:28:45.000000000 +0200
+++ GotoBLAS2.tmc/driver/others/dynamic.c	2010-09-07 20:26:24.000000000 +0300
@@ -181,9 +181,9 @@
   gotoblas = get_coretype();
   
 #ifdef ARCH_X86
-  if (gotoblas == NULL) gotoblas = gotoblas_KATMAI;
+  if (gotoblas == NULL) gotoblas = &gotoblas_KATMAI;
 #else
-  if (gotoblas == NULL) gotoblas = gotoblas_PRESCOTT;
+  if (gotoblas == NULL) gotoblas = &gotoblas_PRESCOTT;
 #endif
   
   if (gotoblas && gotoblas -> init) {


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