20090326, 21:59  #1 
Oct 2006
Berlin, Germany
593 Posts 
GMPECM 6.2.1 exit with 0xc00000fd
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 gmpecm 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 
20090326, 22:43  #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önhageStrassen 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 GMPECM may be way off if the KroneckerSchönhage trick with SchönhageStrassen multiplication is used, as these functions allocate gobs of temp memory by themselves). Alex 
20090327, 20:37  #3 
Oct 2006
Berlin, Germany
251_{16} Posts 
I made an request to my users in the forum that they should do some tests.
thanks for the hint. yoyo 
20090328, 00:53  #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 
20090328, 08:55  #5 
Oct 2006
Berlin, Germany
593 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 
20090328, 09:56  #6  
Oct 2004
Austria
2·17·73 Posts 
Quote:
Code:
sec_error_untrusted_issuer 

20090328, 10:16  #7 
Oct 2006
Berlin, Germany
593 Posts 
Just use it without 's'
http://www.rechenkraft.net/phpBB/vie...104466#p104466 Your browser does not have the CAcert root certifikate. yoyo 
20090330, 17:34  #8 
Oct 2006
Berlin, Germany
593 Posts 
Hello,
with k 8 how much does it reduce the memory requirements in phase 2? yoyo 
20090330, 17:47  #9 
"Nancy"
Aug 2002
Alexandria
2,467 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 x^{2}.
Alex 
20090331, 08:46  #10 
Oct 2006
Berlin, Germany
593_{10} 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 
20090331, 10:47  #11 
"Nancy"
Aug 2002
Alexandria
2,467 Posts 
With large numbers, stage 2 uses the KroneckerSchönhage trick for reducing polynomial multiplication to integer multiplication, and SchönhageStrassen 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! Yes, it's on our infinite TODO list, about halfway down)
Alex 
Thread Tools  
Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
GMPECM 6.2.3 exit with 0xc0000005  yoyo  GMPECM  14  20090429 18:28 
Crash on exit  rbarreira  Software  0  20031130 03:28 
Will a forced exit loose work ?  dsouza123  NFSNET Discussion  1  20030815 02:56 