mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > GMP-ECM

Reply
 
Thread Tools
Old 2005-03-05, 14:29   #51
PBMcL
 
PBMcL's Avatar
 
Jan 2005

3E16 Posts
Default

I built my input files using CodeWarrior as an editor of convenience. But the point is that ECM should be robust enough to handle both, which is easy to do.
PBMcL is offline   Reply With Quote
Old 2005-03-05, 18:47   #52
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

635410 Posts
Default

Quote:
Originally Posted by PBMcL
I built my input files using CodeWarrior as an editor of convenience. But the point is that ECM should be robust enough to handle both, which is easy to do.
That explains the Mac line encodings, but I do agree the GMP-ECM should be able to handle both.
rogue is offline   Reply With Quote
Old 2005-03-05, 23:30   #53
Xyzzy
 
Xyzzy's Avatar
 
"Mike"
Aug 2002

823410 Posts
Default

I have no idea if this will help anyone, but today I ran a pile of benchmarks testing both various k values and the "treefile" command line argument... In a nutshell, "treefile" is supposed to save main memory by using intermediate files written to disk... It appears like it saves you a pile of memory and there is no slowdown that I can tell...

How to interpret this table: I tested 2^1061-1 at 60 digits (26e7) and saved the stage one results and then ran stage two with various k values... The first column is the k, the second is the time in milliseconds for stage two to complete and the third column is my main memory usage for the ecm process, listed in 15s intervals...

Code:
k  | time ms | resident memory usage at 15s intervals
---+---------+---------------------------------------
40 | 5646303 | 32 35 37 39 41 47 81 197 139 215 90 93 95 98 99 98 245 108 108 108 108 127 127 255 402 422 148 148 148 148 157 153 295 441 441 223 148 148 148 157 221 148 441 441 307 148 148 148 148 167 185 295 441 441 148 148 148 148 185 148 295 441 441 148 148 148 148 148 157 221 441 441 148 148 148 148 167 221 185 441 441 307 148 148 148 148 221 148 442 441 307 148 148 148 148 157 167 295 442 441 148 148 148 148 167 221 148 442 442 307 148 148 148 148 148 153 295 148 307 148 148 148 148 157 157 190 442 307 148 148 148 148 148 153 295 442 442 148 148 148 148 167 167 295 442 442 148 148 148 148 148 148 295 442 442 148 148 148 148 185 153 221 442 442 148 148 148 148 150 148 221 442 442 148 148 148 148 148 221 157 442 442 307 148 148 148 148 185 148 442 442 307 148 148 148 148 221 157 442 442 307 148 148 148 148 221 185 442 442 307 148 148 148 148 185 157 295 442 442 148 148 148 148 148 148 221 442 442 307 148 148 148 148 148 185 295 442 442 148 148 148 148 185 153 295 442 442 148 148 148 148 185 148 295 442 442 148 148 148 148 148 157 295 442 442 148 148 148 148 185 148 221 442 442 148 148 148 148 148 148 221 442 442 148 148 148 148 148 179 221 442 442 148 148 148 148 167 221 221 442 442 148 148 148 148 167 221 185 442 442 307 148 148 148 148 148 148 185 442 442 307 148 148 148 148 157 221 148 442 442 307 148 148 148 148 185 151 295 442 442 148 148 148 148 167 167 221 442 442 148 148 148 148 148 221 148 442 442 307 148 148 148 148 167 185 295 442 442 148 148 148 148 157 185 295 442 442 439 282 214 180 162 148 145
35 | 4928866 | 33 36 38 41 42 63 197 139 215 91 93 96 98 171 135 108 108 108 108 127 145 255 402 422 148 148 148 148 167 167 441 441 307 148 148 148 157 221 185 441 441 307 148 148 148 157 157 221 441 441 148 148 148 148 185 157 295 441 441 148 148 148 148 153 185 295 441 441 148 148 148 148 148 148 295 441 307 148 148 148 148 185 157 442 441 307 148 148 148 148 221 185 442 441 307 148 148 148 153 157 221 442 442 148 148 148 148 185 148 295 442 442 148 148 148 148 153 167 295 442 442 148 148 148 148 167 148 295 442 442 148 148 148 148 157 157 190 442 307 148 148 148 148 185 157 442 442 307 148 148 148 148 221 185 442 442 307 148 148 148 148 153 221 442 442 148 148 148 148 167 167 221 442 442 307 148 148 148 148 148 167 295 442 442 148 148 148 148 148 153 148 221 442 442 307 148 148 148 148 185 148 442 442 307 148 148 148 148 148 148 295 190 307 148 148 148 148 167 148 221 442 442 307 148 148 148 148 148 167 295 442 442 148 148 148 148 148 221 148 442 442 307 148 148 148 157 221 167 442 442 307 148 148 148 148 167 167 442 442 307 148 148 148 148 185 157 442 442 307 148 148 148 157 221 167 442 442 307 148 148 148 148 221 148 442 442 442 148 148 148 148 167 157 221 442 442 148 148 148 148 185 148 295 442 442 148 148 148 148 148 153 295 442 442 148 148 148 148 153 153 221 442 442 439 282 214 180 162 148 145
30 | 4945303 | 31 34 36 39 41 46 60 112 84 204 94 96 99 101 104 109 114 167 118 118 118 118 118 148 126 238 358 381 323 164 164 164 164 194 164 194 404 404 404 164 164 164 164 164 180 164 284 404 404 323 164 164 164 164 194 164 194 404 386 404 164 164 164 164 168 180 164 284 404 404 323 164 164 164 164 194 171 194 404 164 404 164 164 164 164 164 164 168 224 404 404 404 164 164 164 164 164 180 224 168 229 404 404 164 164 164 164 164 180 164 284 404 404 323 164 164 164 164 164 180 224 404 404 323 164 164 164 164 164 224 171 284 404 404 164 164 164 164 164 164 194 284 404 404 323 164 164 164 164 194 171 224 404 404 323 164 164 164 164 180 224 168 284 404 404 164 164 164 164 164 164 180 284 404 404 323 164 164 164 164 194 164 194 404 404 289 164 164 164 164 171 224 180 284 404 404 164 164 164 164 164 180 164 224 404 404 323 164 164 164 164 168 224 180 404 447 404 164 164 164 164 164 194 171 284 404 404 323 164 164 164 164 164 168 224 404 404 323 164 164 164 164 164 224 164 284 404 404 164 164 164 164 164 166 194 284 404 404 323 164 164 164 164 194 164 194 404 404 404 164 164 164 164 168 194 171 284 404 404 164 164 164 164 164 180 164 224 404 404 323 164 164 164 164 171 224 171 404 404 404 164 164 164 164 164 180 168 284 404 404 323 164 164 164 164 168 164 224 404 404 323 401 293 227 194 177 167 161 161
25 | 4155223 | 30 33 35 38 40 41 50 76 172 204 87 96 98 101 103 135 106 137 118 118 118 118 118 129 126 238 358 381 323 164 164 164 164 171 164 224 404 404 323 164 164 164 164 164 171 194 404 404 404 164 164 164 164 168 194 180 284 404 404 164 164 164 164 164 164 180 284 404 404 323 164 164 164 164 194 171 194 404 404 404 164 164 164 164 164 224 180 284 404 404 164 164 164 164 164 164 180 284 404 404 323 164 164 164 164 194 171 197 404 404 323 164 164 164 164 180 224 164 284 404 404 164 164 164 164 164 164 194 284 404 404 323 164 164 164 164 164 180 224 404 404 323 164 164 164 164 168 224 168 284 404 404 164 164 164 164 164 164 194 284 404 404 323 164 164 164 164 168 180 224 404 404 323 164 164 164 164 164 224 171 284 404 404 164 164 164 164 164 164 194 284 404 404 323 164 164 164 164 168 180 224 404 404 323 164 164 164 164 164 224 164 284 404 404 164 164 164 164 164 168 194 284 404 404 323 164 164 164 164 176 171 224 404 404 323 164 164 164 164 164 224 168 284 404 404 164 164 164 164 164 168 194 284 404 404 323 164 164 164 164 194 164 194 404 404 225 401 293 227 194 177 167 161 161
20 | 3918566 | 35 37 39 42 44 46 46 56 49 126 95 159 214 105 107 109 112 114 116 150 151 186 131 131 131 131 131 131 140 131 165 144 401 427 362 183 183 183 183 183 183 192 183 318 453 453 362 183 183 183 183 183 183 217 217 250 339 453 453 362 183 183 183 183 183 192 192 192 183 318 453 453 453 183 183 183 183 183 200 200 192 250 453 453 453 362 183 183 183 183 183 183 183 183 318 453 453 453 183 183 183 183 183 200 200 187 250 453 453 453 362 183 183 183 183 183 183 187 187 318 453 453 453 183 183 183 183 183 183 192 183 187 318 453 453 362 183 183 183 183 183 187 217 217 217 247 453 453 362 183 183 183 183 183 183 187 183 217 318 453 453 362 183 183 183 183 183 217 250 183 318 453 453 292 183 183 183 183 183 187 250 185 318 453 453 453 183 183 183 183 183 187 192 200 250 453 453 453 362 183 183 183 183 183 217 250 183 318 453 453 453 183 183 183 183 183 183 187 183 183 318 453 453 290 183 183 183 183 183 187 183 183 196 453 453 453 362 183 183 183 183 183 183 217 217 250 453 453 453 362 183 183 183 183 183 217 250 200 318 453 453 453 450 450 328 235 214 194 187 180 180 180 
15 | 3519437 | 40 43 45 48 50 53 54 59 65 101 147 109 171 252 123 126 128 131 133 136 158 178 160 181 298 155 155 155 155 156 175 156 156 161 313 471 471 500 424 215 215 215 215 215 215 225 255 215 255 372 530 530 530 424 215 215 215 215 215 226 220 235 225 372 530 330 530 424 215 215 215 215 215 225 220 235 225 372 530 404 530 424 215 215 215 215 215 218 215 225 215 372 530 215 530 424 215 215 215 215 215 215 235 220 294 225 294 530 530 530 424 215 215 215 215 215 215 235 255 225 255 372 530 530 530 424 215 215 215 215 215 220 220 218 225 372 530 530 530 424 215 215 215 215 215 235 215 235 220 372 530 530 530 424 215 215 215 215 215 225 225 235 225 372 530 530 530 424 215 215 215 215 215 215 215 294 225 294 530 530 530 424 215 215 215 215 215 215 224 255 218 255 372 530 530 530 215 215 215 215 215 215 215 219 215 225 372 530 530 530 424 215 215 215 215 215 235 215 215 220 372 530 239 530 424 526 385 385 298 251 227 227 219 211 211 211 
10 | 3236481 | 58 61 63 66 68 70 73 75 75 80 96 114 154 225 377 186 265 391 411 163 166 168 171 173 175 178 184 186 253 219 184 327 470 204 204 204 204 204 204 204 213 275 275 240 213 346 489 774 774 812 812 589 280 280 280 280 280 280 280 289 316 423 289 299 565 850 850 850 850 589 280 280 280 280 280 280 280 280 316 289 285 289 351 565 850 850 850 850 589 280 280 280 280 280 280 280 280 285 351 281 316 423 565 850 850 850 850 589 280 280 280 280 280 280 280 280 280 280 351 316 565 850 850 850 850 589 280 280 280 280 280 280 280 280 289 351 280 289 423 565 850 850 850 850 589 280 280 280 280 280 280 280 299 280 423 316 285 565 850 850 850 850 589 280 280 280 280 280 280 280 280 351 316 299 285 423 565 850 850 850 850 589 280 280 280 280 280 280 280 280 299 423 280 289 423 280 850 850 850 850 589 845 845 540 295 408 342 342 306 306 286 281 275 275 275 275
The ecm file used to do all this is attached... I could not test k<10 due to the fact I only have 1GB of memory...
Attached Files
File Type: ecm 60digit.ecm (412 Bytes, 175 views)
Xyzzy is offline   Reply With Quote
Old 2005-03-06, 08:49   #54
guil
 

224108 Posts
Smile

[QUOTE=error404]Rogue,



Thanks for the above.

ecm-6.0 compiles correctly on a G5, with no errors, and make check works correctly also.

Guil
  Reply With Quote
Old 2005-03-06, 11:21   #55
dave_dm
 
May 2004

1208 Posts
Default

Quote:
Originally Posted by Xyzzy
I tested 2^1061-1 at 60 digits (26e7) and saved the stage one results and then ran stage two with various k values...
What I often do if I want to test stage 2 with large B1 is this: Do a savefile run with B1=1000. Then edit the savefile, change 1000 to your B1 value and erase the checksum field. This saves you doing pretty much the whole of stage 1 (and guarantees your benchmarking won't be interrupted with inconveniently finding a factor of the input number )

Dave
dave_dm is offline   Reply With Quote
Old 2005-03-06, 11:37   #56
akruppa
 
akruppa's Avatar
 
"Nancy"
Aug 2002
Alexandria

2,467 Posts
Default

Quote:
Originally Posted by PBMcL
But the point is that ECM should be robust enough to handle both, which is easy to do.
It certainly should be. There's a patch for this problem at the GMP-ECM 6.0 page now.

Alex
akruppa is offline   Reply With Quote
Old 2005-03-06, 23:17   #57
Mystwalker
 
Mystwalker's Avatar
 
Jul 2004
Potsdam, Germany

3·277 Posts
Default

Quote:
Originally Posted by Citrix
Is there a windows version compiled for p4 available some where?

Thanks,
Citrix
I'm going to compile such a version when I'm back home - which will be Wednesday ot Thursday. If you want to do it on your own, just take JHansen's excellent step-by-step guide - companioned by my comments. It really is a matter of minutes to a quarter of an hour.

Alternatively, you can try this Pentium-M optimized version. I don't know if there are big differences...

Last fiddled with by Mystwalker on 2005-03-06 at 23:19
Mystwalker is offline   Reply With Quote
Old 2005-03-07, 17:55   #58
Mystwalker
 
Mystwalker's Avatar
 
Jul 2004
Potsdam, Germany

3·277 Posts
Default

One thing that came to my mind:

According to the readme file, Brent-Suyama's extension finds extra factors and thus reduces the amount of curves that need to be run.
Assuming I run stage1 with prime95, does this change the required amount of curves?
Mystwalker is offline   Reply With Quote
Old 2005-03-07, 18:18   #59
akruppa
 
akruppa's Avatar
 
"Nancy"
Aug 2002
Alexandria

2,467 Posts
Default

Stage 1 is completely independent of the Brent-Suyama extension. Brent-Suyama only affects stage 2, specifically the Initing and Computing roots of F and G steps.

And also, last time I tested this, gmp-ecm and Prime95 computed the stage 1 residues exactly the same way. Try printing residues with "-v -v", the value of x after stage 1 should be identical whether the stage 1 was computed in gmp-ecm or resumed from Prime95 (with the same sigma and B1 parameters, of course). This means that all values computed in stage 2 will be the same whether gmp-ecm or Prime95 did stage1, and the probability of success will of course be the same as well.

Alex
akruppa is offline   Reply With Quote
Old 2005-03-13, 16:41   #60
ET_
Banned
 
ET_'s Avatar
 
"Luigi"
Aug 2002
Team Italia

2·3·11·73 Posts
Default

Quote:
Originally Posted by akruppa
Yes, that's a bug. To be fixed...

Phil, there's a patch for a tune-related problem at http://www.loria.fr/%7Ezimmerma/records/ecm-6.0.html, does that fix the segfault?

And I'll ask PaulZ about the loop counter.

Alex
The link appears "Forbidden" now...

Luigi
ET_ is offline   Reply With Quote
Old 2005-03-13, 17:25   #61
PBMcL
 
PBMcL's Avatar
 
Jan 2005

2×31 Posts
Default

Quote:
Originally Posted by ET_
The link appears "Forbidden" now...

Luigi
Try
http://www.komite.net/laurent/soft/ecm/ecm-6.0.html
PBMcL is offline   Reply With Quote
Old 2005-03-13, 17:26   #62
akruppa
 
akruppa's Avatar
 
"Nancy"
Aug 2002
Alexandria

2,467 Posts
Default

Laurent Fousse now hosts the GMP-ECM 6 announcement page at
http://www.komite.net/laurent/soft/ecm/ecm-6.0.html

The link on Paul's page http://www.loria.fr/%7Ezimmerma/records/ecmnet.html is updated, but the ones in this thread weren't.

Alex
akruppa is offline   Reply With Quote
Old 2005-03-13, 17:56   #63
ET_
Banned
 
ET_'s Avatar
 
"Luigi"
Aug 2002
Team Italia

2×3×11×73 Posts
Default

Quote:
Originally Posted by akruppa
Laurent Fousse now hosts the GMP-ECM 6 announcement page at
http://www.komite.net/laurent/soft/ecm/ecm-6.0.html

The link on Paul's page http://www.loria.fr/%7Ezimmerma/records/ecmnet.html is updated, but the ones in this thread weren't.

Alex
Thank you!

Luigi
ET_ is offline   Reply With Quote
Old 2005-03-13, 18:51   #64
antiroach
 
antiroach's Avatar
 
Jun 2003

22×61 Posts
Default problem running configure script

i tried compiling this new version of ecm and when i run the configure script i get this error:

Code:
checking if gmp.h version and libgmp version are the same... (4.1.3/4.1.2) no
configure: error: 'gmp.h' and 'libgmp' have different versions! you have to properly reinstall GMP.
i installed gmp 4.1.3. should i install 4.1.2 instead?
antiroach is offline   Reply With Quote
Old 2005-03-13, 18:59   #65
akruppa
 
akruppa's Avatar
 
"Nancy"
Aug 2002
Alexandria

2,467 Posts
Default

This means that files from both GMP version 4.1.2 and 4.1.3 are installed, and configure finds the header files from one version but the library from the other.

Where did you install GMP, i.e. what was the --prefix= directory when you configured GMP? Does running configure for GMP-ECM with the same directory given for the --with-gmp= option solve the problem?

Alex
akruppa is offline   Reply With Quote
Old 2005-03-13, 19:33   #66
antiroach
 
antiroach's Avatar
 
Jun 2003

22·61 Posts
Default

ah yeah i didnt realize i had both 412 and 413 installed. i just ended up getting rid of both of the versions and seeing that 414 was out i installed it. and now the configure script and compilation went fine. thanks
antiroach is offline   Reply With Quote
Old 2005-03-14, 20:01   #67
Joe O
 
Joe O's Avatar
 
Aug 2002

3×52×7 Posts
Default

How does this bug manifest itself?
Potential bug in stage 2 (with very very small probability, of order 1/N where N is the input number). [patch]. Note: this patch changed on March 9, please apply it again if you got it on March 8.
Joe O is offline   Reply With Quote
Old 2005-03-14, 20:24   #68
akruppa
 
akruppa's Avatar
 
"Nancy"
Aug 2002
Alexandria

2,467 Posts
Default

A function that is meant to copy entires from one list into another and at the same time negate them did not actually write anything for entries == 0, so undefined data would remain in the target list. The effect could be that factors are not found when they should be, or perhaps that the input number is reported as a factor.

That function is used three times, and two out of the three times the source and target list are identical, so failing to write 0 to the target has no effect because it's already there. I'm not sure if entries with a 0 can actually happen in the third case. I'd expect this bug to occur very, very rarely.

Alex

Last fiddled with by akruppa on 2005-03-14 at 20:25
akruppa is offline   Reply With Quote
Old 2005-03-14, 22:11   #69
Joe O
 
Joe O's Avatar
 
Aug 2002

10000011012 Posts
Default

Quote:
Originally Posted by akruppa
I'd expect this bug to occur very, very rarely.
Alex
Nonetheless, could you update your P3 binary with this patch and make it available? Thanks in advance.
Joe O is offline   Reply With Quote
Old 2005-03-15, 11:36   #70
akruppa
 
akruppa's Avatar
 
"Nancy"
Aug 2002
Alexandria

2,467 Posts
Default

I've updated the binary with all currently available patches. The URL still is http://home.in.tum.de/~kruppa/ecm6_p3.zip

Note, however, that I strongly recommend that people build their own binaries. The official distribution is the source tarball, the P3 Windows binary was mainly a by-product of a test I did to see if GMP-ECM 6 builds cleanly in MinGW. That binary may not stay up-to-date with patches, and there won't be binaries for other cpu types etc.

BTW, while testing the new binary, I found strange behaviour of ecm.exe in Wine: when giving B2 or B2min-B2max parameters in scientific notation, ecm complains about the parameters and exits. The problem seems to be that sscanf() returns a value 1 too high for the %n conversion. Can MinGW users please try to reproduce this problem, for example with

ecm.exe 1000 1e6

Thanks,
Alex
akruppa is offline   Reply With Quote
Old 2005-03-15, 12:32   #71
Joe O
 
Joe O's Avatar
 
Aug 2002

3·52·7 Posts
Default

Quote:
Originally Posted by akruppa
Note, however, that I strongly recommend that people build their own binaries. The official distribution is the source tarball, the P3 Windows binary was mainly a by-product of a test I did to see if GMP-ECM 6 builds cleanly in MinGW. That binary may not stay up-to-date with patches, and there won't be binaries for other cpu types etc.

Thanks,
Alex
That's all fine and dandy if you are a tool builder, but I and many others, are tool users. You are ruling out a whole lot of people that would use your fine tool.
Joe O is offline   Reply With Quote
Old 2005-03-15, 13:13   #72
akruppa
 
akruppa's Avatar
 
"Nancy"
Aug 2002
Alexandria

2,467 Posts
Default

You can become a tool-builder by following JesH's step-by-step instructions in about 10 minutes.

I see a working compiler as a requirement to run small-scale open source software, similar as a computer and installed OS are requirements. What we do is make the build process as easy as we possibly can - "./configure", possibly with a parameter to tell the location of the GMP library, and "make" should be all that is needed to get binaries on any supported platform. If it isn't, it's a bug that we need to fix.

You can ask and expect that we make building the binary take as little hassle as at all possible. However, taking that much effort is what I ask of you.

Alex
akruppa is offline   Reply With Quote
Old 2005-03-15, 14:52   #73
Joe O
 
Joe O's Avatar
 
Aug 2002

52510 Posts
Default

Quote:
Originally Posted by akruppa
You can become a tool-builder by following JesH's step-by-step instructions in about 10 minutes.
You miss the point. I don't want to be a tool-builder.(again)
I am perfectly capable of using a compiler and linker. Heck, I am perfectly capable of writing a compiler and/or linker. Some of the ones I have worked on are still available commercially. But if I wanted to build tools, I would be working on GCC. I just want to factor numbers right now.
May I suggest that you look at the GIMPS model. Look how many people use this program. Would there be as many if not for the available binaries?
Joe O is offline   Reply With Quote
Old 2005-03-15, 16:14   #74
smh
 
smh's Avatar
 
"Sander"
Oct 2002
52.345322,5.52471

29·41 Posts
Default

Maybe someone else wants to make optimized binaries for each cpu and host them?

BTW, isn't it time for a v6.01? That would be much easier than running 6 or 7 patches before compiling?
smh is offline   Reply With Quote
Old 2005-03-16, 12:09   #75
akruppa
 
akruppa's Avatar
 
"Nancy"
Aug 2002
Alexandria

2,467 Posts
Default

Quote:
Originally Posted by Joe O
You miss the point.
Probably not.

Quote:
Originally Posted by Joe O
I don't want to be a tool-builder.(again)
I don't want to be cross-compiling.

Quote:
Originally Posted by Joe O
I am perfectly capable of using a compiler and linker. Heck, I am perfectly capable of writing a compiler and/or linker. Some of the ones I have worked on are still available commercially. But if I wanted to build tools, I would be working on GCC. I just want to factor numbers right now.
May I suggest that you look at the GIMPS model. Look how many people use this program. Would there be as many if not for the available binaries?
Poor comparison. How many architectures does GIMPS support? How many architectures and platforms does GMP-ECM support? Almost all of those supported architectures/platforms none of the developers actually use. Making binaries for them is a pain for us. And we won't make binaries for some platforms but not for others. Once again: the official distribution is the source tarball. If you think there should be binaries for your favourite platform(s) ready for download, you (or anyone) is invited to make and offer them. You'll get the usual support with the build process.

Alex
akruppa is offline   Reply With Quote
Old 2005-03-16, 12:12   #76
akruppa
 
akruppa's Avatar
 
"Nancy"
Aug 2002
Alexandria

2,467 Posts
Default

Quote:
Originally Posted by smh
BTW, isn't it time for a v6.01? That would be much easier than running 6 or 7 patches before compiling?
Yes, it is. But there are known problems left (well, at least one, afaik) and we'd like to have those fixed before there's a new patchlevel release, or we'd have to immeadiately release patches for that one, too.

Alex
akruppa is offline   Reply With Quote
Old 2005-03-16, 12:31   #77
Joe O
 
Joe O's Avatar
 
Aug 2002

3×52×7 Posts
Default

Quote:
Originally Posted by akruppa
Poor comparison. How many architectures does GIMPS support? How many architectures and platforms does GMP-ECM support? Alex
Yes, I should have used PrimeFormGW (PFGW) as the comparison.

By the way, is it the number of architectures that is important? or the number of people that use that architecture?

None of this is meant to take away from the good work you all have done. On the contrary, I would like to see your work more widely used, and appreciated.
Joe O is offline   Reply With Quote
Old 2005-03-16, 16:05   #78
BotXXX
 
BotXXX's Avatar
 
Aug 2003
Europe

2×97 Posts
Default

Indeed it would be handy to have pre-compiled binairies available. But how will you build them? Since there are at least 10 architectures available for compiling optimal code for it. Or would you like only one? i386/i468/i686 or something? But that gives a slight possible speed decrease.

Would you trust on the compiler that the binairy is indeed optimal or would you test it on the architecture? If you would like to test? who has such different working machines at home? and time enough to test and approve that there are no building errors.

Since the source tarball easily compiles on different compilers and platforms i think it is not a problem to distributed only the source.

Compiling gmp and ecm for every different x86 cpu flavour for the win-platform is just to time taking to do. Atleast that is my opinion. Especially when the developers don't have a windows machine to test it on.
BotXXX is offline   Reply With Quote
Old 2005-03-16, 17:01   #79
Mystwalker
 
Mystwalker's Avatar
 
Jul 2004
Potsdam, Germany

3·277 Posts
Default

I think it would be no big deal to collect binaries from the persons which use gmp-ecm - I could provide web space.

I can understand that especially Windows users prefer binaries to sources, because most do not compile their programs themselves and don't have the required environment. Without broadband Internet access, I would also think twice before downloading 20 MB of files just for one build process...
On the other hand, gmp-ecm is a program that can't be fast enough. Hence, it's always best to have it optimized for the system it runs on - which is done best when it's compiled on that particular system...

My proposals:
- Offering a collection of Windows builds for as many architectures as possible
- Begin could be 6.01
- Every binary should be tested ("make check") before submission - even better would be a solution such that downloaders can check the binaries against their resp. systems
- discussion point: What's the best way to take care of patches?
- Always suggest the sources & compile tools (incl. manual) to the user, as this is the approach that will result in maximal performance and compatibility


The question I have:
How dependent is GMP resp. gmp-ecm on the architecture?
Is e.g. a binary built on a AMD Thunderbird still optimal for a Sempron? A Northwood binary for a Prescott?
If not, we need a large amount of binaries.
What about different chipsets?

And one further question:
Does anyone know a good diff/merge tool for Windows?

Last fiddled with by Mystwalker on 2005-03-16 at 17:03
Mystwalker is offline   Reply With Quote
Old 2005-03-16, 18:47   #80
Phil MjX
 
Phil MjX's Avatar
 
Sep 2004

18510 Posts
Question

Hi all !

Before releasing 6.01 version, can someone tell me if he has succesfully applying the loopcount.patch to ecm-6.0?? Even with help from Alex (using the -R option), it doesn't seems to work for me. I have maybe done a mistake so I'll be pleased to hear from you... If nobody use it, can someone explain me how to simply count the curves in output files (without using bad hacks like using the "replace" option in word that counts every occurence of expressions, for example "step 2"...)?
The way I use gmp-ecm is to start it before sleeping, to let it run the whole night and working day till I'm back home at 7-8pm, then kill it and do other stuff untill I go to sleep and so on...I usually keep track of the number of curves in the run by renaming the result file (eg : numbername_date_B1_xxxcurves.txt).

Thanks for your help...

Philippe.

Last fiddled with by Phil MjX on 2005-03-16 at 18:48
Phil MjX is offline   Reply With Quote
Old 2005-03-16, 21:02   #81
Joe O
 
Joe O's Avatar
 
Aug 2002

3×52×7 Posts
Default

Except for PIV most current CPU's work well with a P3 build or even a PM build like Mystwalkers. Botxxx provided 3 binaries for ECM5.03 I found that his PM and P3 builds worked faster on K7 and K8 than his K7 build. I think something as simple as that provided by PFGW would work:


Quote:
Discussion group for PrimeFormGW (PFGW) primality-testing program. Use the list to discuss anything prime-related. Theory, algorithms, methods, and other computer programs are suitable topics.

OpenPFGW v1.2 - Official Release Feb 11, 2005
Win32 (95/98/ME/NT/2000/XP)
Linux binary Static linked Linux binary
FULL Source code Builds under Win32 and Linux, and other x86 systems

Download the correct version for your OS and unzip to a location of your choice. The packages include full instructions, information, and a tutorial. Open a command prompt or a shell, and you're ready to go!
Just a simple P3/PM build for two environments. If, you wanted to get fancier, you could provide a PIV version or versions as well, but the simple provision of P3/PM versions would cover a lot of territory.
Joe O is offline   Reply With Quote
Old 2005-03-16, 22:16   #82
BotXXX
 
BotXXX's Avatar
 
Aug 2003
Europe

2×97 Posts
Default

well no simple build ;) i just applied the 8 patches, and well got the bin's from MinGW, for 8th platforms. I can only test one, that is PM and well it works ;) but i can not really compare speeds that well.

Here is a 7z compact folder with the bin's in it.
http://1202.org/download/ECM6_patch8.7z

i will have a look at what things are different when compiling to different types and will try to make bin's when the 6.01 comes out.

The bin includes only x86 ready builds

--
note: that i did screwup with the naming of the bin. They all report as "Pentium M" while they shouldn't. Just noticed it now... but well have a look at the foldernames instead

Last fiddled with by BotXXX on 2005-03-16 at 22:19
BotXXX is offline   Reply With Quote
Old 2005-03-16, 23:05   #83
jasong
 
jasong's Avatar
 
"Jason Goatcher"
Mar 2005

3×7×167 Posts
Default

Quote:
Originally Posted by JHansen
5) Start the MinSys up again from the desktop and type

gunzip gmp-4.1.4.tar.gz
tar -xvf gmp-4.1.4.tar
cd gmp-4.1.4
./configure <--problem occurs here
make install
Maybe I made a bonehead mistake, but when I found that the only program at the location was ecm-6.0.tar.gz , I assumed it was the right one and downloaded it. I did a little mental pattern recognition on the instructions to figure out what to do next, since the filenames are different. No computer involved in this, I simply eyeballed things so I could figure out what the heck to do.

When I entered ./configure one of the messages said something like "/home/Jason directory doesn't exist." I tried adding a "Jason" directory in Windows and starting over, but it didn't help.

Any ideas?
jasong is offline   Reply With Quote
Old 2005-03-17, 00:45   #84
Xyzzy
 
Xyzzy's Avatar
 
"Mike"
Aug 2002

2·23·179 Posts
Default

I can host binaries and provide a ftp to upload them if you all need it... Or I can just make the attachment size larger and the binaries could be attached to messages...

Personally, I use the prepackaged Debian version of GMP-ECM... I can build it from source, and have before, but I am lazy...
Xyzzy is offline   Reply With Quote
Old 2005-03-17, 06:10   #85
Joe O
 
Joe O's Avatar
 
Aug 2002

3×52×7 Posts
Default

Quote:
Originally Posted by BotXXX
well no simple build ;) i just applied the 8 patches, and well got the bin's from MinGW, for 8th platforms. I can only test one, that is PM and well it works ;) but i can not really compare speeds that well.
BotXXX,
Thank you. I ran all 8 binaries on an Athlon64 at 2.4MHz. I'll only report on the Step2 times here. The Athlon was the fastest binary at 169079ms, followed by the Prescot at 169112ms, the Pentium M at 169271ms, the Athlon XP at 169358ms, the Pentium 3 at 169481ms, the Athlon K8 at 169627ms, the Nocona at 169666ms, and the Pentium 4 at 169779ms.

Note that the difference between the fastest and the slowest binary was only .7 sec, or about .4%. Yes, they all ran including the Prescott. Could you try some of the other binaries on your Pentium M? Maybe Mystwalker can try these on a Pentium IV. It will be the weekend before I have access to a Pentium IV and a Sempron 3100.

Just out of curiosity, what compiler did you use?

Oh and I just ran Alex's P3 binary 182330ms, and Mystwalker's PM binary 171330ms Though these were with IE open and this reply page open with its animated icons. I'll have to redo these after I post.

I've attached the input file I used.
The command line parameters were:
-dickson 12 11000000 <24737_991.txt >>output_xx.txt
Attached Files
File Type: txt 24737_991.txt (309 Bytes, 107 views)

Last fiddled with by Joe O on 2005-03-17 at 06:14
Joe O is offline   Reply With Quote
Old 2005-03-17, 12:01   #86
BotXXX
 
BotXXX's Avatar
 
Aug 2003
Europe

2×97 Posts
Default

Quote:
Originally Posted by Joe O
BotXXX,
Note that the difference between the fastest and the slowest binary was only .7 sec, or about .4%. Yes, they all ran including the Prescott. Could you try some of the other binaries on your Pentium M? Maybe Mystwalker can try these on a Pentium IV. It will be the weekend before I have access to a Pentium IV and a Sempron 3100.

Just out of curiosity, what compiler did you use?
I used the MinGW/MSYS environment and compile with gcc 3.4.2 (latest available i presume) And only compiled gmp-ecm with the different settings, actually you shoudl recompile gmp also everytime optimized for the build. Wich i'll do when compiling the next stable release.

When i have some of my time freely available.

Basicly it is very simple,
- install MSYS -> MinGW -> and the packages that come with it. (autoconf, binutils and the compilers)
- download and compile gmp ( www.swox.com/gmp )
(in msys and the download folder of gmp)
./configure
make
make install
- download and compile gmp-ecm
(in msys and the download folder of gmp-ecm)
./configure --with-gmp=/local
make

and at that moment you'll have a bin of gmp-ecm 6.0 for your system.

Ofcourse now there is the need to apply patches. Do this before starting compiling gmp-ecm.

- download the 8 different patches to gmp-ecm folder
- open msys
- go to the folder (logical ;) )
- type: Patch ecm60.patch1
- do this for all 8 of them
- make the compile of gmp-ecm and voila, new and patched bin.
BotXXX is offline   Reply With Quote
Old 2005-03-17, 12:48   #87
ET_
Banned
 
ET_'s Avatar
 
"Luigi"
Aug 2002
Team Italia

2·3·11·73 Posts
Default

Does the executable need any DLL?

I'mm waiting for someone hosting all Win executables domewhere...

Luigi
ET_ is offline   Reply With Quote
Old 2005-03-17, 13:17   #88
Mystwalker
 
Mystwalker's Avatar
 
Jul 2004
Potsdam, Germany

3×277 Posts
Default

Quote:
Originally Posted by jasong
Maybe I made a bonehead mistake, but when I found that the only program at the location was ecm-6.0.tar.gz , I assumed it was the right one and downloaded it. I did a little mental pattern recognition on the instructions to figure out what to do next, since the filenames are different. No computer involved in this, I simply eyeballed things so I could figure out what the heck to do.

When I entered ./configure one of the messages said something like "/home/Jason directory doesn't exist." I tried adding a "Jason" directory in Windows and starting over, but it didn't help.

Any ideas?
You also need GMP. Then, it should all work.
Mystwalker is offline   Reply With Quote
Old 2005-03-17, 13:26   #89
Mystwalker
 
Mystwalker's Avatar
 
Jul 2004
Potsdam, Germany

83110 Posts
Default

Quote:
Originally Posted by Joe O
Maybe Mystwalker can try these on a Pentium IV. It will be the weekend before I have access to a Pentium IV and a Sempron 3100.
I can try them in a few hours - if you provide me the binaries.

Quote:
Just out of curiosity, what compiler did you use?
One question for this point:
Alex said that binaries with VC++ would be a tad faster than MinGW and Cygwin builds. Does someone have good step-by-step instructions for this?
Espcially using VisualStudio.NET 2003...
Mystwalker is offline   Reply With Quote
Old 2005-03-17, 13:32   #90
Joe O
 
Joe O's Avatar
 
Aug 2002

3·52·7 Posts
Default

BotXXX,
When I said "Could you try some of the other binaries on your Pentium M?" Imeant run them for timings. I really think that they all will work, well maybe not all, and will get run times very close together. Your point about recompiling GMP for each environment is a very good one, and may make a difference. But given the amount of work required, wouldn't just providing your Pentium-M binary be "good enough" for everyone? Alex had a very good point when he said there are a lot of environments and we can't support all of them. Also having many binaries may confuse the exact people we are trying to help. Now I for one, would like to see if recompiling GMP would make a significant difference, but maybe you only need to do it for some of the 8 choices? It is a lot of work, after all. If there is no difference for one or two then it may not be worth doing all of them. I will be happy to run timings for whatever you do, on as many different architectures that I can get access to. Thanks again for all your hard work.
Joe O is offline   Reply With Quote
Old 2005-03-17, 13:37   #91
Joe O
 
Joe O's Avatar
 
Aug 2002

3×52×7 Posts
Default

Quote:
Originally Posted by ET_
Does the executable need any DLL?

I'mm waiting for someone hosting all Win executables domewhere...

Luigi
The binaries produced by the MinGw/Msys system do not need a DLL. Take a look at my timings, and reproduce them on another processor if you will. I think that we already have "all Win executables" hosted by BotXXX. A spread of .4% is not significant IMHO.
Joe O is offline   Reply With Quote
Old 2005-03-17, 13:52   #92
Joe O
 
Joe O's Avatar
 
Aug 2002

3·52·7 Posts
Default

Quote:
Originally Posted by Mystwalker
I can try them in a few hours - if you provide me the binaries.
BotXXX provided them in his post. http://www.7-zip.org is where you can get the program to expand the .7z compact folder. It is a very good program. If you need a ZIP version, which is much larger, email me at factrange at yahoo dot com and I will send you my setup. (This is an offer open to everyone else as well.) I can also provide a .bz2 version if needed, all courtesy of the same program.

Last fiddled with by Joe O on 2005-03-17 at 13:53
Joe O is offline   Reply With Quote
Old 2005-03-17, 14:47   #93
Mystwalker
 
Mystwalker's Avatar
 
Jul 2004
Potsdam, Germany

3×277 Posts
Default

Ah, missed that one.
I already have 7-zip installed. It could be more userfriendly, but it does its job...
I will test the binaries soon.
Mystwalker is offline   Reply With Quote
Old 2005-03-17, 22:43   #94
Mystwalker
 
Mystwalker's Avatar
 
Jul 2004
Potsdam, Germany

3·277 Posts
Default

I was only able to test two binaries. gmp-ecm takes ages for stage1.
Guess I'll do a resume of a stage1 for the rest. Much faster, but they won't benefit the factorization...
Mystwalker is offline   Reply With Quote
Old 2005-03-17, 22:44   #95
jasong
 
jasong's Avatar
 
"Jason Goatcher"
Mar 2005

3×7×167 Posts
Default

Quote:
Originally Posted by akruppa
Poor comparison. How many architectures does GIMPS support? How many architectures and platforms does GMP-ECM support? Almost all of those supported architectures/platforms none of the developers actually use. Making binaries for them is a pain for us. And we won't make binaries for some platforms but not for others. Once again: the official distribution is the source tarball. If you think there should be binaries for your favourite platform(s) ready for download, you (or anyone) is invited to make and offer them. You'll get the usual support with the build process.

Alex
I'm not trying to dictate what anybody should do, I'll be the first to admit I don't know how much labor would be involved. But let me ask you this:"Do you believe in Karma or a higher being?" If you do 2-3 popular platforms and each gets downloaded 15 times, how much have you given to the general productivity of the world? My job is to clean a parking lot, and that's IT. But when a woman asked me to help her load something in her car, I did it. From a survival of the fittest point of view this was incredibly stupid, but if my belief system is correct then that deed will be remembered for the rest of eternity.

Sorry if I've offended or ruined the topic, but if I had the know-how I WOULD do the task.
jasong is offline   Reply With Quote
Old 2005-03-18, 14:19   #96
Mystwalker
 
Mystwalker's Avatar
 
Jul 2004
Potsdam, Germany

33F16 Posts
Default

I've tested the 8 binaries on a 3.2 GHz P4. Unforunately, I don't know if it's a Northwood or a Prescott core.

Code:
Core		Time for stage2 [ms]

AMD athlon	340372
AMD athlon XP	340452
AMD K8		339826
Nocona		339799
P3		339919
P4		340865
PM		339600
Prescott	340628
So, the binary for the Pentium M was fastest, but all results are in a range of 1.3 seconds or <0.4%.
I think that measurement errors are bigger, so I can't say that there was a "best" binary.

It seems like the architecture optimizations are less valuable than I thought.

Last fiddled with by Mystwalker on 2005-03-18 at 14:20
Mystwalker is offline   Reply With Quote
Old 2005-03-18, 15:41   #97
akruppa
 
akruppa's Avatar
 
"Nancy"
Aug 2002
Alexandria

1001101000112 Posts
Default

Quote:
Originally Posted by BotXXX
I used the MinGW/MSYS environment and compile with gcc 3.4.2 (latest available i presume) And only compiled gmp-ecm with the different settings, actually you shoudl recompile gmp also everytime optimized for the build. Wich i'll do when compiling the next stable release.

When i have some of my time freely available.
All the binaries were linked against the same GMP? That makes no sense, practically all the cpu time is spent in GMP functions, those are what needs to be optimized for the target architecture above all else. So, you actually need to recompile GMP for each build. You can probably keep several compiled GMP libraries around by specifying where architecture dependent files should go with GMP's configure, then tell GMP-ECM's configure where the library for each target architecture is.

In any case, if you make binaries for different architectures, you have to configure and compile GMP for each architecture, anything else will give absymal performance or not run at all on any architecture other than the one GMP was optimized for.

Alex
(hey, I said cross-compiling was a pain!)
akruppa is offline   Reply With Quote
Old 2005-03-19, 02:18   #98
jasong
 
jasong's Avatar
 
"Jason Goatcher"
Mar 2005

66638 Posts
Default

I got to ./configure and got the following apparent problems:

/home/Jason:No such file or directory AND
configure WARNING:Missing script is too old or missing
Checking for mawk...No
Configure...ERROR:Could not find a working configurer
jasong is offline   Reply With Quote
Old 2005-03-19, 04:22   #99
trilliwig
 
trilliwig's Avatar
 
Oct 2004
tropical Massachusetts

1058 Posts
Exclamation

Quote:
Originally Posted by jasong
I got to ./configure and got the following apparent problems:

/home/Jason:No such file or directory AND
configure WARNING:Missing script is too old or missing
Checking for mawk...No
Configure...ERROR:Could not find a working configurer
Quote:
Originally Posted by JHansen
3) I installed MSYS in c:\GNU\msys

Now you get an icon on the desktop where you can start the MinSys. Do this, because is creates your home folder. Then exit it again.

4) Download gmp and place it in your newly created home folder. (For me is was called C:\GNU\msys\1.0\home\Jes )
Did you do step 3.5 in Jes' walkthrough to create your home folder? Or maybe you didn't install MSYS at all?

--
Sam
trilliwig is offline   Reply With Quote
Old 2005-03-23, 10:24   #100
Lfousse
 
Mar 2005

3 Posts
Default

Quote:
Originally Posted by akruppa
(hey, I said cross-compiling was a pain!)
Hi Alexander,

Cross-compiling worked like a charm for me. We have the mingw32 binutils and cross-compiler available in debian, and I could easily produce a static ecm-athlon.exe just by playing with the --host parameter.

Well, I couldn't test my binary yet, but I'm confident it works
Lfousse is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
GMP 6.1.0 released jwaltos Software 0 2015-11-10 03:36
GTX 960 Released Mark Rose GPU Computing 12 2015-06-12 09:51
GCC 4.8 released Dubslow Programming 0 2013-03-24 07:37
PRPNet 4.0.1 Released Joe O Sierpinski/Riesel Base 5 1 2010-10-22 20:11
PFGW 3.2.3 has been Released rogue Software 10 2009-10-28 07:07

All times are UTC. The time now is 13:48.


Mon Aug 2 13:48:54 UTC 2021 up 10 days, 8:17, 1 user, load averages: 1.88, 2.02, 1.98

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.