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: 471 Credit: 333,015 RAC: 1 ![]() ![]() |
Возможно ее там нет, Кстати, о диапазонах. Петухов писал на форуме dxdy.ru, что вы принимаете участие в поиске 19-ки с минимальным диаметром. Можете сказать, какие диапазоны вы уже просчитали? Петухов писал на форуме, что до 1Е24 искомой 19-ки точно нет, а до 1Е25 есть аж несколько. Но пока не то что несколько, даже одной не видно. В моём алгоритме задан интервал (7858321551080267055879090, 557940830126698960967415390). Вы уже просчитали этот интервал? Или часть его? |
![]() Send message Joined: 14 Jun 23 Posts: 471 Credit: 333,015 RAC: 1 ![]() ![]() |
Для винды - да. Повторюсь: Стефано очень быстро скомпилировал PARI/GP под Linux. Как я поняла, ничего хитрого там нет. Кажется, и на dxdy.ru об этом писали (может быть, в теме про PARI/GP). А я работаю в Windows, и моя рабочая программа не требует ничего дополнительно, она сразу загружается в программной оболочке PARI/GP. Можно пока и не делать для Linux, если вы не совсем знаете, как это делать. Кстати, Стефано может подсказать. |
![]() Send message Joined: 14 Jun 23 Posts: 471 Credit: 333,015 RAC: 1 ![]() ![]() |
Ну, я же сказала, что у вас найдётся множество причин, по которым мой алгоритм невозможно запустить в BOINC-проекте SPT. Однако в BOINC-проекте Gerasim@Home он был запущен без проблем за три дня! И с той же самой PARI/GP. И ничего при этом в проекте не сломалось, хотя там работало ещё одно Приложение. Удивительно! С боинк-клиентами так не получится (не важно какая система). Даже "не важно какая система"! То есть и с Windows не получится, так надо понимать. У SerVal почему-то получилось. Или у него нет боинк-клиентов??? Плохому танцору ... (по поговорке). Хорошо, подождём, когда проект встанет. Недолго ждать осталось. Посмотрим тогда, что вы дальше будете считать. У вас, оказывается, уже есть наработки. Замечательно! Однако вы забываете, что я автор проекта. И вносить какие-то свои наработки в проект без согласования с автором - это как-то не очень хорошо, если не сказать, что совсем плохо. Мои авторские права закреплены хотя бы в этом BOINC-проекте. И вообще, я работаю в проекте более 9 лет и постоянно развиваю его. Ваши наработки мне не требуются, тем более - без согласования. |
![]() Send message Joined: 14 Jun 23 Posts: 471 Credit: 333,015 RAC: 1 ![]() ![]() |
Demis я продолжаю по вопросу запуска нового Приложения точно такого же, как работало в Герасиме. Разработала новую схему и максимально приблизила всё к той схеме, которая работала в Герасиме. Теперь вушка задаётся начальной и конечной точкой проверяемого диапазона, точно, как было в Герасиме. Входной файл, содержащий вушку, это текстовый файл in.txt, содержащий две строки, например так 159067808851600000 159067808851700000 Рабочая программа будет считывать вушку из входного файла. Далее, по времени: вушки могу сделать любые от самых быстрых - на полчаса. Наконец, по ОС. Если с Linux у вас проблемы, не надо эту ОС подключать. Давайте попробуем только для Windows. Код клиентской программы, работавшей в Герасиме, у вас есть. Кроме того, я давала ссылку на архив, где он содержится. Вы обещали этот код посмотреть. Обещанного сколько надо ждать? По поговорке? Полный аналог работавшего в BOINC-проекте Герасим Приложения неужели нельзя запустить??? Повторюсь: рабочая программа максимально приближена к той, которая работала в Герасиме. Клиентская программа тоже будет почти такая же, какую дал SerVal. Ну, может, очень незначительные отличия будут. |
![]() Send message Joined: 14 Jun 23 Posts: 471 Credit: 333,015 RAC: 1 ![]() ![]() |
Demis ответить очень трудно? Нет 5 минут на ответ? Я помогу вам ответить, выберите, пожалуйста, вариант ответа: 1. Вы не смотрели код, так как не было времени. 2. Вы посмотрели код, но пока ничего в нём не поняли. 3. Вы совсем не собираетесь смотреть код и запускать второе Приложение. 4. Другой вариант. |
![]() Send message Joined: 14 Jun 23 Posts: 471 Credit: 333,015 RAC: 1 ![]() ![]() |
Несмотря на то, что 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: 471 Credit: 333,015 RAC: 1 ![]() ![]() |
Сейчас написала ещё одно письмо Corporal с вопросами по запуску второго Приложения в BOINC-проекте SPT. Corporal, пожалуйста. ответьте на письмо. Это очень важно! |
![]() Send message Joined: 14 Jun 23 Posts: 471 Credit: 333,015 RAC: 1 ![]() ![]() |
Подключила к работе над запуском второго Приложения своего коллегу 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: 471 Credit: 333,015 RAC: 1 ![]() ![]() |
Господа! Я предлагаю всем знакомиться с материалами. Может быть, кто-то попробует запуск второго Приложения. Ведь в BOINC-проекте Gerasim@Home был запущен аналогичный вариант. И все материалы по этому запуску у нас есть. Конечно, для этого необходимо получить доступ к серверу. А доступ может дать только Corporal. Но он молчит, вообще ни единого ответа по поводу запуска. |
![]() Send message Joined: 14 Jun 23 Posts: 471 Credit: 333,015 RAC: 1 ![]() ![]() |
Публикую рабочую программу, эта программа должна заменить рабочую программу 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: 471 Credit: 333,015 RAC: 1 ![]() ![]() |
Кстати, хорошая новость: Corporal ответил, наконец-то, на мои вопросы по запуску второго Приложения. У нас есть два варианта на данный момент. Обсуждаем. |
![]() Send message Joined: 14 Jun 23 Posts: 471 Credit: 333,015 RAC: 1 ![]() ![]() |
Demis не помогла моя подсказка вариантов ответа? :) Хорошо, спрошу по-другому. Вы получили от Corporal один из вариантов запуска второго Приложения? У Corporal с оперативностью ответов на письма плохо. Тут ещё выходные подоспели. Жду, жду, жду... PS. Вот уже и понедельник проходит, а ответа от Corporal всё нет. Он, наверное, опять совсем забыл про моё письмо и про этот запуск второго Приложения. Demis по-прежнему игнорирует мой последний вопрос. Ну ничего, я подожду. |
![]() Send message Joined: 14 Jun 23 Posts: 471 Credit: 333,015 RAC: 1 ![]() ![]() |
Напоминаю Даю ссылку, где архив с программами, использованными администратором BOINC-проекта Gerasim@Home при запуске моего алгоритма Как я уже писала выше, в этих материалах с проекта Герасим нужно заменить рабочую программу spt.txt. Новую рабочую программу я опубликовала. Опубликована и программа генерации заданий. Corporal вы же начинали запуск Приложения main. У вас что-то не получилось с заданиями. У меня задания есть, клиентская программа есть (от SerVal), рабочая программа есть. Чего не хватает для запуска Приложения? Ну, хорошо, вы не умеете, Demis не хочет. Так что с предложенным мной вариантом? Ответа я дождусь? |
![]() Send message Joined: 14 Jun 23 Posts: 471 Credit: 333,015 RAC: 1 ![]() ![]() |
Распакуйте архив по указанной в предыдущем сообщении ссылке. Это был тест в 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: 471 Credit: 333,015 RAC: 1 ![]() ![]() |
Вот для примера 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: 471 Credit: 333,015 RAC: 1 ![]() ![]() |
|
©2025 Natalia Makarova & Alex Belyshev & Tomáš Brada