![]() |
![]() |
#1 |
Oct 2006
Berlin, Germany
22×32×17 Posts |
![]()
Hello,
on the Boinc ecm system I have now some ecm curves, which exit with above exit code. My impression is that this more often the case when I run big numbers. The below example run numbers with 58000 digits. I use the gmp-ecm 6.2.1 core2 win64 version from Jeff for this. This workunit crashed until now on 2 systems, system1, system2. Both system are running Microsoft Windows Server 2003 "R2". Here you can see command line, input and generated output. Here a second workunit which crashed in the same way on 2 systems. But now one system is Windows Vista. The 2 systems: http://www.rechenkraft.net/yoyo/show...p?hostid=25429 http://www.rechenkraft.net/yoyo/show...p?hostid=12290 Command line, input, output: http://www.rechenkraft.net/yoyo/down..._20249M.C58862 Any idea what can be the problem? The output file of all 4 tries stopped at the same point, so it seems they crashed on the same step in phase 2. kind regards, yoyo |
![]() |
![]() |
![]() |
#2 |
"Nancy"
Aug 2002
Alexandria
2,467 Posts |
![]()
Looks like it's crashing when it's trying to reduce the product polynomial... I think that's a point where a larger product is computed than during the other steps, so temporary memory allocation for Schönhage-Strassen may be the culprit. The systems are listed as having 8GB, which would be plenty, but not all of that may be available to the process. Is there a way of testing whether it works with a larger -k parameter, say -k 8?
I'm running it on my home machine in the meantime to see what happens, and how much memory it needs at least to run successfully (the estimate printed by GMP-ECM may be way off if the Kronecker-Schönhage trick with Schönhage-Strassen multiplication is used, as these functions allocate gobs of temp memory by themselves). Alex |
![]() |
![]() |
![]() |
#3 |
Oct 2006
Berlin, Germany
22×32×17 Posts |
![]()
I made an request to my users in the forum that they should do some tests.
thanks for the hint. yoyo |
![]() |
![]() |
![]() |
#4 |
"Nancy"
Aug 2002
Alexandria
2,467 Posts |
![]()
I tested how much memory stage 2 for this number needs by gradually reducing the max VM size with ulimit. With 920MB it works, with 910MB it segfaults, but in the first "Computing G * H" step - earlier than the Windows binary did. Still, running out of memory seems like the most likely cause. The result from a test with larger k would be interesting.
Alex |
![]() |
![]() |
![]() |
#5 |
Oct 2006
Berlin, Germany
22·32·17 Posts |
![]()
Here are https://www.rechenkraft.net/phpBB/vi...104466#p104466 a first test result.
With -k 8 it seems to work and estimates only half of the memory before. yoyo |
![]() |
![]() |
![]() |
#6 | |
Oct 2004
Austria
2·17·73 Posts |
![]() Quote:
Code:
sec_error_untrusted_issuer |
|
![]() |
![]() |
![]() |
#7 |
Oct 2006
Berlin, Germany
11448 Posts |
![]()
Just use it without 's'
http://www.rechenkraft.net/phpBB/vie...104466#p104466 Your browser does not have the CAcert root certifikate. yoyo |
![]() |
![]() |
![]() |
#8 |
Oct 2006
Berlin, Germany
22×32×17 Posts |
![]()
Hello,
with -k 8 how much does it reduce the memory requirements in phase 2? yoyo |
![]() |
![]() |
![]() |
#9 |
"Nancy"
Aug 2002
Alexandria
9A316 Posts |
![]()
Pretty exactly by a factor of 2. The default value for k was 2, and if you want to reduce the polynomial degree (memory use is mostly proportional to that polynomial degree) by a factor of x, you need to multiply k by x2.
Alex |
![]() |
![]() |
![]() |
#10 |
Oct 2006
Berlin, Germany
61210 Posts |
![]()
Hi Alex,
I'm wondering that for B1=50k and a number with 58000 digits where the memory estimation is ~ 1GB the application finishes with 0xc00000fd. But with B1=43M and much shorter number where memory estimation is 2GB the application does not finish with 0xc00000fd. Is there any explanation for it? I'm asking because I'll try to figure out in which work units I should insert -k 8. My first idea is to make it in all workunits where the estimated memory is greater than 1GB. yoyo |
![]() |
![]() |
![]() |
#11 |
"Nancy"
Aug 2002
Alexandria
9A316 Posts |
![]()
With large numbers, stage 2 uses the Kronecker-Schönhage trick for reducing polynomial multiplication to integer multiplication, and Schönhage-Strassen for the integer multiplication. Unfortuantely both steps need a lot of temporary memory. With small numbers, stage 2 uses an NTT for the polynomial multiplication instead which uses far less memory, but (in its current implementation) is very slow when used with large input numbers. (Technical note: reduction wrt to the NTT primes and CRT is qudratic time atm, and initialisation of the NTT primes is cubic time!
![]() Alex |
![]() |
![]() |
![]() |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
GMP-ECM 6.2.3 exit with 0xc0000005 | yoyo | GMP-ECM | 14 | 2009-04-29 18:28 |
Crash on exit | rbarreira | Software | 0 | 2003-11-30 03:28 |
Will a forced exit loose work ? | dsouza123 | NFSNET Discussion | 1 | 2003-08-15 02:56 |