Mersenne Digest Wednesday, October 24 2001 Volume 01 : Number 895 ---------------------------------------------------------------------- Date: Sun, 21 Oct 2001 16:11:01 -0500 From: "Tom Cage" Subject: Mersenne: Glucas for the Macintosh Glucas for the Macintosh by Guillermo Ballester Valor http://sourceforge.net/projects/glucas version 2.8c released on Saturday, 20 October 2001 Binaries for the 601, 603, 603e, 604, 604e, 750, 7400, along with complete source can be downloaded at http://www.belchfirecomputing.com/GIMPS/GIMPS.html Happy Hunting, Tom http://www.belchfirecomputing.com *** Math is cheaper than physics *** _________________________________________________________________________ Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm Mersenne Prime FAQ -- http://www.tasam.com/~lrwiman/FAQ-mers ------------------------------ Date: Sun, 21 Oct 2001 20:43:50 -0400 From: Jud McCranie Subject: Mersenne: [Mersenne] video can affect Prime95 speed Your computer's video may affect the speed of Prime95! This applies to systems with video on the motherboard, sharing your main memory. George Woltman says it is because of the memory bandwidth used for video. Two weeks ago I got a 1300MHz Athlon, with 384MB of PC133 RAM. The video is on the MB, it shares memory. I noticed that the benchmarks were about half as good they should be! I discussed it with George, and he came up with the idea of testing the video. Here are per iteration times for 13,500,000, based on video mode: resolution color depth MB video memory time (sec) 1280x1024 16 bits 2.5 0.237 1024x768 32 bits 3.0 0.204 800x600 32 bits 1.8 0.171 1152x864 16 bits 1.9 0.168 1024x768 16 bits 1.5 0.156 800x600 16 bits 0.9 0.140 Generally, the more video memory used, the slower Prime95 runs. I have the power saver cut off the video after 10 minutes, and then the iteration time goes down to 0.121 seconds - almost twice as good as the worst time, and along the times for other Athlons of similar speed. So if you are buying a computer, it is better to get one with a real video card. If you're running Prime95 on a computer that has video built in to the motherboard, try this experiment, and have the video turn off after a few minutes of inactivity. Also, you can consider using a lower resolution or color depth if you want higher performance from Prime95 while you're using the computer. +---------------------------------------------------------+ | Jud McCranie | | | | Programming Achieved with Structure, Clarity, And Logic | +---------------------------------------------------------+ _________________________________________________________________________ Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm Mersenne Prime FAQ -- http://www.tasam.com/~lrwiman/FAQ-mers ------------------------------ Date: Mon, 22 Oct 2001 11:26:18 +0200 (MET DST) From: Reto Keiser Subject: Mersenne: Re: Problems with firedeamon and prime95 Hi, The strange thing is, that we installed firedeamon and prime95 by hand. If it worked properly, it would be the candidate for the image. Hence it is a normal win 2000 installation (this one is from an image) on where we installed firedeamon and prime95. We did the same on a (slightly) different installation one week ago, where it worked properly. On that version some minor changes were necessary (different login screen (that no ctrl-alt-del is necessary), newer printer driver). The fact, that it worked on a older installation, but not any more on the new one, indicates, that a detail in the windows installation might cause the problem that some parts of the memory were overwritten during the logout. The user interface is quite desirable, but if no solution can be found, we have to use the nt version instead. Reto & Werner > From: "Carleton Garrison" > Subject: Re: Mersenne: Re: Problems with Firedeamon and Prime95 > > The NT service version looses a lot of Prime95 interactivity, that's why > Firedaemon is preferable. > > I do know that if it is running invisible and you are unable to interact > with it, you can uninstall/remove the Prime95 service from Firedaemon, > reboot and get interaction again, from which point you can Prime95 service > install again. > > I don't know, it is hard to tell. I don't think your problems happen when > doing it by hand, so something must be wrong with the image? > > Carleton Garrison, > #105 www.teamprimerib.com _________________________________________________________________________ Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm Mersenne Prime FAQ -- http://www.tasam.com/~lrwiman/FAQ-mers ------------------------------ Date: Mon, 22 Oct 2001 02:48:54 -0700 From: "Paul Leyland" Subject: RE: Mersenne: Re: Problems with firedeamon and prime95 > The user interface is quite desirable, but if no solution can > be found, > we have to use the nt version instead. I've been using the NT version, under NT, for years. Whenever I want to do something interactive with the computation I fire up Prime95. The latter reads the same files that the service version produces and does The Right Thing. Works for me. Your mileage may vary. Paul _________________________________________________________________________ Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm Mersenne Prime FAQ -- http://www.tasam.com/~lrwiman/FAQ-mers ------------------------------ Date: Mon, 22 Oct 2001 13:43:25 +0200 From: "Steinar H. Gunderson" Subject: Mersenne: Re: Problems with firedeamon and prime95 On Mon, Oct 22, 2001 at 11:26:18AM +0200, Reto Keiser wrote: >The user interface is quite desirable, but if no solution can be found, >we have to use the nt version instead. I don't really see the problem -- last time I checked the service version, it had a front-end resembling Prime95, that one could use to control it? /* Steinar */ - -- Homepage: http://www.sesse.net/ _________________________________________________________________________ Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm Mersenne Prime FAQ -- http://www.tasam.com/~lrwiman/FAQ-mers ------------------------------ Date: Mon, 22 Oct 2001 15:54:00 +0100 From: Henk Stokhorst Subject: Mersenne: new maillist started L.S., A new maillist has been started called 'Lone Mersenne Hunters'. It is intended for those who do work on the Mersenne database outside the server assigned ranges. It is the place to tell what you do, what your plans are, how you check in the results, how you monitor other work being done etc. It is not the place to dicuss items that should be discussed on this list. The homepage can be found at http://groups.yahoo.com/group/LoneMersenneHunters Happy hunting, Henk Stokhorst. _________________________________________________________________________ Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm Mersenne Prime FAQ -- http://www.tasam.com/~lrwiman/FAQ-mers ------------------------------ Date: Mon, 22 Oct 2001 18:15:47 EDT From: EWMAYER@aol.com Subject: Mersenne: Re: Glucas 2.8c Guillermo Ballester Valor writes: > The increase in performance is moderate for most of platforms (0% to %5). For > Itanium (the STAR of the release) this version is almost twice faster than > 2.8b. Nice work on the IA64 optimizations, Guillermo! Actually, the Alpha is another platform where preload rather than true prefetch seems the best way to go, although the performance boost you're getting on the Itanium is much larger than one sees on the Alpha. > Here is the timings for an Itanium @ 800 Mhz (Compaq Blazer Itanium): {snip} > 1024 K 0.134/0.130 {snip} > 4096 K 0.588/0.574 The timings you sent me some time ago for Glucas 2.7b on a 667MHz Alpha 21264 with a similar 4MB L2 cache size at these runlengths are as follows: 1024 K 0.180/0.171 4096 K 0.831/0.787 which indicates about 10-15% better per-cycle performance for the IA64 relative to the 21264. This is good, but (being greedy :) I think the IA64 may be able to achieve even better performance with further tuning (of both source code and compiler), because the IA64 has such great FPU capabilities. If the 21264 could do just 2 adds per cycle (to say nothing of multiplies) I estimate the performance on the instruction mix typical of this kind of large-FFT code would increase by 20-30%. > IA64 architecture has a very nice feature: predication. In the DWT used in > most GIMPS clients, the normalization and carry phase has a relevant cost in > terms of performance. There some branches hard to predict and here the > predication substitutes this branches with great success. Of course it is possible (and in many cases desirable) to do the normalize and carry sans branches. Example: a typical construct in this part of the algorithm is an integer-arithmetic sequence like x = a + b if(x > c) x = x - c On machines with a conditional move instruction one can use that (i.e. calculate both a + b and a + b - c and pick one, based on the result of the conditional), but more portable and often faster is to use the properties of twos-complement arithmetic (here I assume signed 32-bit ints) like so: x = a + b x = x - (-(int)((unsigned)x >> 31)) & c where the cast of x to unsigned prior to shifting is to ensure one gets a binary (not an arithmetic) right-shift. As you know, one can do similar tricks to choose which of the two possible DWT weights multipliers to multiply by, and which of the two inverse bases of the Crandall-Fagin variable-base representation to divide by, thus eliminating all branches from this part of the code. Did you ever try such a branchless version on the IA64? > We still have no made a good timing page, we will send it to E.Mayer and to > sourceforge when possible. Yes, I've been tardy in updating the timings page - been too busy with work and Mlucas 2.7c to spend as much time as I should on it. I should have it somewhat up-to-date at the same time I release the new version of Mlucas, perhaps in a couple of weeks. In any event, it's not like Itanium users have a plethora of codes amongst which they must decide. :) Cheers, - -Ernst _________________________________________________________________________ Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm Mersenne Prime FAQ -- http://www.tasam.com/~lrwiman/FAQ-mers ------------------------------ Date: Tue, 23 Oct 2001 00:50:49 +0200 From: Guillermo Ballester Valor Subject: Mersenne: Re: Glucas 2.8c Hi, On Tue,Oct 23 2001 00:15, EWMAYER@aol.com wrote: > (snip) > Nice work on the IA64 optimizations, Guillermo! Actually, the Alpha > is another platform where preload rather than true prefetch seems > the best way to go, although the performance boost you're getting > on the Itanium is much larger than one sees on the Alpha. > The problem of preload, IMHO, is we need a lot of registers to be efficient. Have you tried it in the new Mlucas version?. The performance boost I get for Itanium is no only because of preload. See yia64.h code, I've rewrited the macros with the IA64 execution scheme in mind. The aim was to make the task easy to the compiler. > > Here is the timings for an Itanium @ 800 Mhz (Compaq Blazer Itanium): > > {snip} > > > 1024 K 0.134/0.130 > > {snip} > > > 4096 K 0.588/0.574 > > The timings you sent me some time ago for Glucas 2.7b on a 667MHz Alpha > 21264 with a similar 4MB L2 cache size at these runlengths are as follows: > > 1024 K 0.180/0.171 > > 4096 K 0.831/0.787 > > which indicates about 10-15% better per-cycle performance for the IA64 > relative to the 21264. This is good, but (being greedy :) I think the > IA64 may be able to achieve even better performance with further tuning > (of both source code and compiler), because the IA64 has such great > FPU capabilities. If the 21264 could do just 2 adds per cycle (to say > nothing of multiplies) I estimate the performance on the instruction > mix typical of this kind of large-FFT code would increase by 20-30%. > I think we will see better compiler versions soon and the advantage will increase. (the code also should be improved). > > IA64 architecture has a very nice feature: predication. In the DWT used > > in most GIMPS clients, the normalization and carry phase has a relevant > > cost in terms of performance. There some branches hard to predict and > > here the predication substitutes this branches with great success. > > Of course it is possible (and in many cases desirable) to do the normalize > and carry sans branches > > (snip) > >.Did you ever > try such a branchless version on the IA64? > Of course, I first used the branchless code and the result was dreadful timings. > > We still have no made a good timing page, we will send it to E.Mayer and > > to sourceforge when possible. > > Yes, I've been tardy in updating the timings page - been too busy with > work and Mlucas 2.7c to spend as much time as I should on it. I should > have it somewhat up-to-date at the same time I release the new version > of Mlucas, perhaps in a couple of weeks. In any event, it's not like > Itanium users have a plethora of codes amongst which they must decide. :) > Hope the nice competition in non_x86_GIMPS_clients arena will continue ;-) Guillermo. - -- Guillermo Ballester Valor gbv@oxixares.com Granada (Spain) _________________________________________________________________________ Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm Mersenne Prime FAQ -- http://www.tasam.com/~lrwiman/FAQ-mers ------------------------------ Date: Tue, 23 Oct 2001 16:42:11 +0200 From: Lars Lindley Subject: Mersenne: DB Sync Hi all. Anyone know when the next sync will be? My list of cleared exponents is growing very big /Lars _________________________________________________________________________ Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm Mersenne Prime FAQ -- http://www.tasam.com/~lrwiman/FAQ-mers ------------------------------ Date: Tue, 23 Oct 2001 18:38:07 +0200 From: Achim.Passauer@t-online.de (Achim Passauer) Subject: Re: Mersenne: DB Sync Lars, Sorry, I donīt know when the server synch will happen but I want to add another question: could someone please enable the server to count the P4-machines? I think that an increasing number of machines has this CPU and though it doesnīt explain the loss of about 9000 machines during the past 7 months the number should be as precise as possible. Regards Achim _________________________________________________________________________ Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm Mersenne Prime FAQ -- http://www.tasam.com/~lrwiman/FAQ-mers ------------------------------ Date: Tue, 23 Oct 2001 18:42:45 +0200 From: Lars Lindley Subject: Re: Mersenne: DB Sync On Tuesday 23 October 2001 18.38, Achim Passauer wrote: > Lars, > > Sorry, I donīt know when the server synch will happen but I want > to add another question: could someone please enable the server to > count the P4-machines? I think that an increasing number of > machines has this CPU and though it doesnīt explain the loss of > about 9000 machines during the past 7 months the number should be > as precise as possible. > > Regards > Achim Achim, That will proably be fixed when Scott updates primenet server to also recognize v20 & v21 and that has not happened yet so who knows when that can be.. Regards, Lars _________________________________________________________________________ Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm Mersenne Prime FAQ -- http://www.tasam.com/~lrwiman/FAQ-mers ------------------------------ Date: Tue, 23 Oct 2001 17:11:37 EDT From: EWMAYER@aol.com Subject: Mersenne: Re: branchless carry propagation (Was: Glucas 2.7c released) I wrote: >Example: a typical construct in this part of the >algorithm is an integer-arithmetic sequence like > >x = a + b >if(x > c) x = x - c > >On machines with a conditional move instruction one can use that >(i.e. calculate both a + b and a + b - c and pick one, based on the > result of the conditional), but more portable and often faster is >to use the properties of twos-complement arithmetic (here I assume >signed 32-bit ints) like so: > >x = a + b >x = x - (-(int)((unsigned)x >> 31)) & c Sorry, that last part should read x = a + b - c x = x + (-(int)((unsigned)x >> 31)) & c i.e. one subtracts c immediately and then adds it back in if the result is negative. Upshot: one replaces either of A) add, conditional branch, possibly another add or B) 2 add, conditional move (if available) with C) 3 add, negate, shift, logical and. Interestingly, (C) is often faster than (B) even on hardware which has a CMOV instruction - the Alpha 21264 architecture reference manual makes this point when discussing code generation involving CMOV. - -Ernst _________________________________________________________________________ Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm Mersenne Prime FAQ -- http://www.tasam.com/~lrwiman/FAQ-mers ------------------------------ Date: Thu, 25 Oct 2001 01:01:11 -0500 From: softmade@mailtag.com Subject: Mersenne: Lucas Wiman Mersenne Prime FAQ Forgive my ignorance but; In reading the Lucas Wiman Mersenne Prime FAQ I became confused at the Q5.3 instruction. (see FAQ insert below). I want to know how many decimal digits are in a given MP. This part of the FAQ does not make sense to me. Specifically; First off this question seems to ask 10,000,000 exponents. It must mean 10,000,000 digits. The answer given below, M33219278, by my calculations, has less than 10,000,000 digits. The questions below ask "How many digits are in a given Mp?" and "What is the smallest Mp with a given number of digits?" The explanation does not seem to answer that question. 33,219,278/3.321928094887 = 9,999,999.11230167668 and 33,219,279/3.321928094887 = 9,999,999.41333167235 and 33,219,280/3.321928094887 = 9,999,999.71436166801 and 33,219,281/3.321928094887 = 10,000,000.0153916636 This number 33,219,281 seems, from the explanation below, to be the first Mp to have 10,000,000 decimal digits. Can I depend on this? This would seem to make the answer 33,219,278 the third highest Mp with less than 10,000,000 digits. I need a formula that will definitely give the exact number of decimal digits in a Mp or Mersenne prime Mp. Can you help? Thanks Dan =========================================================================== >Q5.3: What is the smallest Mersenne number with 10,000,000 exponents? >How many digits are in a given Mp? What is the smallest Mp with a given >number of digits? >A: M33219278. We can think derive a formula like this: >d is the number of decimal digits we want. >10^(d-1)-1 is the largest number with d-1 digits, therefore we want the >smallest number in the form 2^n-1 greater than 10^(d-1)-1. >2^n-1 > 10^(d-1)-1 >2^n > 10^(d-1) >n > log_2(10^(d-1)) >n > (d-1)*log_2(10) >so the smallest Mersenne number with d digits is the smallest integer >greater than or equal to (d-1)*log_2(10) >(log_2(10)) is about 3.321928094887) >we can work similarly to come up with how many digits are in a Mersenne >number: >10^(d-1)-1 < 2^n-1 <= 10^d-1 >10^(d-1) < 2^n <= 10^d >log_2(10^(d-1)) < n <= log_2(10^d) >(d-1)*log_2(10) < n <= d*log_2(10) >d-1 < n/log_2(10) <= d >2^n-1 has d digits. This is plain since 10^(d-1)-1 is the largest number >with d-1 digits, and 10^d-1 is the largest number with d digits. >Hence, d is the least integer greater than or equal to n/log_2(10). >Note, the above is actually true irrespective of the numerical valu>e >of the symbol "2" or the symbol "10" - i.e. replace "2" by "3", or "10" >by "16" in the arguments above, and they still work. >(thank you Ken Kriesel, and Brian Beesley) =========================================================================== _________________________________________________________________________ Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm Mersenne Prime FAQ -- http://www.tasam.com/~lrwiman/FAQ-mers ------------------------------ End of Mersenne Digest V1 #895 ******************************