2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1 ... 117, 118, 119, 120, 121, 122, 123 ... 215  След.
 
 Re: Пентадекатлон мечты
Сообщение28.08.2022, 21:26 
Заслуженный участник


20/08/14
11177
Россия, Москва
Выложил к себе в облако комплект x64 AVX2 ускорителей для всех 6 строк первой таблицы:
https://cloud.mail.ru/public/XooH/tkK4SCZ1Z — далее папка M12n15, далее папка x64 AVX2 Table1, там 6 архивов.
Компилилось под себя, так что совместимость с переборными PARI программами обеспечивайте сами, это несложно.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение29.08.2022, 06:41 
Аватара пользователя


29/04/13
7227
Богородский
Dmitriy40 в сообщении #1563653 писал(а):
Обратите внимание, и шестую и пятую таблицы я считал совсем недавно, неделю назад. То что я об этом не сказал - ну так и не было найдено ничего интересного (14-ки или 15-ки или хоть 13-ки). Хотя, ведь сказал же.

Вы сказали именно про пятую таблицу, а я — именно про шестую.

Dmitriy40 в сообщении #1563680 писал(а):
Выложил к себе в облако комплект x64 AVX2 ускорителей для всех 6 строк первой таблицы:

Вот радости-то должно прибавиться у обладателей AVX2. Теперь это не только VAL и Ахиллес, но ещё и Демис. И ещё Артём, вроде бы.

Только настоятельно прошу: если соберётесь считать, расскажите что именно собираетесь считать и с какими параметрами. Потому что, например, в 19-м комплекте счёт уже дошёл до 18000е30.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение29.08.2022, 11:42 
Аватара пользователя


29/04/13
7227
Богородский
Кстати, надеюсь, что ещё и gris подключится к счёту.

Итак, что уже посчитано на данный момент:

17 _____________ 14000 е30
19 _____________ 22000 е30 ?
23 ______________ 7000 е30 ?
29 ______________ 1500 е30
31 ______________ 1500 е30
37 ______________ 1600 е30

Я перезапустил 31-й комплект с 1500 до 2000 в пять кругов по 100.

Демис считает 19-й и 23-й комплекты. До куда уже досчитал, точно не знаю.

Дмитрий счёт прекратил.

Ахиллес хочет считать 37-й комплект. В 4 потока. А ведь можно и не париться с разбиением на потоки, а просто считать 4 комплекта(17, 29, 31 и 37). По одному в каждом потоке. Как раньше, когда 234-й и 259-й считались в разных потоках.

Перпат с новыми настройками выложу позже.

17-й комплект самый шустрый. 37-й почти в 5 раз медленнее. Но зато в 37-м вероятность встретить находку(14-ку или 15-шку) примерно в те же 5 раз больше.

Остальные комплекты промежуточные. То есть 19-й не так быстро считается как 17-й, но быстрее всех остальных.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение29.08.2022, 12:54 
Аватара пользователя


29/04/13
7227
Богородский
Важно, чтобы хотя бы в одном потоке заработало, а там хоть допотопным, хоть антипотопным способом :-)

Вот такой сделали PerPat37.gp

Код:
write("begin.tmp","is begin");\\файл-метка, по нему смотрим когда начали
\\Перебор всех паттернов в каталогах от текущего и глубже
t0=getwalltime();
allocatemem(2^29);
start=1600*10^30;\\Откуда начать
stop=2000*10^30;\\Где закончить (не включая)
step=  200*10^30;\\Сколько отвести на каждый круг перебора паттернов
\\! kppat=0;kpop=0;
pat=externstr("dir /a-d /b /s *.pat");\\Получаем в вектор список всех паттернов в текущей папке и всех подпапках
if(#pat==0, print("Not found patterns!"); quit);
for(i=1,#pat, s=strsplit(pat[i],"."); pat[i]=strjoin(s[1..#s-1],"."));\\Отрезаем им всем расширение
ff=vector(#pat,i, s=strsplit(pat[i],"\\");s[#s-1..#s]);\\Отрезаем путь оставляя только последнее имя папки и имя файла
ff2=vector(#ff,i, ff[i][1]);\\Имя папки запомним отдельно, для заголовка окна
for(i=1,#ff, ff[i]=strjoin(ff[i],"-"));\\Объединим папку и файл в полное имя паттерна
step10=logint(step,10);\\Вынес из цикла для ускорения
{forstep(h=start,stop-1,step,\\Цикл по всему диапазону
  for(g=1,#pat,\\Цикл по каждому паттерну
\\!  kppat=kppat+1;print();print();print1(kppat,"   ",kpop,"      ");
system(strprintf("title %de%d:%s",h\10^step10,step10,ff2[g]));\\Меняем заголовок окна на 21e34:N2-36, это по желанию, на работу не влияет
      read(concat(pat[g],".pat"));\\Читаем параметры паттерна
       \\Теперь            z=vector(#v,i,!issquare(v[i]));\\Сформируем вектор флагов squarefree в паттерне, какие места проверять
forstep(ii=floor(h/pp.mod),ceil((h+step-1)/pp.mod),ceil(step/pp.mod)+35000,\\Идём по интервалу
         vi=extern(strexpand(pat[g],".exe ",ii," ",ceil(step/pp.mod)+35000," 2>nul"));\\Фильтруем цепочки
         for(t=1,#vi,\\Все найденные на перепроверку
            n=lift(pp)+pp.mod*vi[t];\\Получаем число начала цепочки из индекса
            if(n<h || n>=h+step, next);\\Не допускаем дублирования цепочек найденных на границе шагов
\\!        kpop=kpop+1;
                   if(
            \\!   (z[1]>0 && !ispseudoprime((n+0)/v[1])) ||
            \\!   (z[2]>0 && !ispseudoprime((n+1)/v[2])) ||
            \\!   (z[3]>0 && !ispseudoprime((n+2)/v[3])) ||
               (z[4]>0 && !ispseudoprime((n+3)/v[4])) ||
               (z[5]>0 && !ispseudoprime((n+4)/v[5])) ||
               (z[6]>0 && !ispseudoprime((n+5)/v[6])) ||
               (z[7]>0 && !ispseudoprime((n+6)/v[7])) ||
               (z[8]>0 && !ispseudoprime((n+7)/v[8])) ||
               (z[9]>0 && !ispseudoprime((n+8)/v[9])) ||
               (z[10]>0 && !ispseudoprime((n+9)/v[10])) ||
               (z[11]>0 && !ispseudoprime((n+10)/v[11])) ||
               (z[12]>0 && !ispseudoprime((n+11)/v[12])) ||
           \\!   (z[13]>0 && !ispseudoprime((n+12)/v[13])) ||
           \\!   (z[14]>0 && !ispseudoprime((n+13)/v[14])) ||
           \\!   (z[15]>0 && !ispseudoprime((n+14)/v[15])) ||
           0,               next;
            );
            s=vector(15,d,numdiv(n+d-1)); k=#select(x->(x==12),s);
            if(k>=10,\\С меньшим количеством совпадений не выводить
               w=strprintf("%d:%s:",n,ff[g]); f=", ALL";
               for(j=1,#v, if(v[j]>1 && s[j]!=12 && !issquare(v[j]), f=""; break));
               if(k==#v, f=concat(f,", FOUND!!!"));
               foreach(s,d, w=concat(w,strprintf("%3d,",d)));
               w=concat(w,strprintf(" valids=%d%s", k,f));
               print(w); write("Process.out",w);\\Печать на экран и сохранение в файл лога Process.out, который должен быть свой (или в своей папке) для каждого потока
               if(k==14, write("..\FOUND14.txt",w));
               if(k==15, write("..\PENTADECATHLON.txt",w));
            );
         );
      );
   );
)}
system("title All end.");\\Информируем что закончили
tob=getwalltime()-t0;
print();
printf("TIME = %0.0f seconds",tob/1000);
write("Process.out","TIME = ",(tob-tob%1000)/1000, " seconds");
write("Process.out","kolshag = ",ceil(step/pp.mod)+35000);
print();
write("end.tmp","is end");\\файл-метка, по нему смотрим когда закончили
quit;


Для других комплектов свои три строчки.

Для PerPat17.gp:

Код:
start=14000*10^30;\\Откуда начать
stop=20000*10^30;\\Где закончить (не включая)
step=1000*10^30;\\Сколько отвести на каждый круг перебора паттернов

Здесь огромный круг, но зато кратный 10-ти.


Для PerPat29.gp:

Код:
start=1500*10^30;\\Откуда начать
stop=2000*10^30;\\Где закончить (не включая)
step=  250*10^30;\\Сколько отвести на каждый круг перебора паттернов



Для PerPat31.gp:

Код:
start=2000*10^30;\\Откуда начать
stop=3000*10^30;\\Где закончить (не включая)
step=  200*10^30;\\Сколько отвести на каждый круг перебора паттернов

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение29.08.2022, 13:56 
Аватара пользователя


29/04/13
7227
Богородский
Прежде чем запускать Перпат, надо попытаться запустить любой .exe из комплекта с параметрами типа 0 1000000 — вылетит по ошибке или что-то найдёт. Потому что работать должно только на архитектуре Haswell (именно в ней появилось AVX2) и новее.

Я не смотрел какие там в AVX2-комплекте имена файлов, у меня запуск из консоли cmd такого теста выглядел бы так:

012345.exe 0 1000000

И обычно в результате за пару секунд появляются 5-10 16-ричных чисел.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение29.08.2022, 19:00 
Заслуженный участник


27/06/08
4058
Волгоград
После довольно затяжной паузы попалась пара цепочек.
$M(384)\ge 12$

(Оффтоп)

108243025201986055047327070890777924762942365378005697817705427078505694128120

$M(360)\ge 11$

(Оффтоп)

5816914294386055132378833906022140708086228731815909975824045947775167894219563906141664945012680249403132900237427536436117498

И еще парочка на подходе.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение29.08.2022, 20:09 
Заслуженный участник


20/08/14
11177
Россия, Москва
Yadryara
А зачем Вы оставляете в публикуемых файлах явно отладочные вещи? Типа kppat,kpop?

А про эту строку я уже говорил, тут я недоправил:
for(j=1,#v, if(v[j]>1 && s[j]!=12 && !issquare(v[j]), f=""; break));
Она должна быть такой:
for(j=1,#v, if(z[j]>0 && s[j]!=12, f=""; break));
На нахождение цепочек не влияет, только на простановку им метки ALL.

Yadryara в сообщении #1563725 писал(а):
Я не смотрел какие там в AVX2-комплекте имена файлов,
Вот такие: M12-S2-56-123450.exe.
Потому запоминать имя папки в ff2[] нет нужды, вся необходимая информация есть прямо в имени файла и вырезать её в ff[] довольно просто.

Ну и запуск именно AVX2 ускорителей выдаёт результат в виде десятичных чисел, не 16-ричных.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение30.08.2022, 04:45 
Заслуженный участник


27/06/08
4058
Волгоград
$M(240)\ge 12$

(Оффтоп)

70997300271362475048479054274659013243552184375207141912016025447332586966887030369088061041098750

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение30.08.2022, 07:17 
Аватара пользователя


29/04/13
7227
Богородский
Dmitriy40 в сообщении #1563746 писал(а):
А зачем Вы оставляете в публикуемых файлах явно отладочные вещи? Типа kppat,kpop?

Могут пригодиться. Я как раз недавно думал снова посчитать эти параметры. Стараюсь называть их понятно.

kppat — Количество Проверенных ПАТтернов

kpop — Количество ПОПыток

Это ещё весной считалось. Для оценки вероятностей.

Dmitriy40 в сообщении #1563746 писал(а):
На нахождение цепочек не влияет, только на простановку им метки ALL.

Да, и метка ALL тоже нужна была для оценки вероятностей. Так что я сознательно оставил пока старый вариант. Пусть пореже попадается на глаза, ибо я ей пока не пользуюсь. Так же как и maxlen.

Зато я сделал другую удобную вещь. И Ахиллес, на котором наконец-то заработал 31-й комплект, видимо, может это подтвердить:

Сначала идёт первое число цепочки, а потом уже имя паттерна. И по первым цифрам числа легко видеть, на какой высоте идёт счёт.

Кстати, в 31-м комплекте Ахиллесу тоже надо бы проверку сделать, не прерывая счёта. Для проги из совсем другой группы. Например, если считается N2-группа, то запустить экзешник из S9-группы в отдельном окне:

M12-S9-56-643210.exe 0 1000000

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение30.08.2022, 09:27 
Заслуженный участник


20/08/14
11177
Россия, Москва
Yadryara в сообщении #1563773 писал(а):
Кстати, в 31-м комплекте Ахиллесу тоже надо бы проверку сделать, не прерывая счёта. Для проги из совсем другой группы. Например, если считается N2-группа, то запустить экзешник из S9-группы в отдельном окне:
Не нужно, все проги в этом смысле одинаковы, заработала любая одна (хоть в том же 234-м комплекте) - заработают и остальные.

Yadryara в сообщении #1563773 писал(а):
И по первым цифрам числа легко видеть, на какой высоте идёт счёт.
Для этого у меня была (и везде есть) команда
Код:
system(strprintf("title N31:%de%d",h\10^step10,step10)); \\Вывести текущий прогресс в заголовок окна консоли, чисто для удобства
for(g=1,#pat, \\Перебор всех паттернов
...
Очень удобно смотреть, даже не открывая логи, просто по заголовку окна консоли (PARI).
А в последнее время стал ещё и процент перебранных паттернов выводить в окно консоли (здесь ОС для заголовка окна лучше лишний раз не трогать, будет тормозить):
Код:
system(strprintf("title N31:%de%d",h\10^step10,step10)); \\Вывести текущий прогресс в заголовок окна консоли, чисто для удобства
for(g=1,#pat, \\Перебор всех паттернов
ii=floor(h/p[g].mod); p0=lift(p[g]); pm=p[g].mod;
printf("%0.1fe30: %0.2f%%\t\t%c", (p0+pm*ii)/1e30,100.0*g/#pat,13); \\Вывод прогресса на экран, чисто для удобства
vi=extern(strexpand("\"",pat[g],".exe\" ",ii," ",ceil((h+step-1)/pm)-ii+1));
...

Yadryara в сообщении #1563773 писал(а):
я ей пока не пользуюсь. Так же как и maxlen.
Зря, по maxlen очень удобно фильтровать цепочки из больших логов (findstr /S "maxlen=12 maxlen=13" *.out) и не выискивать глазами сколько там непрерывных 12-ок с списке делителей.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение30.08.2022, 12:17 
Аватара пользователя


29/04/13
7227
Богородский
Сравнительно недавно в 23-м комплекте были найдены ещё две 14-ки. Итого, уже 8 новым способом.

Единственным пустым в этом смысле комплектом остаётся 31-й. Кстати, Ахиллес нашёл непрерывную 13-ку в 37-м, а не в 31-м комплекте.

Итак, что уже посчитано на данный момент:

17 _____________ 14000 е30
19 _____________ 29000 е30 ?
23 _____________ 13000 е30 ?
29 ______________ 1500 е30
31 ______________ 1700 е30
37 ______________ 1600 е30 ?

17-й и 29-й комплекты вроде бы никто не считает.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение30.08.2022, 17:00 
Аватара пользователя


29/04/13
7227
Богородский
Yadryara в сообщении #1563794 писал(а):
Сравнительно недавно в 23-м комплекте были найдены ещё две 14-ки. Итого, уже 8 новым способом.

Единственным пустым в этом смысле комплектом остаётся 31-й.

И ещё две 14-ки найдены! Сегодня урожайный день. И 31-й распечатали. Итого, уже 10 новым способом.

Ахиллесу нужно брать старт равный предыдущему стопу. На круг брать столько же, сколько было для данного комплекта, то есть 200е30 для 31-го и 37-го.

А вот новый стоп надо выбирать, исходя из собственного удобства. Например, чтобы счёт не закончился посреди ночи. Пример для следующего запуска 37-го комплекта:

Код:
start=2000*10^30;\\Откуда начать
stop=2800*10^30;\\Где закончить (не включая)
step=  200*10^30;\\Сколько отвести на каждый круг перебора паттернов

Этот пример на 4 круга. Можно взять от одного и чуть ли не до 450 кругов.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение31.08.2022, 13:13 
Заслуженный участник


20/08/14
11177
Россия, Москва
Yadryara
Чтобы не городить петрушки с кучей файлов только для получения даты начала и конца счёта, проще писать их сразу в лог, получая саму дату в удобном формате через powershell винды (работает начиная вроде бы с XP):
Код:
write("Process.out", "Start at ",externstr("powershell -Command Get-Date -Format {dd.MM.yyyy HH:mm:ss}")[1]);
...
write("Process.out", "End at ",externstr("powershell -Command Get-Date -Format {dd.MM.yyyy HH:mm:ss}")[1]);

Как вариант, код externstr("powershell -Command Get-Date -Format {dd.MM.yyyy HH:mm:ss}")[1] можно заменить на strjoin(externstr("cmd.exe /E:ON /C \"date /t && time /t\"")," "), будет без секунд, зато без powershell. Или даже на externstr("cmd.exe /E:ON /C echo %date% %time%")[1], будет до сотых секунды.

-- 31.08.2022, 13:15 --

Кстати тогда уж и правильную сортировку логов по возрастанию чисел тоже можно на powershell сделать.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение31.08.2022, 13:35 
Аватара пользователя


29/04/13
7227
Богородский
Я сегодня в запарке, так что прошу меня простить тех, кто ждёт от меня более подробной инфы.

Вчера были найдены ещё 2 14-ки(всего 6 за день). Сегодня -- ни одной. Пока.

В многопоточности я не смыслю ровным счётом ничего. Даже то, что два(а не 4) потока у Ахиллеса работают -- это здорово.

Демис для 23-комплекта на АВХ2 развил прекрасную скорость: 110 минут на круг в 1000е30.

На завтра планирую эксперимент с самым отстающим, 29-м комплектом...

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение01.09.2022, 05:31 
Аватара пользователя


29/04/13
7227
Богородский
Илья Ильф писал(а):
Решено было не допустить ни одной ошибки. Держали двадцать корректур. И все равно на титульном листе было напечатано: «Британская энциклопудия»

Стартовый пост нынешней темы правился 130 раз. Соответствующая Марафонская страница — навряд ли меньше.

И почему же Абсолютный мировой рекорд — мировой рекорд длины и там и там записан как

VAL в сообщении #1547645 писал(а):
\begin{tabular}{|c|c|c|l|r|l|}
\hline 48 & \textbf{20} & 31 & Владимир Лецко & May 2022 & Current WR of lenth \\
\hline \end{tabular}

И молчат ведь все, включая Hugo...

Это ж вам не Мюнхгаузен, где "г" то есть, то нет.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3218 ]  На страницу Пред.  1 ... 117, 118, 119, 120, 121, 122, 123 ... 215  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group