![]() |
|
|
#56 | ||
|
Sep 2010
Scandinavia
3·5·41 Posts |
Quote:
Quote:
Meaning stage1:stage2::0.59:0.41 or 1:0.7. |
||
|
|
|
|
|
#57 | |
|
Serpentine Vermin Jar
Jul 2014
2×13×131 Posts |
Quote:
![]() On the serious side, that is useful, as is all the discussion on optimizing gmp-ecm. In case it's not painfully obvious this is the first time I've used gmp-ecm for anything at all and I'll freely admit I skimmed the basics before diving in. Mostly because it's just a curiousity on my part, at this point anyway. |
|
|
|
|
|
|
#58 | |
|
"Curtis"
Feb 2005
Riverside, CA
133368 Posts |
Quote:
Since I am able to read, and have done so, please point me to where in your paper you contradict the conclusion I have summarized above. Also, note that empirical testing with current GMP-ECM versions support using 40% of stage 1 time for stage 2, with the flat-topped peak you mentioned in the paper (that is, it doesn't much matter if stage 2 is 35% or 45%). |
|
|
|
|
|
|
#59 | |
|
Serpentine Vermin Jar
Jul 2014
D4E16 Posts |
Quote:
I'm still convinced that it would be awesome if either:
It's just a little unfortunate that we have a case where 2 programs both do one thing exceedingly awesome, but not the other, so if we want peak performance we're using both. I'd still prefer to see Prime95 updated because a) it's easy to run multiple workers, b) results are easily checked in to Primenet, and c) easier to mix work types on one system with multiple cores That said, I wouldn't be opposed to using gmp-ecm entirely if it were easier to a) set affinity (and priority should be idle by default, like Prime95), b) generate results that are compatible with Prime95 results that can be manually checked in I don't mind that gmp-ecm (ecm.exe in particular) is command line... kind of makes it easier to manage multiple systems in that way I guess. So I'm thinking more in line of an "-affinity 0x001" type of thing where it's a basic affinity mask, or since it doesn't really multithread, make it even easier on the user by just "-affinity 4" would run on core #4, so the user doesn't have to figure out the mask. Kind of like the "Affinity=x" in Prime95 "local.txt". The output of each curve could be boiled down to a compatible P95 results line like: M1277 completed 1 ECM curve, B1=2900000000, B2=105101237217912 Without a checksum like Prime95 would generate, the server won't accept it, but I could imagine we'd be able to work something out so results from gmp-ecm could be checked in automatically... without emailing George. :) Like, I guess right now when all 240 of my stage 2's are done, I'd let George know I did 240 curves with those bounds? |
|
|
|
|
|
|
#60 | |
|
Serpentine Vermin Jar
Jul 2014
2·13·131 Posts |
Quote:
I have 3 of those running on a system right now. Stage 2 should use 34-40 GB per instance (this is a passive cluster node... lots of memory and nothing to do most of the time). So this will tell me a few things: 1) The difference between stage 1 times on a system like that with P95 and gmp-ecm 2) About how much actual memory stage 2 will take (it said 34 GB but I'm guessing more like 38GB 3) What the stage 1/stage 2 ratio of times would be like purely within gmp-ecm If the time difference on stage 1 isn't dramatically different than 5 hours, 45 minutes like Prime95 took, I may overlook that in favor of convenience. I could "set and forget" gmp-ecm to run 1000 curves over some period of weeks and forget about it until I check the output. Otherwise it would require regular care and feeding, and who has time for that?
|
|
|
|
|
|
|
#61 | |
|
Serpentine Vermin Jar
Jul 2014
1101010011102 Posts |
I thought I'd poke my head into the Prime95 source, specifically the ECM routine.
I'm glancing through ecm.c and, first off, I am not a programmer so most of it I'm skimming. I saw this in the stage 2 section: Quote:
The next bit of code has a reference to a config setting I've not seen before, "MaximumBitArraySize". Maxes out at 2000, so I guess you're only going to be able to use up to 2 GB. Is that an old 32-bit OS limitation? Any reason it couldn't be set higher? The next section of code seems to alter the ending point value based on that bit array size: Code:
if ((pm1data->C - pm1data->C_start) / 1000000 / 16 > max_bitarray_size) pm1data->C = pm1data->C_start + max_bitarray_size * 1000000 * 16; This may sound dumb of me but could one reason Prime95 does stage 2 slower than gmp-ecm be due to it's low cap on memory? I may test this theory by comparing stage 2 runs on P95 with gmp-ecm and the "-maxmem 250" option. I'm also curious to try adding "MaximumBitArraySize=2000" to my prime.txt and see what happens. Would it use more RAM in stage 2? Who knows...stay tuned. ![]() Are there other significant differences in the underlying code itself besides the amount of memory they'll use? |
|
|
|
|
|
|
#62 |
|
Jun 2003
23·683 Posts |
|
|
|
|
|
|
#63 | |
|
Serpentine Vermin Jar
Jul 2014
D4E16 Posts |
Quote:
Maybe only certain trusted users are allowed to add entries like that. Might make sense...wouldn't want just anyone pasting in whatever? EDIT: Yes, that's it, I found out why my submissions fail but a certain other trustworthy user is also allowed to do so. If I continue crunching away at M1277 or any other ECM work, I could petition George to be included. I think he trusts me.
Last fiddled with by Madpoo on 2015-04-28 at 21:58 |
|
|
|
|
|
|
#64 | |
|
"Bob Silverman"
Nov 2003
North of Boston
5×17×89 Posts |
Quote:
Thus, if B1 changes to B1 + x, then B2 needs to change to B2 + Kx to remain at optimality. This in turn implies that step 2 should take as long as step 1 to remain at optimality. |
|
|
|
|
|
|
#65 | |
|
"Bob Silverman"
Nov 2003
North of Boston
5·17·89 Posts |
Quote:
K times as fast uniformly over the range [B1, B2]. The ".4K" was for a particular implementation on a SUN-3 computer and determined by experiment. If the machine had much much more memory, the ".4" coefficient would have become larger. If enough memory is available so that step 2 need not be done in segments, and one uses a "perfect" implementation of a convolution based Step 2, then one should always choose B2 so that step 1 and step 2 take the same time. |
|
|
|
|
|
|
#66 | |
|
"Curtis"
Feb 2005
Riverside, CA
2·2,927 Posts |
Quote:
I mean, I appreciate that with perfect software and no memory constraint you are correct, but we do not have such software at our disposal. So, why would we choose your mathematically correct but in practice (with current software and memory systems) less efficient ratio? I have done empirical studies with GMP-ECM and composites around 200 digits, and found that stage 2 time of 40 to 50% of stage 1 time is quite a bit more efficient than stage 2 time equal to stage 1 time. It appears your paper supports the possibility that my experiments were not in error, and also that your point can be correct in principle yet not for our software. I am trusting the number of curves needed for a (say) t50 GMP-ECM calculates with the "-v" flag for each variant of B1/B2, as I believe that is coded based on your paper. If you agree this is possible, please stop telling us to choose B2 to make stage 2 time equal to stage 1 time. Every experiment I have run says this is bad advice with current software. If you disagree, please run your own experiments and post data. |
|
|
|
|
![]() |
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| GMP-ECM & Prime95 Stage 1 Files | Gordon | GMP-ECM | 3 | 2016-01-08 12:44 |
| Stage 1 with mprime/prime95, stage 2 with GMP-ECM | D. B. Staple | Factoring | 2 | 2007-12-14 00:21 |
| Need help to run stage 1 and stage 2 separately | jasong | GMP-ECM | 9 | 2007-10-25 22:32 |
| P4 Prescott - 31 Stage Pipeline ? Bad news for Prime95? | Angular | Hardware | 18 | 2004-11-15 07:04 |
| Stage 1 and stage 2 tests missing | Matthias C. Noc | PrimeNet | 5 | 2004-08-25 15:42 |