![]() |
Compiling Phrot
One more thing, although the test results are from LLR, I have finally been able to build and run phrot on a Core 2 Duo.
phrot is about 33% faster than LLR for bases that are not powers of 2. LLR is still king (by a long shot) for bases that are powers of 2. phrot can produce residues that are compatible with LLR, so PRP tests with phrot are valid. I have run a number of tests and have verified that it is running correctly. I'm switching over to it as I write this. BTW, I haven't tested this on a P4, but I think it would have similar results. If anyone needs help setting it up, let me know. BTW, I have made a couple of changes to Phil's latest version of phrot that might be useful to anyone choosing to go that route. |
[quote=rogue;130670]One more thing, although the test results are from LLR, I have finally been able to build and run phrot on a Core 2 Duo.
phrot is about 33% faster than LLR for bases that are not powers of 2. LLR is still king (by a long shot) for bases that are powers of 2. phrot can produce residues that are compatible with LLR, so PRP tests with phrot are valid. I have run a number of tests and have verified that it is running correctly. I'm switching over to it as I write this. BTW, I haven't tested this on a P4, but I think it would have similar results. If anyone needs help setting it up, let me know. BTW, I have made a couple of changes to Phil's latest version of phrot that might be useful to anyone choosing to go that route.[/quote] Could you please email me your Core 2 Duo-optimized version of phrot? My email address is bugmesticky AT googlemail DOT com (yes, googlemail not gmail--I figured I'd clear that up at the start since people have gotten confused with that before. :smile: It's actually just an alternate domain for Gmail that I, for some wacky reason, was assigned an address from.). :smile: Thanks! :smile: P.S.: Your build of phrot for Core 2 Duo, is it by any chance a Linux build? I'd actually prefer a Linux build, as my Core 2 Duo runs Ubuntu, though a Windows build would be find, if that's all you've got. :smile: |
[quote=Anonymous;130680]My email address is bugmesticky AT googlemail DOT com (yes, googlemail not gmail--I figured I'd clear that up at the start since people have gotten confused with that before. :smile: It's actually just an alternate domain for Gmail that I, for some wacky reason, was assigned an address from.). :smile:[/quote]
Have you tried if using gmail.com works? Try sending yourself a message at bugmesticky at gmail dot com. I know that for my Gmail account, which is by default tim.sorbera at gmail dot com, I can even send it to something like t.i.m.s.o.r.b.era+76bda764fjuyg2 at googlemail dot com and still receive it. [url]http://en.wikipedia.org/wiki/Gmail#Addresses[/url] It seems that googlemail.com is supposed to be for if you're in UK or Germany...I don't know why it gave you that. |
[quote=Mini-Geek;130682]Have you tried if using gmail.com works? Try sending yourself a message at bugmesticky at gmail dot com. I know that for my Gmail account, which is by default tim.sorbera at gmail dot com, I can even send it to something like t.i.m.s.o.r.b.era+76bda764fjuyg2 at googlemail dot com and still receive it.
[URL]http://en.wikipedia.org/wiki/Gmail#Addresses[/URL] It seems that googlemail.com is supposed to be for if you're in UK or Germany...I don't know why it gave you that.[/quote] Okay, I'll try that. You're right, it should work, last time I checked the MX records matched. :smile: As for the googlemail.com thing--actually, even though I'm in the United States, I think I know why I got that address, after reading the Wikipedia link you pointed me to. You see, I got the address shortly before Google removed the requirement that you first be invited by an existing member; I had received my invite from a Gmail-invite-spooler website (sort of like one of those "take a penny-leave a penny" things you see at stores, just for Gmail invites instead), so most likely, the invite that I happened to draw from the system had been donated by someone in the UK or Germany. :smile: Thus, conversely, when I put some spare invites back into the system after I had received my account, when I started getting messages saying "so-and-so has responded to your Google Mail invitation", the users were all listed with gmail.com addresses--because I had defined my country as USA when I signed up. :smile: But yes, anyway, thanks for the link and the tips--I'll be sure to try it! :smile: Edit: Well, I tried sending myself a message at bugmesticky AT gmail DOT com, and it worked! So, I guess either one will work fine. :smile: |
[QUOTE=Anonymous;130680]Could you please email me your Core 2 Duo-optimized version of phrot? My email address is bugmesticky AT googlemail DOT com (yes, googlemail not gmail--I figured I'd clear that up at the start since people have gotten confused with that before. :smile: It's actually just an alternate domain for Gmail that I, for some wacky reason, was assigned an address from.). :smile:
Thanks! :smile: P.S.: Your build of phrot for Core 2 Duo, is it by any chance a Linux build? I'd actually prefer a Linux build, as my Core 2 Duo runs Ubuntu, though a Windows build would be find, if that's all you've got. :smile:[/QUOTE] I have found that compiler options vary depending upon the OS and version of gcc. I built the one I'm using with gcc 4 on MacIntel. I have also built with gcc 3.3 under Cygwin, but haven't timed that build. The compiler options were completely different. I suggest that you start with a d/l of glucas and run the configure script. I can post the compiler options I've used along with the yeafft_defines.h and a small code change to glucas later today. I will also post my version of phrot source. One major different between phrot and LLR is that phrot does not save intermediate results. If you stop a test in the middle, you will have to redo the entire test when you restart. |
[quote=rogue;130716]I have found that compiler options vary depending upon the OS and version of gcc. I built the one I'm using with gcc 4 on MacIntel. I have also built with gcc 3.3 under Cygwin, but haven't timed that build. The compiler options were completely different.
I suggest that you start with a d/l of glucas and run the configure script. I can post the compiler options I've used along with the yeafft_defines.h and a small code change to glucas later today. I will also post my version of phrot source. One major different between phrot and LLR is that phrot does not save intermediate results. If you stop a test in the middle, you will have to redo the entire test when you restart.[/quote] Okay. I already had a copy of the latest version of phrot as found here in the forum, which I'd noticed doesn't save the intermediate results as you said--I was wondering whether that was one of your "small modifications" that you made, I guess not. :smile: Anyway, though, thanks for the tips--I'll be sure to do all then as soon as you can send me the source for phrot. :smile: |
[QUOTE=Anonymous;130753]Okay. I already had a copy of the latest version of phrot as found here in the forum, which I'd noticed doesn't save the intermediate results as you said--I was wondering whether that was one of your "small modifications" that you made, I guess not. :smile:
Anyway, though, thanks for the tips--I'll be sure to do all then as soon as you can send me the source for phrot. :smile:[/QUOTE] I don't recall all of the changes I made. I know that I did add an ini file so that it knows which line was the last line it processed. I also added an unrolled version of the modular reduction code that gives a 15% speed-up on PowerPC. There is no speed-up on x86 as the unrolled code is geared towards RISC CPUs. I also added reverse video (as I did for command line LLR) so that PRPs can easily been seen when scrolling through the terminal. I believe that I also modified the Makefile to build two versions, one with and one without -DERRCHECK. I think I also added a -o option to write the results to an output file in addition to stdout. The -DERRCHECK is only needed when using bases that are powers of 2. |
[quote=rogue;130762]I don't recall all of the changes I made. I know that I did add an ini file so that it knows which line was the last line it processed. I also added an unrolled version of the modular reduction code that gives a 15% speed-up on PowerPC. There is no speed-up on x86 as the unrolled code is geared towards RISC CPUs. I also added reverse video (as I did for command line LLR) so that PRPs can easily been seen when scrolling through the terminal.
I believe that I also modified the Makefile to build two versions, one with and one without -DERRCHECK. I think I also added a -o option to write the results to an output file in addition to stdout. The -DERRCHECK is only needed when using bases that are powers of 2.[/quote] Okay, cool--the ini file will make it MUCH more user friendly! :smile: |
[QUOTE=rogue;130670]One more thing, although the test results are from LLR, I have finally been able to build and run phrot on a Core 2 Duo.
phrot is about 33% faster than LLR for bases that are not powers of 2. LLR is still king (by a long shot) for bases that are powers of 2. phrot can produce residues that are compatible with LLR, so PRP tests with phrot are valid. I have run a number of tests and have verified that it is running correctly. I'm switching over to it as I write this. BTW, I haven't tested this on a P4, but I think it would have similar results. If anyone needs help setting it up, let me know. BTW, I have made a couple of changes to Phil's latest version of phrot that might be useful to anyone choosing to go that route.[/QUOTE] just for info: using phil's last version on base 6 (anonymous: it's a fast test, gary have all residues to compare with the llrnet output), i have timings up to 2,8 times faster (processor: centrino duo, same test, one core with llr one with phrot) phrot seems extremely fast with amd and "old fashioned" intel ... (or more precisely, LLR sucks with these processors) |
[quote=tnerual;130764]just for info: using phil's last version on base 6 (anonymous: it's a fast test, gary have all residues to compare with the llrnet output), i have timings up to 2,8 times faster (processor: centrino duo, same test, one core with llr one with phrot)
phrot seems extremely fast with amd and "old fashioned" intel ... (or more precisely, LLR sucks with these processors)[/quote] Yeah, Gary had forwarded to me your instructions and go.bat file for using phrot. I had to run it in a Windows virtual machine, though (my primary machine runs Ubuntu), so that would have thrown off any speed boosts. As soon as I can get the modified source from rogue, though, I'll try building it for Linux using his instructions--then I should be able to reap the full speed benefits. :smile: |
1 Attachment(s)
I have attached the latest. Don't forget to apply the patch described [URL="http://www.mersenneforum.org/showpost.php?p=92081&postcount=15"]here[/URL].
On a MacIntel Core 2 Duo with gcc 4, I have the following options in glucas/src/Makefile: CFLAGS = -m64 -O3 -mtune=nocona -msse2 -msse3 -DNO_HACK_ALIGN -DY_DEFINES_FILE CFLAGS0 = -m64 -mtune=nocona -msse2 -msse3 -DNO_HACK_ALIGN -DY_DEFINES_FILE yeafft_defines.h is #define Y_AVAL 4 #define Y_BLOCKSIZE 4096 #define Y_SHIFT 3 I use the same compile options for glprov.c Finally, for those of you on AMD, try adding -DUNROLLED_MR to the glprov Makefile and do some tests to see if you get better tims. |
| All times are UTC. The time now is 09:13. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.