![]() |
[QUOTE=mklasson;338546]Oh, right, I noticed some full Ns in stage 2 as well, but figured I was just unlucky...
You might be right that there's some problem though. Alas, I have no idea if it's specific to my build, or how to fix it if it is.[/QUOTE]Run stage 1 on the gpu and create a save file. Continue from that file on the cpu and the factor should appear. It's the workaround which seems to be the only way of getting factors right now. Cyril is aware of this problem and the workaround. Paul |
[QUOTE=xilman;338725]Run stage 1 on the gpu and create a save file. Continue from that file on the cpu and the factor should appear.[/QUOTE]
Ah, great, thanks! |
[QUOTE=mklasson;338762]Ah, great, thanks![/QUOTE]To clarify, a run has just finished here. I've snipped out the relevant lines so that you may see if you can reproduce them on your machine if you wish. The save file entry can be used as-is but if you want to try to reproduce it from a gpu run you will need to set sigma on the command line to the required value.[code]
echo 101482149355388048731487881935340331090889262212842924363713738989156240527153150278043500061215942991261583087754330974561238357811350557823367611213054527945175907871764674837850271132890282786375916516004587107515545577946886906206187414317583840986632315132836398937826193398451 | ecm -gpu -savea gpu.save -c 448 3000000 0 >> gpu.out ecm -resume gpu.save 3000000 5706890290 > gpu2.out [/code]The B2=5706890290 was taken from a preliminary run with ecm -v to discover what the default B2 should be. Snip from gpu.save:[code]METHOD=ECM; PARAM=3; SIGMA=449286141; B1=3000000; N=101482149355388048731487881935340331090889262212842924363713738989156240527153150278043500061215942991261583087754330974561238357811350557823367611213054527945175907871764674837850271132890282786375916516004587107515545577946886906206187414317583840986632315132836398937826193398451; X=0xd94b0c9842b63bdc4ddf6fe836281864cf5e4a6e32f441c357219ee321da4ba0a1a42a7096ce7b9191ea65ede910405e3a2d602d2a23ae403873a49689270fb6493d768d98601a20cf387f9cd155a2429608c2beb9a55198eca823b9fc787cdaed067fd137c7e60f66b21771ef80e59a12c064748; CHECKSUM=937322733; PROGRAM=GMP-ECM 7.0-dev; X0=0x0; Y0=0x0; WHO=pcl@anubis.home.brnikat.com; TIME=Sat May 4 09:48:08 2013;[/code]Relevant portion of gpu2.out:[code] Resuming ECM residue saved by pcl@anubis.home.brnikat.com with GMP-ECM 7.0-dev on Sat May 4 09:48:08 2013 Input number is 101482149355388048731487881935340331090889262212842924363713738989156240527153150278043500061215942991261583087754330974561238357811350557823367611213054527945175907871764674837850271132890282786375916516004587107515545577946886906206187414317583840986632315132836398937826193398451 (282 digits) Using B1=3000000-3000000, B2=5706890290, polynomial Dickson(6), sigma=3:449286141 Step 1 took 0ms Step 2 took 7098ms ********** Factor found in step 2: 445224571829374761288699666131147495198356727 Found probable prime factor of 45 digits: 445224571829374761288699666131147495198356727 Composite cofactor 227934745241957285881778043049404755009011820338900145654372601421491779248241846890768278353591918611426577107776860159203725842047017937949868936707925419578871783371101851788601523957788893378997332682158710312764704944917884656543013 has 237 digits [/code] Good luck! Paul |
I achieve this by using -B2scale 0 on the gpu run, and then -resume with the same B1 on the CPU stage 2. ECM runs the default B2 by doing so.
ecm -resume savefile.txt 43e6 >> output.txt does the trick for me. |
[QUOTE=VBCurtis;339717]I achieve this by using -B2scale 0 on the gpu run, and then -resume with the same B1 on the CPU stage 2. ECM runs the default B2 by doing so.
ecm -resume savefile.txt 43e6 >> output.txt does the trick for me.[/QUOTE]Thanks for the tip. I'll try to remember it in future. Paul |
FYI
The -save(a) option of current SVN HEAD generates savefiles with B1 set to 1.
Here is an example from a GPU run: [CODE]METHOD=ECM; PARAM=3; SIGMA=1338409529; [B]B1=1[/B]; N=107337638919967483141063623365542229910680957563823617797446929412356389149831517148531981651634180847916212539333192454506616947630553940911141905872245222153540770799676352775350889317617472274748340543075085097852507186666728619014330952808580810310164700637173471479651231324428337639337605274423; X=0x80e2c39ebf6af056d56c5ca03fdb34173afd8189a7ae9c4e42291b3cc4e2dcfec3cb5b27f3d45e3c02cded29e571c7f00cb0d4cb536eb10e4a585e888b1ba37804d73c0d6dc715129091957eb888d831bc16417c30180be983c5fa89d77d0caac142d864eed7a09b14340a41c46dd30a49f4ce673ce450fb3bbca03d; CHECKSUM=1807052727; PROGRAM=GMP-ECM 7.0-dev; X0=0x0; Y0=0x0; WHO=ralf@quadriga; TIME=Sun Jul 7 12:54:06 2013;[/CODE]and from a CPU run: [CODE]METHOD=ECM; PARAM=1; SIGMA=2099601580; [B]B1=1[/B]; N=107337638919967483141063623365542229910680957563823617797446929412356389149831517148531981651634180847916212539333192454506616947630553940911141905872245222153540770799676352775350889317617472274748340543075085097852507186666728619014330952808580810310164700637173471479651231324428337639337605274423; X=0xec9ba92e05563539a531b6eb6aaf42e3eb8c2c05ddd1b2bdf08d4908b5ceb4875a3ceb7a6a5f9046af2ba2f27aaca39d08c51cb927ae3ffabc682df4420515b2b354631183762317ea2c4a35a965d15f5c892c63daf8e97f672bc38f2f5268b39e0d14667b82d542bde08c6d72ccd602bbf0d7586d39b08992502d5f; CHECKSUM=1971712291; PROGRAM=GMP-ECM 7.0-dev; Y=0x0; X0=0x0; Y0=0x0; WHO=ralf@quadriga; TIME=Sun Jul 7 12:57:27 2013;[/CODE]B1 was set to 11e3 in both (test)cases. batch_last_B1_used contains the B1 value given in the command line. B1done=1 when write_resumefile is called from main.c:1581 Here is a debugger output from the GPU run: [CODE]#0 main (argc=2, argv=0x7fffffffe3b0) at main.c:1581 (gdb) display params 1: params = {{method = 0, x = {{_mp_alloc = 6955, _mp_size = 6954, _mp_d = 0x7ec450}}, y = {{_mp_alloc = 1, _mp_size = 0, _mp_d = 0x6da4c0}}, param = 3, sigma = {{_mp_alloc = 2, _mp_size = 1, _mp_d = 0x6da4e0}}, sigma_is_A = 0, E = 0x6da300, go = {{ _mp_alloc = 1, _mp_size = 1, _mp_d = 0x6da5c0}}, [B]B1done = 1[/B], B2min = {{ _mp_alloc = 1, _mp_size = -1, _mp_d = 0x6da5e0}}, B2 = {{ _mp_alloc = 1, _mp_size = -1, _mp_d = 0x6da600}}, k = 0, S = 0, repr = 0, nobase2step2 = 0, verbose = 1, os = 0x7ffff72c57a0, es = 0x7ffff72c5880, chkfilename = 0x0, TreeFilename = 0x0, maxmem = 0, stage1time = 0, rng = {{_mp_seed = {{_mp_alloc = 313, _mp_size = 32767, _mp_d = 0x6da620}}, _mp_alg = GMP_RAND_ALG_DEFAULT, _mp_algdata = { _mp_lc = 0x4af140}}}, use_ntt = 1, stop_asap = 0x405a1c <stop_asap_test>, batch_s = {{_mp_alloc = 249, _mp_size = 249, _mp_d = 0x6de290}}, [B]batch_last_B1_used = 11000[/B], gpu = 1, gpu_device = -1, gpu_device_init = 1, gpu_number_of_curves = 448, gw_k = 0, gw_b = 0, gw_n = 0, gw_c = 0}} (gdb) [/CODE]Trying to resume from this savefile(s) leads to an internal error: [CODE]Error, x0 should be equal to 2 with this parametrization Please report internal errors at <ecm-discuss@lists.gforge.inria.fr>.[/CODE] |
Apologies for popping this thread up, but I was trying to compile the GPU-enabled GMP-ECM, and I can't seem to get it to happen despite multiple attempts. I've tried to get the VS2010 build up and running, but there are many issues there (can't find header files that it should be able, trouble with CUDA, etc.).
So I figured I would try and compile it under MinGW (32bit, Windows XP) since I've not really had many issues there. I pulled the latest SVN (v.2521) and tried to use [CODE]./configure.in[/CODE] and get [CODE]./configure.in: line 1: syntax error near unexpected token `[ECM_VERSION_AC],'./configure.in: line 1: `m4_define([ECM_VERSION_AC], [7.0-dev])'[/CODE] Any help with this would be appreciated. System specs listed below: AMD Phenom II X4, Windows XP 32-bit, GTX570 (CC 2.0) Thanks, Ben |
You don't run configure.in directly; these are inputs to the autotools, which you have to use manually on a repository checkout in order to be able to run the configure script. Release ditributions of GMP-ECM have done that for you already.
|
Thanks Jason. Another opportunity to learn more about compilation background. Off to play with autotools...
|
So I'm running into an incompatibility issue with CUDA--essentially, nvcc won't play with any gcc version newer than 4.6. Is the simplest solution to just get gcc 4.6, put it in a separate directory, and point this particular configure step to that gcc?
|
I'm actually going to try the CUDA 5.5 release candidate--it appears to have support for GCC 4.7.
|
| All times are UTC. The time now is 04:22. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.