Message boards :
Number crunching :
I suggest an experiment !
Message board moderation
Previous · 1 · 2 · 3 · 4 · Next
Author | Message |
---|---|
Send message Joined: 14 Jun 23 Posts: 277 Credit: 4,254,800 RAC: 7,040 |
Ещё раз цитирую А еще было такое, цитирую себя:
|
Send message Joined: 14 Jun 23 Posts: 277 Credit: 4,254,800 RAC: 7,040 |
Я в курсе этого момента. И поэтому еще в прошлом году проводились поиски вариантов как считать дальше. Их было что-то около пяти-шести штук. Все разные. Частично опробованные. Но поскольку все делать одновременно и сразу я не умею, то было отложено. Наработки остались на сломанном ноутбуке. Но шансы вытащить пока еще есть... Как написал выше: "Пока не скачивал, но посмотрю... У меня был где-то тот код." |
Send message Joined: 14 Jun 23 Posts: 438 Credit: 280,293 RAC: 0 |
Возможно ее там нет, Кстати, о диапазонах. Петухов писал на форуме dxdy.ru, что вы принимаете участие в поиске 19-ки с минимальным диаметром. Можете сказать, какие диапазоны вы уже просчитали? Петухов писал на форуме, что до 1Е24 искомой 19-ки точно нет, а до 1Е25 есть аж несколько. Но пока не то что несколько, даже одной не видно. В моём алгоритме задан интервал (7858321551080267055879090, 557940830126698960967415390). Вы уже просчитали этот интервал? Или часть его? |
Send message Joined: 14 Jun 23 Posts: 277 Credit: 4,254,800 RAC: 7,040 |
Информация устаревшая. Не считаю уже несколько месяцев. Тот компьютер ушел на рабочие нужды. Остановился, на тот момент, примерно в районе "1063188793547253583389847". |
Send message Joined: 14 Jun 23 Posts: 438 Credit: 280,293 RAC: 0 |
Для винды - да. Повторюсь: Стефано очень быстро скомпилировал PARI/GP под Linux. Как я поняла, ничего хитрого там нет. Кажется, и на dxdy.ru об этом писали (может быть, в теме про PARI/GP). А я работаю в Windows, и моя рабочая программа не требует ничего дополнительно, она сразу загружается в программной оболочке PARI/GP. Можно пока и не делать для Linux, если вы не совсем знаете, как это делать. Кстати, Стефано может подсказать. |
Send message Joined: 14 Jun 23 Posts: 277 Credit: 4,254,800 RAC: 7,040 |
Вот именно, что собрал сам. Повторюсь еще раз: С боинк-клиентами так не получится (не важно какая система). Они должны получать готовое приложение. Со всеми внедренными библиотеками. Это обязательное условие, т.к. на клиенте может оказаться такая библиотека, но не той версии под которую написано приложение. Одна из них это gmp (на ней-же основана и primesieve, на которой работает приложение SPT). Это объяснял еще в июле кажется. При сборке pari/gp потребуется обновление gmp. И это проблема. Напоминаю, что в июле 2023 устанавливал на сервер pari/gp. Он обновил все модули gmp. По этой причине полетела вся сборка по SPT и не только само приложение, но и ассимилятор, и прочие программы, что необходимы для нормальной работы проекта. Было потрачено 3 или 4 дня, чтобы найти все хвосты "от неправильной" (то есть другой) версии и вернуть все в рабочее состояние. |
Send message Joined: 14 Jun 23 Posts: 438 Credit: 280,293 RAC: 0 |
Ну, я же сказала, что у вас найдётся множество причин, по которым мой алгоритм невозможно запустить в BOINC-проекте SPT. Однако в BOINC-проекте Gerasim@Home он был запущен без проблем за три дня! И с той же самой PARI/GP. И ничего при этом в проекте не сломалось, хотя там работало ещё одно Приложение. Удивительно! С боинк-клиентами так не получится (не важно какая система). Даже "не важно какая система"! То есть и с Windows не получится, так надо понимать. У SerVal почему-то получилось. Или у него нет боинк-клиентов??? Плохому танцору ... (по поговорке). Хорошо, подождём, когда проект встанет. Недолго ждать осталось. Посмотрим тогда, что вы дальше будете считать. У вас, оказывается, уже есть наработки. Замечательно! Однако вы забываете, что я автор проекта. И вносить какие-то свои наработки в проект без согласования с автором - это как-то не очень хорошо, если не сказать, что совсем плохо. Мои авторские права закреплены хотя бы в этом BOINC-проекте. И вообще, я работаю в проекте более 9 лет и постоянно развиваю его. Ваши наработки мне не требуются, тем более - без согласования. |
Send message Joined: 14 Jun 23 Posts: 438 Credit: 280,293 RAC: 0 |
Demis я продолжаю по вопросу запуска нового Приложения точно такого же, как работало в Герасиме. Разработала новую схему и максимально приблизила всё к той схеме, которая работала в Герасиме. Теперь вушка задаётся начальной и конечной точкой проверяемого диапазона, точно, как было в Герасиме. Входной файл, содержащий вушку, это текстовый файл in.txt, содержащий две строки, например так 159067808851600000 159067808851700000 Рабочая программа будет считывать вушку из входного файла. Далее, по времени: вушки могу сделать любые от самых быстрых - на полчаса. Наконец, по ОС. Если с Linux у вас проблемы, не надо эту ОС подключать. Давайте попробуем только для Windows. Код клиентской программы, работавшей в Герасиме, у вас есть. Кроме того, я давала ссылку на архив, где он содержится. Вы обещали этот код посмотреть. Обещанного сколько надо ждать? По поговорке? Полный аналог работавшего в BOINC-проекте Герасим Приложения неужели нельзя запустить??? Повторюсь: рабочая программа максимально приближена к той, которая работала в Герасиме. Клиентская программа тоже будет почти такая же, какую дал SerVal. Ну, может, очень незначительные отличия будут. |
Send message Joined: 14 Jun 23 Posts: 438 Credit: 280,293 RAC: 0 |
Demis ответить очень трудно? Нет 5 минут на ответ? Я помогу вам ответить, выберите, пожалуйста, вариант ответа: 1. Вы не смотрели код, так как не было времени. 2. Вы посмотрели код, но пока ничего в нём не поняли. 3. Вы совсем не собираетесь смотреть код и запускать второе Приложение. 4. Другой вариант. |
Send message Joined: 14 Jun 23 Posts: 438 Credit: 280,293 RAC: 0 |
Несмотря на то, что Demis и Corporal не отвечают на мои вопросы по запуску второго Приложения, я продолжаю работать над подготовкой этого запуска. Если я получу здесь (в BOINC-проекте SPT) полный отлуп. пойду искать другие пути запуска. Итак. я опубликую рабочую программу spt.txt, которая работала в BOINC-проекте Gerasim@Home. {tin = fileopen("in"); i1=eval(filereadstr(tin)); i2=eval(filereadstr(tin)); fileclose(tin); kp=0; lmin=17; ltuple=11; \\ ********************** M=matrix(7000,50); k=0; p=nextprime(i1); pt=[p]; n=1; while(p<i2, kp++; pn=nextprime(p+1); if( (pn-p)%6==0, n++; p=pn; pt=concat(pt,p), if( n>lmin-1, k++; pd=vector(n-1,i,pt[i+1]-pt[i]); M[k,1]=pt[1]; for(l=2,n, M[k,l]=pd[l-1]; );); n=1; p=pn; pt=[p]; ); ); \\ find symmetrical tuples fout = fileopen("out","w"); ksym=0; for( iii=1,k, d=[]; for(l=2,50, if( M[iii,l]==0, break ); d=concat(d, M[iii,l]); ); \\ l ld=#d; forstep( kl=ltuple-1,ld,2, kl05=kl\2; kpr=ld-kl+1; for ( ipr=1,kpr, for( mm=1, kl05, if( d[mm+ipr-1]!=d[kl+ipr-mm], next(2) ) ); \\ mm \\ we see symmetrical vector from ipr to ipr+kl ksym++; \\printf("from %d", M[iii,1..ld+2]);print(); tp1=M[iii,1];if( ipr>1,tp1=tp1+vecsum(d[1..ipr-1]) ); w=strprintf( "%d %d: %d",kl+1, tp1, d[ipr..ipr+kl-1] ); print(w); filewrite(fout,w); ); \\ ipr ); \\kl ); \\iii print(); print("total ", k, " tuples"); print( ksym, " symmetrical tuples"); print(kp," primes in "); print(i1);print(i2-2000); x=strprintf("end "); print(x); filewrite(fout,x); fileclose(fout) } quit Позже опубликую новую рабочую программу, которая тоже написана на PARI/GP. Далее опубликую код клиентской программы, автором которого является администратор BOINC-проекта Gerasim@Home SerVal. #pragma warning(disable : 4996) #include <iostream> #include <assert.h> #include <ctime> #include "boinc_win.h" #include "boinc_api.h" #include "win_util.h" #include "filesys.h" #include <windows.h> using namespace std; #define CHECKPOINT_FILENAME "checkpoint.txt" #define POLL_PERIOD 1.0 #define INPUT_FILENAME "in" #define OUTPUT_FILENAME "out" int read_checkpoint(int& percent_completed, double& cpu_time) { int nt; double c; percent_completed = 0; cpu_time = 0; FILE* f = fopen(CHECKPOINT_FILENAME, "r"); if (!f) return ERR_FOPEN; int n = fscanf(f, "%d %lf", &nt, &c); fclose(f); if (n != 2) return 0; percent_completed = nt; cpu_time = c; return 0; } void write_checkpoint(int percent_completed, double cpu_time) { boinc_begin_critical_section(); FILE* f = fopen(CHECKPOINT_FILENAME, "w"); if (!f) return; fprintf(f, "%d %f\n", percent_completed, cpu_time); fclose(f); boinc_checkpoint_completed(); } int start_process_gp() { fprintf(stderr, "\nStarting child process \'gp\' and waiting until process exits.\n"); fprintf(stderr, "Command line : %s\n", "gp.exe spt.txt"); char* cmdArgs = (char*)"gp.exe spt.txt"; PROCESS_INFORMATION pInfo; STARTUPINFO sInfo; ZeroMemory(&sInfo, sizeof(sInfo)); sInfo.cb = sizeof(sInfo); sInfo.dwFlags = STARTF_USESHOWWINDOW; sInfo.wShowWindow = SW_HIDE; // Start the child process. if (!CreateProcess(NULL, // No module name (use command line) cmdArgs, // Command line NULL, // Process handle not inheritable NULL, // Thread handle not inheritable FALSE, // Set handle inheritance to FALSE CREATE_NEW_CONSOLE, // No creation flags NULL, // Use parent's environment block NULL, // Use parent's starting directory &sInfo, // Pointer to STARTUPINFO structure &pInfo) // Pointer to PROCESS_INFORMATION structure ) { fprintf(stderr, "CreateProcess failed (%d).\n", GetLastError()); return 1; } fprintf(stderr, "Process gp started.\n"); // wait until child process exits. WaitForSingleObject(pInfo.hProcess, INFINITE); fprintf(stderr, "Process gp finished.\n"); CloseHandle(pInfo.hProcess); CloseHandle(pInfo.hThread); return 0; } int main( int argc, char *argv[]) { _CrtSetDbgFlag(0); // Memory Leaks Detected BOINC_OPTIONS boinc_options; BOINC_STATUS boinc_status; char buf[256]; int retval = 0; memset(&boinc_options, 0, sizeof(boinc_options)); boinc_options.main_program = true; boinc_options.check_heartbeat = true; boinc_options.handle_process_control = true; retval = boinc_init_options(&boinc_options); if (retval) { fprintf(stderr, "boinc_init_options error. Exiting. \n"); boinc_finish(4); return 4; } retval = start_process_gp(); if (retval) { fprintf(stderr, "Error starting process gp.exe. Exiting.\n"); boinc_finish(retval); return retval; } fprintf(stderr, "Program completed.\n"); boinc_finish(0); return 0; } Код был выложен на форуме boinc.ru в свободном доступе. Это тот самый код, который Demis обещал посмотреть. Как я понимаю, код написан на С++. В архиве (ссылку я давала) есть исполняемая программа, полученная из этого кода. |
Send message Joined: 14 Jun 23 Posts: 438 Credit: 280,293 RAC: 0 |
Сейчас написала ещё одно письмо Corporal с вопросами по запуску второго Приложения в BOINC-проекте SPT. Corporal, пожалуйста. ответьте на письмо. Это очень важно! |
Send message Joined: 14 Jun 23 Posts: 438 Credit: 280,293 RAC: 0 |
Подключила к работе над запуском второго Приложения своего коллегу gris. Он помогает мне в написании программ. Вот готова программа генерации WU, написал gris. {\\ 27.06.2024 i1=1058967641000; ln=10; nwu=101; kwu=100; pth="WUnew/"; \\*************** for( i=0,kwu-1, namewu=strprintf("%swu_%d%s ",pth,nwu+i,"_get_sym_tuples.txt"); i1wu=i1+i*ln; i2wu=i1wu+ln-1; fout = fileopen(namewu,"w"); filewrite(fout,i1wu); filewrite(fout,i2wu); fileclose(fout) ); } Вушки лёгкие, должны выполняться примерно один час. В этом варианте генерируется 100 вушек, для примера. Можно генерировать сколько угодно вушек - сколько будет разумно выдать для обработки. Для работы этой программы потребуется программа gp.exe. Далее всё просто. Создайте в папке, где у вас находится программа gp.exe, папку WUnew. Запустите программу генерации. В папке WUnew вы получите 100 вушек wu_101_get_sym_tuples.txt wu_102_get_sym_tuples.txt . . . . . . wu_200_get_sym_tuples.txt Мы даже не изменили имена файлов вушек, они такие же, как в Герасиме. |
Send message Joined: 14 Jun 23 Posts: 438 Credit: 280,293 RAC: 0 |
Господа! Я предлагаю всем знакомиться с материалами. Может быть, кто-то попробует запуск второго Приложения. Ведь в BOINC-проекте Gerasim@Home был запущен аналогичный вариант. И все материалы по этому запуску у нас есть. Конечно, для этого необходимо получить доступ к серверу. А доступ может дать только Corporal. Но он молчит, вообще ни единого ответа по поводу запуска. |
Send message Joined: 14 Jun 23 Posts: 438 Credit: 280,293 RAC: 0 |
Публикую рабочую программу, эта программа должна заменить рабочую программу spt.txt в материалах с Герасима {pt=[0, 6, 24, 36, 66, 84, 90, 114, 120, 126, 150, 156, 174, 204, 216, 234, 240]; w=37; tin = fileopen("in"); np1=eval(filereadstr(tin)); np2=eval(filereadstr(tin)); fileclose(tin); pl=#pt; nw=primepi(w); prs=primes(nw); period=vecprod(prs); vp=vector(np2-np1+1, i, period*(np1-1+i)); lvp=#vp; vmy=vector(40); pat1=vector(17); pat2=vector(17); lpr=1; wd=vector(nw); for( ip=1,nw, rip=[]; for( r=1,prs[ip]-1, for( i=1,pl, if( (r+pt[i])%prs[ip]==0, next(2))); rip =concat(rip,r) ); lpr=lpr*#rip; wd[ip]=rip; ); \\for ip fout = fileopen("out","w"); k=0; forvec(v=vector(#wd,i,[1,#wd[i]]), k++; form=lift(chinese( vector( #wd,j,Mod( wd[j][v[j]], prs[j]) ) )); \\ начало проверки кортежа foreach(vp,bpp, bpt=form+bpp; if(ispseudoprime(bpt) && ispseudoprime(bpt+240), l=0; forprime(p=bpt,bpt+240, l++; vmy[l]=p; ); if(l==17, for(m=2,17, pat1[m]=vmy[m]-vmy[1]; ); pat2=vector(17,i,(pat1[i]==pt[i])); vlds=vecsum(pat2); if(vlds>9, w=strprintf( "%d: %d\nvalids=%d\n",vmy[1],pat1,vlds ); print(w); filewrite(fout,w); );\\if vlds>9 ); \\ if l==17 );\\ if ispseudoprime );\\ foreach \\ конец проверки кортежа );\\ forvec w=strprintf("end "); print(w); filewrite(fout,w); fileclose(fout) } quit Ну, тут можно ещё убрать некоторые принты, сейчас я смотрю на вывод в консоль. У кранчеров консоли не будет и поэтому вывод в консоль им не нужен. Приведённая программа тестировала обработку одной вушки, вот этой wu_103_get_sym_tuples.txt Содержимое этой вушки 1058967641020 1058967641029 Программа тестировалась на моём ПК, время выполнения time = 1h, 26min, 7,986 ms. У меня не очень быстрый ПК. У других кранчеров время может быть меньше. Итак, господа, у меня всё готово к запуску второго Приложения. Кто может помочь? PS. Лишние принты убрала. |
Send message Joined: 14 Jun 23 Posts: 438 Credit: 280,293 RAC: 0 |
Кстати, хорошая новость: Corporal ответил, наконец-то, на мои вопросы по запуску второго Приложения. У нас есть два варианта на данный момент. Обсуждаем. |
Send message Joined: 14 Jun 23 Posts: 438 Credit: 280,293 RAC: 0 |
Demis не помогла моя подсказка вариантов ответа? :) Хорошо, спрошу по-другому. Вы получили от Corporal один из вариантов запуска второго Приложения? У Corporal с оперативностью ответов на письма плохо. Тут ещё выходные подоспели. Жду, жду, жду... PS. Вот уже и понедельник проходит, а ответа от Corporal всё нет. Он, наверное, опять совсем забыл про моё письмо и про этот запуск второго Приложения. Demis по-прежнему игнорирует мой последний вопрос. Ну ничего, я подожду. |
Send message Joined: 14 Jun 23 Posts: 438 Credit: 280,293 RAC: 0 |
Напоминаю Даю ссылку, где архив с программами, использованными администратором BOINC-проекта Gerasim@Home при запуске моего алгоритма Как я уже писала выше, в этих материалах с проекта Герасим нужно заменить рабочую программу spt.txt. Новую рабочую программу я опубликовала. Опубликована и программа генерации заданий. Corporal вы же начинали запуск Приложения main. У вас что-то не получилось с заданиями. У меня задания есть, клиентская программа есть (от SerVal), рабочая программа есть. Чего не хватает для запуска Приложения? Ну, хорошо, вы не умеете, Demis не хочет. Так что с предложенным мной вариантом? Ответа я дождусь? |
Send message Joined: 14 Jun 23 Posts: 438 Credit: 280,293 RAC: 0 |
Распакуйте архив по указанной в предыдущем сообщении ссылке. Это был тест в BOINC-проекте Gerasim@Home. В файле in.dat находится вушка 159067808851600000 159067808851700000 Если вы запустите программу SymTuples.exe (удалите перед запуском файл out.dat), программа отработает и в файл out.dat запишутся результаты 11 159067808851610507: [6,84,24,30,6,6,30,24,84,6] 13 159067808851610471: [36,6,84,24,30,6,6,30,24,84,6,36] 15 159067808851610453: [18,36,6,84,24,30,6,6,30,24,84,6,36,18] 17 159067808851610411: [42,18,36,6,84,24,30,6,6,30,24,84,6,36,18,42] end Вот такой простой тест! А теперь замените в архиве рабочую программу spt.txt на новую рабочую программу, опубликованную в сообщении https://boinc.termit.me/adsl/forum_thread.php?id=74&postid=828 Запишите в файл in.dat, например, такую вушку 1058967641000 1058967641009 Запустите программу SymTuples.exe. Программа отработает и в файл out.dat запишутся результаты, если они будут найдены. Если результатов не будет, то в файле out.dat будет записана одна строка end Как я уже писала, задания выполняются примерно один час (зависит от производительности конкретного компьютера). Пожалуйста, попробуйте, господа, выполнить этот простой тест. Если есть вопросы, задавайте, пожалуйста. |
Send message Joined: 14 Jun 23 Posts: 438 Credit: 280,293 RAC: 0 |
Вот для примера 10 вушек из 100 вушек, сгенерированных программой, опубликованной в сообщении https://boinc.termit.me/adsl/forum_thread.php?id=74&postid=826 wu_101_get_sym_tuples.txt 1058967641000 1058967641009 wu_102_get_sym_tuples.txt 1058967641010 1058967641019 wu_103_get_sym_tuples.txt 1058967641020 1058967641029 wu_104_get_sym_tuples.txt 1058967641030 1058967641039 wu_105_get_sym_tuples.txt 1058967641040 1058967641049 wu_106_get_sym_tuples.txt 1058967641050 1058967641059 wu_107_get_sym_tuples.txt 1058967641060 1058967641069 wu_108_get_sym_tuples.txt 1058967641070 1058967641079 wu_109_get_sym_tuples.txt 1058967641080 1058967641089 wu_110_get_sym_tuples.txt 1058967641090 1058967641099 Осталось сделать процесс выполнения вушек непрерывным, то есть подключить ещё менеджер BOINC-проекта, чтобы он руководил этим процессом: выдача вушек кранчерам, обработка результатов выполнения вушек. Как подключить менеджер, я не знаю. |
Send message Joined: 14 Jun 23 Posts: 438 Credit: 280,293 RAC: 0 |
|
©2024 Natalia Makarova & Alex Belyshev & Tomáš Brada