LINUX.ORG.RU

Релиз 4.3.0 библиотеки GMP - GNU Multiple Precision Arithmetic Library

 ,


0

0

GMP - библиотека для высокоточных вычислений. Ключевые свойства:

  • поддержка целых чисел неограниченного размера (около 140 арифметических и логических функций)
  • поддержка рациональных чисел неограниченного размера (около 35 функций, плюс можно применять функции для целых по отдельности к числителю и к знаменателю)
  • поддержка действительных чисел произвольной точности (около 65 функций)
  • быстро работает как с большими, так и с не очень большими операндами
  • асимптотически быстрые алгоритмы
  • ассемблерный код для многих архитектур
  • интерфейс для языков Си и C++
  • совместимость с BSD MP

В данной версии значительно улучшен ассемблерный код для x86-64, улучшена работа на Alpha, PowerPC и Itanium, имеется ряд алгоритмических улучшений.

В число пользователей GMP, помимо перечисленных на странице проекта, входят компилятор GCC и известный коммерческий пакет Wolfram Mathematica.

>>> Подробности

★★★★★

Проверено: hibou ()

Re: Релиз 4.3.0 библиотеки GMP - GNU Multiple Precision Arithmetic Library

Последнее время много раз замечал, что ассемблерный код отнюдь не всегда быстрее того, что нагенерил компилятор. GCC же ж не совсем тупой, и порой может весьма залихватски циклы разворачивать, нашинковав их разными процессорно-специфичными операциями.

shutty ()

Re: Релиз 4.3.0 библиотеки GMP - GNU Multiple Precision Arithmetic Library

Блин, метки поставить забыл :(

Manhunt ★★★★★ ()

Re: Релиз 4.3.0 библиотеки GMP - GNU Multiple Precision Arithmetic Library

все правильно, в первую очередь-то на скорость влияет алгоритм. А развернуть цикл, убрать неиспользуемые переменные, пред вычислить что-то на этапе компиляции, запихнуть переменные в регистр - GCC умеет может и лучше человека... к тому же процессорно-специфичные операции он точно знает лучше.

programmist ()

Re: Релиз 4.3.0 библиотеки GMP - GNU Multiple Precision Arithmetic Library

очень хорошо.

GCC станет быстрее ?

Sylvia ★★★★★ ()

Re: Релиз 4.3.0 библиотеки GMP - GNU Multiple Precision Arithmetic Library

> А развернуть цикл, убрать неиспользуемые переменные, пред вычислить что-то на этапе компиляции, запихнуть переменные в регистр - GCC умеет может и лучше человека...

Смотря какой цикл, и смотря какого человека. По моим наблюдениям, gcc бывает весьма далек от совершенства.

Manhunt ★★★★★ ()

Re: Релиз 4.3.0 библиотеки GMP - GNU Multiple Precision Arithmetic Library

> GCC станет быстрее ?

Если и станет, то незначительно. бОльшую часть своего времени gcc проводит отнюдь не в процедурах gmp. На результаты компиляции это тем более влиять не должно.

Manhunt ★★★★★ ()

Re: Релиз 4.3.0 библиотеки GMP - GNU Multiple Precision Arithmetic Library

checking how to link with libgmp... /var/tmp/lib/libgmp.a
checking how to link with libgmpxx... /var/tmp/lib/libgmpxx.a /var/tmp/lib/libgmp.a
checking for the GMP library version 4.1.3 or above... no
configure: error: Cannot find GMP version 4.1.3 or higher.


PPL кстати новая libgmp не нравится )

configure:13421: ./conftest
Floating point exception

причем вот.. так

Sylvia ★★★★★ ()

Re: Релиз 4.3.0 библиотеки GMP - GNU Multiple Precision Arithmetic Library

> Последнее время много раз замечал, что ассемблерный код отнюдь не всегда быстрее того, что нагенерил компилятор. GCC же ж не совсем тупой, и порой может весьма залихватски циклы разворачивать, нашинковав их разными процессорно-специфичными операциями.

Когда работаешь с очень большими числами и это главная задача программы - там очень полезны cpu-специфичные вещи.

Большое спасибо авторам - имел честь использовать эту библиотеку, когда товарищ с аналогичной задачей умножал числа, пихая каждое по нескольким регистрам.

skwish ★★ ()

Re: Релиз 4.3.0 библиотеки GMP - GNU Multiple Precision Arithmetic Library

> запихнуть переменные в регистр - GCC умеет может и лучше человека...

В какой регистр залезет целое десятичное число в 120 знаков? А если 2 таких числа умножить?

skwish ★★ ()

Re: Релиз 4.3.0 библиотеки GMP - GNU Multiple Precision Arithmetic Library

совместимость с BDSM P

vasdi ()

Re: Релиз 4.3.0 библиотеки GMP - GNU Multiple Precision Arithmetic Library

Блин, а я подумал причем тут генеральный медицинский стандарт...

DNA_Seq ★★☆☆☆ ()

станет ли GCC быстрее?

сборка кода gmp 4.3.0 C и С++
-O3 -fomit-frame-pointer -march=core2 -ftree-vectorize -mfpmath=sse -mmmx -mssse3

gcc 4.4.0 20090412 / gmp 4.2.4 / mpfr 2.4.1 /ppl 0.10 /cloog 0.15
real 1m49.190s
user 1m18.575s
sys 0m27.142s

gcc 4.4.0 20090415 / gmp 4.3.0 / mpfr 2.4.1 / ppl 0.10.1 / cloog 0.15.3

real 1m50.317s
user 1m18.572s
sys 0m26.395s


ну вообщем понятно ^_^

Sylvia ★★★★★ ()
Ответ на: станет ли GCC быстрее? от Sylvia

Re: станет ли GCC быстрее?

угу, разница в рамках статистической погрешности, поэтому этот "тест" ни о чем не говорит

Reset ★★★★★ ()
Ответ на: Re: станет ли GCC быстрее? от Reset

Re: станет ли GCC быстрее?

отрицательный результат - тоже результат )

В данном случае никакого ускорения за счет GMP не получилось и наверняка в сборке других пакетов общего плана и не будет

Sylvia ★★★★★ ()
Ответ на: Re: станет ли GCC быстрее? от Reset

Re: станет ли GCC быстрее?

Юзертайм по сути совпал. Тест говорит о том, что gcc не ускорился и не замедлился - как и ожидалось.

Manhunt ★★★★★ ()

Re: Релиз 4.3.0 библиотеки GMP - GNU Multiple Precision Arithmetic Library

> проблема в том, что некоторые возомнившие себя крутыми ассемблеристами личности думают иначе.

Разве они все не вымерили ещё?

sv75 ★★★★★ ()

Re: Релиз 4.3.0 библиотеки GMP - GNU Multiple Precision Arithmetic Library

> проблема в том, что некоторые возомнившие себя крутыми ассемблеристами личности думают иначе.

"крутой ассемблерист" пишущий на ассемблере x86 - помесь мазохиста с Наполеоном. Не бывает.

ubber ()

Re: Релиз 4.3.0 библиотеки GMP - GNU Multiple Precision Arithmetic Library

>Последнее время много раз замечал, что ассемблерный код отнюдь не всегда быстрее того, что нагенерил компилятор. GCC же ж не совсем тупой, и порой может весьма залихватски циклы разворачивать, нашинковав их разными процессорно-специфичными операциями.

Навряд ли это относится к GMP - его ой как навряд ли идиоты писали, или будут конкретные цифры по GMP+asm vs GMP+c?

anonymouze ()

Re: Релиз 4.3.0 библиотеки GMP - GNU Multiple Precision Arithmetic Library

Значит ли это, что санктъпетербургские физики таки смогут моделировать ядерные взрывы на недавно подаренных SUN кластерах? Грили что аппаратной точности не хватает, дык вот вам программная эмуляция. Даже если в 10 раз медленнее, то особой разницы нет - 3 дня процесс считать или месяц.

xintrea ()

Re: Релиз 4.3.0 библиотеки GMP - GNU Multiple Precision Arithmetic Library

> Значит ли это, что санктъпетербургские физики таки смогут моделировать ядерные взрывы на недавно подаренных SUN кластерах?

Нет. GMP сто лет в обед, если они про неё раньше не знали -- то им оно либо не поможет, либо бесполезно.

sv75 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.