The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Программирование SIMD библиотек на Fasm в x86-64 Linux"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Библиотеки, функции)
Изначальное сообщение [ Отслеживать ]

"Программирование SIMD библиотек на Fasm в x86-64 Linux"  +/
Сообщение от Jack Black email(ok) on 23-Авг-12, 23:55 
Начал недавно проект по разработке SIMD бибилиотек для С++ на Fasm под 64-bit Linux.
Интересно услышать мнение матерых программеров как о самом проекте, так и качестве кода.
Вот вебсайт, где можно качнуть исходники и посмотреть документацию, которая уже есть.
http://linasm.sourceforge.net/docs/index.php
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Программирование SIMD библиотек на Fasm в x86-64 Linux"  +/
Сообщение от Аноним (??) on 28-Авг-12, 18:36 
> Начал недавно проект по разработке SIMD бибилиотек для С++ на Fasm под
> 64-bit Linux.
> Интересно услышать мнение матерых программеров как о самом проекте, так и качестве
> кода.
> Вот вебсайт, где можно качнуть исходники и посмотреть документацию, которая уже есть.
> http://linasm.sourceforge.net/docs/index.php

Нет бенчмарков, что настораживает. Или есть?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Программирование SIMD библиотек на Fasm в x86-64 Linux"  +/
Сообщение от Jack Black (ok) on 28-Авг-12, 19:01 
>> Начал недавно проект по разработке SIMD бибилиотек для С++ на Fasm под
>> 64-bit Linux.
>> Интересно услышать мнение матерых программеров как о самом проекте, так и качестве
>> кода.
>> Вот вебсайт, где можно качнуть исходники и посмотреть документацию, которая уже есть.
>> http://linasm.sourceforge.net/docs/index.php
> Нет бенчмарков, что настораживает. Или есть?

Есть. Их код вот тут: http://sourceforge.net/projects/linasm/files/SpeedTests.tar....
А результаты тестов вот они.

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 42
model name      : Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz
stepping        : 7
cpu MHz         : 3160.503
cache size      : 6144 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 5
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc rep_good pni ssse3 lahf_lm
bogomips        : 6321.00
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:
################################################################################
#       Numbers conversion library speed test                                  #
################################################################################
This test converts 1000000 numbers in 100 rounds.

Integer numbers conversion:
===========================

Octal numbers conversion:
    'sscanf' time: 19.755847 sec
    'strtoul' time: 5.476777 sec
    'LinAsm' time: 2.952698 sec

Hexadecimal numbers conversion:
    'sscanf' time: 19.364499 sec
    'strtoul' time: 6.264688 sec
    'LinAsm' time: 4.190943 sec

Decimal numbers conversion:
    'sscanf' time: 18.347976 sec
    'strtoul' time: 5.220468 sec
    'LinAsm' time: 2.785372 sec

Floating-point numbers conversion:
==================================

Hexadecimal numbers conversion:
    'sscanf' time: 26.137860 sec
    'strtod' time: 10.961610 sec
    'LinAsm' time: 5.795652 sec

Decimal numbers conversion:
    'sscanf' time: 27.214856 sec
    'strtod' time: 15.222347 sec
    'LinAsm' time: 2.954274 sec
################################################################################
#       Time conversion library speed test                                     #
################################################################################
This test converts 1000000 time stamps in 100 rounds.

Unix time to Gregorian date conversion:
    'gmtime' time: 4.228890 sec
    'LinAsm' time: 2.284649 sec

Gregorian date to unix time conversion:
    'mktime' time: 122.046674 sec        # Это не шибка. Такой вот код в libc
    'LinAsm' time: 1.005384 sec

################################################################################
#       Array library speed test                                               #
################################################################################
This test operates on 10000000 elements wide flt64_t arrays in 100 rounds.

Addition:
    Classic scalar code time: 1.407980 sec
    LinAsm vector code time: 1.379985 sec

Subtraction:
    Classic scalar code time: 1.426498 sec
    LinAsm vector code time: 1.379655 sec

Multiplication:
    Classic scalar code time: 1.397805 sec
    LinAsm vector code time: 1.386163 sec

Division:
    Classic scalar code time: 6.425936 sec
    LinAsm vector code time: 3.445004 sec

Absolute value:
    Classic scalar code time: 1.008767 sec
    LinAsm vector code time: 0.921362 sec

Square root value:
    Classic scalar code time: 11.988184 sec
    LinAsm vector code time: 2.745969 sec

Min value:
    Classic scalar code time: 1.329877 sec
    LinAsm vector code time: 0.665184 sec

Max value:
    Classic scalar code time: 1.320772 sec
    LinAsm vector code time: 0.665314 sec

Convolution value:
    Classic scalar code time: 1.269394 sec
    LinAsm vector code time: 1.083574 sec

Sorting:
    Classic Quick Sort code time: 1.848767 sec
    LinAsm Quick Sort code time: 0.770507 sec
    LinAsm Radix Sort code time: 0.332851 sec

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Программирование SIMD библиотек на Fasm в x86-64 Linux"  +/
Сообщение от Jack Black email(ok) on 30-Авг-12, 01:05 
>> Начал недавно проект по разработке SIMD бибилиотек для С++ на Fasm под
>> 64-bit Linux.
>> Интересно услышать мнение матерых программеров как о самом проекте, так и качестве
>> кода.
>> Вот вебсайт, где можно качнуть исходники и посмотреть документацию, которая уже есть.
>> http://linasm.sourceforge.net/docs/index.php
> Нет бенчмарков, что настораживает. Или есть?

Сделал специальную страницу, сравнивающую производительность библиотек для тех функций, которые имеют аналоги в GNU libc. Многие их не имеют, так что тесты сравнивают лишь небольшой набор одинаковых по функционалу алгоритмов. Графики прилагаются.

Ссылка на тесты вот: http://linasm.sourceforge.net/about/performance.php

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру