Информация об изменениях

Сообщение Re[15]: 64 бита для целого без вариантов - добро или зло? от 18.07.2023 5:18

Изменено 18.07.2023 5:22 netch80

Re[15]: 64 бита для целого без вариантов - добро или зло?
Здравствуйте, CreatorCray, Вы писали:

N>>Я про gmp уже упоминал. mpn/x86_64/gmp_mparam.h :


N>>
N>>#define GMP_LIMB_BITS 64
N>>#define MUL_TOOM22_THRESHOLD                27
N>>


N>>27*64 == 1728


CC>А как давно эта строка менялась?


Репа публичная, hg log напустить ты очевидно в состоянии.
https://gmplib.org/repo/gmp/

CC> Ибо с развитием железа скорость выполнения алгоритмов от обрабатываемого объёма данных весьма даже плавает.


Конкретно этот файл — общий для x86-64 всего целиком — менялся в 2011.
Но там есть ещё по каждой ходовой архитектуре свой файлик.
Например, самая последняя добавка mpn/x86_64/alderlake/gmp-mparam.h, там 13 (то есть 832 бита).
Перед этим zen3, там 20 (1280 бит).
Перед этим bd2, там 16 (1024 бита).
Перед этим bt1, там 24 (1536 бит).

Согласен, методически более верно было бы взять среднее между относительно последними Intel и AMD.
Re[15]: 64 бита для целого без вариантов - добро или зло?
Здравствуйте, CreatorCray, Вы писали:

N>>Я про gmp уже упоминал. mpn/x86_64/gmp_mparam.h :


N>>
N>>#define GMP_LIMB_BITS 64
N>>#define MUL_TOOM22_THRESHOLD                27
N>>


N>>27*64 == 1728


CC>А как давно эта строка менялась?


Репа публичная, hg log напустить ты очевидно в состоянии.
https://gmplib.org/repo/gmp/

CC> Ибо с развитием железа скорость выполнения алгоритмов от обрабатываемого объёма данных весьма даже плавает.


Конкретно этот файл — общий для x86-64 всего целиком — менялся в 2011.
Но там есть ещё по каждой ходовой архитектуре свой файлик.
Например, самая последняя добавка mpn/x86_64/alderlake/gmp-mparam.h, там 13 (то есть 832 бита).
Перед этим zen3, там 20 (1280 бит).
Перед этим bd2, там 16 (1024 бита).
Перед этим bt1, там 24 (1536 бит).

У skylake почему-то 26, хотя не древность. У zen3 больше чем у bd2, хотя она на десяток лет новее. Стабильности не наблюдается.

Согласен, методически более верно было бы взять среднее между относительно последними Intel и AMD.