Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 Сравнение YAFU версий 1.34.5, 3.0 и 3.1.1.
Аватара пользователя
Поэкспериментировал с программой для факторизации чисел YAFU указанных версий. Ничего категорически не утверждаю. Просто пара примеров.

Случайное 120-значное число (1 поток).
Код:
838717452085249425459772512043097314805180518508173945730407717351787832512260772406994301985401827519997114546472837506=
=2*7*103*11186177*1940416833182268677278445725033276675372505580538484771*26796230143128059081208921220111895284736999350985762779
Total factoring time = 26063.0583 seconds (YAFU 1.34.5)
Total factoring time = 24080.0341 seconds (YAFU 3.0)
Total factoring time = 16610.3383 seconds (YAFU 3.1.1)

143-значное число (3 потока).
Код:
(186624*21^8+1)^9-(559872*21^9+6*21)^8=
=79*5023*12460703*1443272587*169824738904244610210391966703653658029543081*34631517239406055909995263372799937460914868014546416852438318903088814484197
Total factoring time = 42739.6480 seconds (YAFU 1.34.5)
Total factoring time = 38125.8064 seconds(YAFU 3.0)

Что касается YAFU 3.1.1, то она быстро находит четыре наименьших множителя, после чего почти 23 часа пытается разложить оставшееся 121-значное произведение двух наибольших множителей.
Разложение она не находит и завершает работу, оставив в консоли сообщения
Код:
error -11: rational polyval not completely factored, residue = 70455932076730519
257415031
polyval was evaluated as -4650091517064214270989392046, buf: 5186943472,21435:11
93663,F694D,F4FC7,BCC27:21CE2DF,125116F7,1FC799,E80EB,2669,C5B,3730AB

error -11: rational polyval not completely factored, residue = 16231738843885666
383609643
polyval was evaluated as -3911849061376445598449923963, buf: 4324969455,18032:85
BD9D,76D,432BB,793F,1D41,E57:192E08D5,6F7,E8255,CAE3D,62581,4156D,2E1EF,3730AB

error -11: rational polyval not completely factored, residue = 44924525965970979
477482537
polyval was evaluated as -539094311591651753729790444, buf: -4383176222,2485:124
8C911,26ACC1,D3703,30DD9:525FF1,3D5C3D9,4A9,ACE43,8A155,682D,3730E7

error -11: rational polyval not completely factored, residue = 17966823737771739
04014797
polyval was evaluated as -885764410272146734679294921, buf: -4888886801,4083:13E
7B2A1,7A5E7,26C81:1B7B577,4E7DF29,244C37,483A7,1523B,11C9B,8FF9,3730E7

too many relation errors (> 10000), check your data file and try postprocessing
again (-nc)

d:\Математика\YAFU-3.1.1>

Последние сообщения в файле factor.log:
Код:
07/13/26 20:09:03, nfs: tid 2 returned 19922 rels in 51.948 sec; total 20179270 of 20200000 rels found (ETA: 0h 0m)
07/13/26 20:09:47, nfs: tid 0 returned 17855 rels in 46.677 sec; total 20197125 of 20200000 rels found (ETA: 0h 0m)
07/13/26 20:09:48, nfs: tid 1 returned 16934 rels in 44.226 sec; total 20214059 of 20200000 rels found (ETA: 0h 0m)
07/13/26 20:09:50, nfs: commencing msieve filtering

Повторный запуск с ключами -R и -nc через несколько секунд завершается с аналогичным сообщением.

Обнаружил также, что существуют версии YAFU вплоть до 3.1.9: https://github.com/bbuhrow/yafu/releases.

 Re: Сравнение YAFU версий 1.34.5, 3.0 и 3.1.1.
Каждую неделю по версии (3.1.1 -> 3.1.9) - не есть показатель стабильного продукта ...

-- добавлено через 11 минут --

Неудобство версии 3.1.9 - при (многопоточной) работе NFS не показывает ETA в консоли, только в factor.log.

 Re: Сравнение YAFU версий 1.34.5, 3.0 и 3.1.1.
Аватара пользователя
Dmitriy40 в сообщении #1727897 писал(а):
Каждую неделю по версии (3.1.1 -> 3.1.9) - не есть показатель стабильного продукта ...
Безусловно.

Dmitriy40 в сообщении #1727897 писал(а):
Неудобство версии 3.1.9 - при (многопоточной) работе NFS не показывает ETA в консоли, только в factor.log.
Да, я тоже заметил.

Кстати, я, кажется, понял, почему у меня ошибки попёрли. Я зря позарился на avx2. Видимо, в процессоре моего компьютера какие-то нужные команды не реализованы. Вчера скачал версию generic 3.1.9, и она разложила это злосчастное число $(186624\times 21^8+1)^9-(559872\times 21^9+6\times 21)^8$. Total factoring time = 30887.3523 seconds.

 Re: Сравнение YAFU версий 1.34.5, 3.0 и 3.1.1.
Someone в сообщении #1727921 писал(а):
Кстати, я, кажется, понял, почему у меня ошибки попёрли. Я зря позарился на avx2. Видимо, в процессоре моего компьютера какие-то нужные команды не реализованы
Нет, в таком случае программа вылетает по ошибке в винду, процессор не допускает выполнения неизвестных ему команд. Увидеть вживую это можно скачав и запустив версию avx512ifma.
Чтобы проверить свой процессор можно или посмотреть в session.log, там практически в начале будет строка типа
CPU features enabled: 07/13/26 22:40:59, SSE41 07/13/26 22:40:59, AVX2 07/13/26 22:40:59, BMI2 07/13/26 22:40:59,
или запустить в консоли команду wmic cpu get name для получения названия процессора и посмотреть в инете что именно он поддерживает.
В любом случае уж SSE4.1 поддерживаться должно, а значит версия sse41 лучше/быстрее generic.

 Re: Сравнение YAFU версий 1.34.5, 3.0 и 3.1.1.
Аватара пользователя
Dmitriy40 в сообщении #1727926 писал(а):
посмотреть в session.log, там практически в начале будет строка типа
CPU features enabled: 07/13/26 22:40:59, SSE41 07/13/26 22:40:59, AVX2 07/13/26 22:40:59, BMI2 07/13/26 22:40:59
Написано "CPU features enabled: 07/04/26 13:41:38, SSE41 07/04/26 13:41:38, AVX2 07/04/26 13:41:38, BMI2 07/04/26 13:41:38", так что моё предположение неверно.
Тогда непонятно. Можно грешить на ошибки в программе или на какие-то дефекты процессора. Но я, вроде бы, за ним никаких систематических грехов не замечал. И с разгоном никто не развлекался (когда-то давно-давно младший сын переусердствовал с разгоном, поскольку у него игра "тормозила", так тогда регулярно что-нибудь "вылетало" или неправильно считало). Попробую то число с версией avx2 3.1.9.

Dmitriy40 в сообщении #1727897 писал(а):
Неудобство версии 3.1.9 - при (многопоточной) работе NFS не показывает ETA в консоли, только в factor.log.
В однопоточном режиме — то же самое.

 Re: Сравнение YAFU версий 1.34.5, 3.0 и 3.1.1.
Версия 3.1.9 (остальные не проверял) у меня при работе NFS в 3 потока над первым числом выдала ближе к концу 4 ошибки "Error -98: что-то там дальше про relations", но только в консоль и не записал. Разложению это не помешало, завершилось правильно.
Ощущение что версии 3.1.х все сыроваты ...
Пока продолжу пользоваться 3.0.

-- добавлено через 13 минут --

Someone в сообщении #1727939 писал(а):
Можно грешить на ошибки в программе или на какие-то дефекты процессора. Но я, вроде бы, за ним никаких систематических грехов не замечал. И с разгоном никто не развлекался (когда-то давно-давно младший сын переусердствовал с разгоном, поскольку у него игра "тормозила", так тогда регулярно что-нибудь "вылетало" или неправильно считало).
Могу только посоветовать проверить память, например этим (под виндой, без перезагрузки): https://github.com/CoolCmd/TestMem5
Можно и проц чем-нибудь проверить, скажем AIDA64 или лучше OCCT.
Но Вы помнится частенько пользуетесь тестами простоты, они тоже хорошо грузят проц, так что его ошибки наверняка были бы давно обнаружены. Так что обе эти проверки (и проца и памяти) скорее для успокоения совести, чем реально нужные.

 Re: Сравнение YAFU версий 1.34.5, 3.0 и 3.1.1.
Someone в сообщении #1727892 писал(а):
d:\Математика\YAFU-3.1.1>
Не большой знаток в yafu, но на что-бы я обратил внимание:
1. Заменить директорию "Математика" на что-то англоязычное.
2. Ваш диск d: это, надеюсь, не флешка.
3. целостность ФС или блоков самого диска d: тоже может влиять.
(насколько помню yafu очень много кеширует, в директории исполнения, доходит до десятков гигабайт. Но это в зависимости от размерности исходного числа.)

 Re: Сравнение YAFU версий 1.34.5, 3.0 и 3.1.1.
По поводу "Error -98":
Цитата:
In this case, although those are indeed errors, they apply only to those 2 relations (out of at least 20 million). They are harmful only if there are very many of them. So I'm maintaining the original msieve library's terminology as errors, but deliberately not putting them in a log file or halting program execution unless more than 10,000 are found (indicating something worse is going wrong). I will consider just keeping/displaying a summary count and/or renaming to warnings.

 Re: Сравнение YAFU версий 1.34.5, 3.0 и 3.1.1.
Аватара пользователя
Я сталкивался со сбоями памяти DDR5. Эта зараза нагревалась так, что пальцем дотронуться было нельзя. После понижения частоты сбои исчезли.

 [ Сообщений: 9 ] 


Соглашение о конфиденциальности | Общие правила

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group