2014 dxdy logo

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

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




На страницу Пред.  1 ... 291, 292, 293, 294, 295  След.
 
 Re: Пентадекатлон мечты
Сообщение03.02.2026, 19:31 
Аватара пользователя
wrest
Спасибо!

 
 
 
 Re: Пентадекатлон мечты
Сообщение03.02.2026, 20:02 
EUgeneUS в сообщении #1717164 писал(а):
Спасибо!

Ну, можно передохнуть и подумать о линуксе :mrgreen:

pcoul, кстати, насколько я понял, не "родное" вендовое приложение, а юниксовое (линуксовое) "обёрнутое" в cygwin1.dll (думаю вряд ли это хоть как-то заметно влияет на производительность). но удивительно компактное, учитывая что оно требует libgmp и ещё один [перловый] модуль.

 
 
 
 Re: Пентадекатлон мечты
Сообщение03.02.2026, 20:56 
Аватара пользователя
wrest в сообщении #1717171 писал(а):
Ну, можно передохнуть и подумать о линуксе :mrgreen:


Пока не знаю....
На компах второй системой развернул МинтЛинукс.
Но пока даже не разбирался - как собирать приложение из исходников на github'е. :roll:

wrest в сообщении #1717171 писал(а):
pcoul, кстати, насколько я понял, не "родное" вендовое приложение, а юниксовое (линуксовое) "обёрнутое" в cygwin1.dll (думаю вряд ли это хоть как-то заметно влияет на производительность). но удивительно компактное, учитывая что оно требует libgmp и ещё один [перловый] модуль.


Да, судя по всему и разъяснениям Хуго, так оно и есть.
Причем сборки по венды продолжают удивлять.
Например, сборка для Win7 у меня под Win11 работает нормально. И даже вроде незначительно быстрее, чем сборка для Win11.
Но при массовом запуске этой сборки под Win11 запустилось только 30 с чем-то потоков вместо 50, а в рабочем каталоге появился dump.
Массовый запуск сборки под Win11 - полёт нормальный, запустились 50 потоков из 50.

 
 
 
 Re: Пентадекатлон мечты
Сообщение04.02.2026, 04:17 
wrest в сообщении #1717171 писал(а):
но удивительно компактное, учитывая что оно требует libgmp и ещё один [перловый] модуль.
Just to be clear: pcoul itself does not use any perl code, and does not need perl to build or run - it uses the C code from the Math-Prime-Util-GMP module for factorization, though I have heavily hacked the core function to make it run faster in this context.

 
 
 
 Re: Пентадекатлон мечты
Сообщение04.02.2026, 07:14 
Аватара пользователя
Сделаю очередной прогноз.
D(24,20) найдётся до конца календарной весны (может быть даже до наступления астрономической весны) в 47-48-значных числах.

 
 
 
 Re: Пентадекатлон мечты
Сообщение04.02.2026, 09:36 
wrest в сообщении #1717171 писал(а):
pcoul, кстати, насколько я понял, не "родное" вендовое приложение, а юниксовое (линуксовое) "обёрнутое" в cygwin1.dll (думаю вряд ли это хоть как-то заметно влияет на производительность). но удивительно компактное, учитывая что оно требует libgmp и ещё один [перловый] модуль.
Да.
Цигвин это только "прокси" для работы приложения.
В том смысле, что создает линукс подобное окружение (по вызовам) для исполнения программы.
Что не очень красиво.
Когда-то давно я предлагал Hugo варианты для нативной компиляции под виндой с помощью clang и gcc.
Тогда бы код одинаково собирался под разные системы с нативным исполнением без всяких dll.
Но он отказался. Его право.
Там нужно было немного перестроить текущий код по вызовам и все работало, насколько я помню.
Где-то даже оставались варианты такой переделки, если я правильно помню.

Как Hugo уже написал, используется Math-Prime-Util-GMP, который собственно и подтягивает функции из libgmp.
При этом, честно говоря, сам код Math-Prime-Util-GMP оставляет желать лучшего...
Чекал его когда-то давно на предмет правильности определения переменных и вызовов.
Мрак. Но дяде, разработчику Math-Prime-Util-GMP, на это как-то по барабану, к сожалению.
EUgeneUS в сообщении #1717178 писал(а):
Причем сборки по венды продолжают удивлять.
Например, сборка для Win7 у меня под Win11 работает нормально. И даже вроде незначительно быстрее,
В моем случае было замедление, если я правильно помню, но не значительное.
Цитата:
чем сборка для Win11.
Но при массовом запуске этой сборки под Win11 запустилось только 30 с чем-то потоков вместо 50, а в рабочем каталоге появился dump.
дамп - признак серьезного вылета программы по исключению, как правило с доступом к памяти...
Цитата:
Массовый запуск сборки под Win11 - полёт нормальный, запустились 50 потоков из 50.
Все верно.

 
 
 
 Re: Пентадекатлон мечты
Сообщение04.02.2026, 10:07 
DemISdx в сообщении #1717194 писал(а):
Тогда бы код одинаково собирался под разные системы с нативным исполнением без всяких dll.

Без всяких не выйдет - из-за libgmp (которую как мне кажется правильно было бы собирать на месте под имеющуюся архитектуру, т.к. там интенсивно используется оптимизация под CPU).

 
 
 
 Re: Пентадекатлон мечты
Сообщение04.02.2026, 13:58 
wrest в сообщении #1717196 писал(а):
DemISdx в сообщении #1717194 писал(а):
Тогда бы код одинаково собирался под разные системы с нативным исполнением без всяких dll.

Без всяких не выйдет - из-за libgmp (которую как мне кажется правильно было бы собирать на месте под имеющуюся архитектуру, т.к. там интенсивно используется оптимизация под CPU).
Выйдет.
Проверялось.

(Оффтоп)

Да и в проекте SPT у меня такое использовалось.
Там тоже была Math-Prime-Util-GMP, тянущая за собой libgmp.
Это делалось специально, чтобы избежать ошибок:
либо отсутствия,
либо наличия на компе иной версии,
либы libgmp.
Все задавалось опциями компиляции и в конечный бинарник попадали только нужные вызовы.

Нашел вариант для Hugo:
Код:
clang -o pcoul [math]${CC_OPT} -DSTANDALONE -s -static-libgcc -static coul.c $[/math]{COUL} [math]${CFACTOR} -I$[/math]{MPUGMP} -I/usr/local/include -L/usr/local/lib -lgmp -lm -lrt
Но не уверен, что последний...
За включение всего и вся (из используемого мат.апарата gmp в конкретной программе) в один исполняемый файл отвечают -DSTANDALONE -s -static-libgcc -static
Код:
Size binary:
-rwxr-xr-x  1 root   demis  2025136 Dec  2 20:19 pcoul
-rwxr-xr-x  1 root   demis  2025136 Dec  2 20:19 pcoul-18a2
-rwxr-xr-x  1 root   demis   399362 Dec  5 14:47 pcoul-18a2-clang-v1
-rwxr-xr-x  1 root   demis  1215872 Dec  5 17:37 pcoul-18a2-clang-v2-static

 
 
 
 Re: Пентадекатлон мечты
Сообщение04.02.2026, 16:09 
DemISdx в сообщении #1717209 писал(а):
Там тоже была Math-Prime-Util-GMP, тянущая за собой libgmp.

Тут как я понимаю, не "тоже", а основной код pcoul использует gmp и для своих нужд -- поделить там, умножить... Нуда ладно, не суть.

 
 
 
 Re: Пентадекатлон мечты
Сообщение04.02.2026, 16:38 
Там не совсем деление, умножение, используется.
Там проверка на простоту и получение следующего простого числа:
Код:
cat coul.c |grep "_GMP_"
    _GMP_destroy();
    _GMP_init();
    _GMP_next_prime(Z(np_p));
        _GMP_next_prime(pz);
        _GMP_next_prime(pz);
    return _GMP_is_prob_prime(Z(wv_cand));
    return _GMP_is_prob_prime(Z(wv_cand));
                if (!_GMP_is_prob_prime(Z(wv_r))) {
            if (_GMP_is_prob_prime(Z(j4p))) {
                if (_GMP_is_prob_prime(Z(j4p))) {
Но, согласен, не суть важно...

 
 
 
 Re: Пентадекатлон мечты
Сообщение04.02.2026, 17:23 

(Оффтоп)

DemISdx в сообщении #1717230 писал(а):
Там не совсем деление, умножение, используется.

В основном коде pcoul используются типы данных gmplib, ессно, и функции типа mpz_ и gmp_ из gmplib, например mpz_lcm, mpz_add, mpz_mul, mpz_divexact и т.п. Иначе как ещё большими числами манипулировать? А от модуля Math-Prime-Util-GMP используются функции факторизации, которые сами, ессно используют функции gmplib (т.к. в самой gmplib нет функций факторизации типа Pollard-Rho, ECM и т.п., в gmplib только более-менее простая арифметика).

 
 
 
 Re: Пентадекатлон мечты
Сообщение04.02.2026, 19:38 
Аватара пользователя
DemISdx в сообщении #1717230 писал(а):
cat coul.c |grep "_GMP_"


wrest в сообщении #1717238 писал(а):
В основном коде pcoul используются типы данных gmplib, ессно, и функции типа mpz_ и gmp_ из gmplib, например mpz_lcm, mpz_add, mpz_mul, mpz_divexact и т.п. Иначе как ещё большими числами манипулировать?


Добавлю, что типы и классы традиционно объявляются в хидерах (.h), а не в .c

 
 
 
 Re: Пентадекатлон мечты
Сообщение05.02.2026, 11:27 
Аватара пользователя
EUgeneUS в сообщении #1717192 писал(а):
Сделаю очередной прогноз.
D(24,20) найдётся до конца календарной весны (может быть даже до наступления астрономической весны) в 47-48-значных числах.

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

wrest, ну то есть когда мы говорим "ласточка" или "дрофа", вам непонятно про что идёт речь? А когда Демис сказал про SPT, это понятно про что?

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

 
 
 
 Re: Пентадекатлон мечты
Сообщение05.02.2026, 11:38 
Yadryara в сообщении #1717279 писал(а):
ну то есть когда мы говорим "ласточка" или "дрофа", вам непонятно про что идёт речь? А когда Демис сказал про SPT, это понятно про что?

Я просто не вникаю в чем разница между ласточками и дрофами. Я когда вижу в теме большое число, то иногда запускаю такой скриптик
Код:
divlen(n)={my(tau=numdiv(n));my(c=1);
for(i=1,25,
   if(tau==numdiv(n+i),
        c++;print1(1),print1(0)));
   print("\ntau=",tau," len=",c);
return([tau,c])
}

И смотрю что он выводит. Например
Код:
? divlen(2531612004888381445507294256137777012314127441)
1111011111110111111000000
tau=24 len=18
time = 577 ms.
%2 = [24, 18]
?

Так что к какому виду птиц вы это относите я не отслеживаю.

-- 05.02.2026, 11:39 --

Yadryara в сообщении #1717279 писал(а):
А когда Демис сказал про SPT, это понятно про что?

Я это пропускаю "мимо ушей".

 
 
 
 Re: Пентадекатлон мечты
Сообщение05.02.2026, 12:08 
Аватара пользователя
Дрофа — без одной, ласточка — без двух.

SPT — тоже цепочки, только симметрично дырявые, с количеством делителей ровно 2.

 
 
 [ Сообщений: 4414 ]  На страницу Пред.  1 ... 291, 292, 293, 294, 295  След.


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