Сообщение 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>>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.
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>>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.
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.