Message boards :
Number crunching :
SETIv8 for Linux skylake-avx512 available
Message board moderation
Author | Message |
---|---|
luz Send message Joined: 3 Jun 18 Posts: 18 Credit: 11,853 RAC: 0 |
Hi everyone, I've compiled SETI@home v8 for Linux on the skylake-avx512 architecture and I'm using it on this account. If anyone is interested, I can provide the binary and the app_info.xml to save the effort of doing it yourself (the source is a bit tricky to compile). It completes roughly 4 work units per hour on my equipment (i9-7960X@3.6GHz). |
Keith Myers Send message Joined: 29 Apr 01 Posts: 13164 Credit: 1,160,866,277 RAC: 1,873 |
Thanks for contributing to the Linux ecosystem. I don't have any processors that can use the app but would be interested in hearing from others that do and what their results are. Seti@Home classic workunits:20,676 CPU time:74,226 hours A proud member of the OFA (Old Farts Association) |
rob smith Send message Joined: 7 Mar 03 Posts: 22222 Credit: 416,307,556 RAC: 380 |
Run times look VERY slow - comparing your ~26,600 seconds against stock (Linux) app of ~7,150 seconds for the same task (and the stock app running on a much slower processor). https://setiathome.berkeley.edu/workunit.php?wuid=3001587575 OK, you've got loads of threads running, but I would expect to see an i9 getting though a task in less than 90 minutes, so in your case about a dozen or more tasks per hour. Bob Smith Member of Seti PIPPS (Pluto is a Planet Protest Society) Somewhere in the (un)known Universe? |
luz Send message Joined: 3 Jun 18 Posts: 18 Credit: 11,853 RAC: 0 |
Are you taking into account that I'm multitasking 32 at once? BOINC Manager says it takes 8 hours to complete 32 tasks; if that's slow, then maybe it's erroneously calculating the estimated time remaining, on which I'm basing the figure of 4 per hour. |
Wiggo Send message Joined: 24 Jan 00 Posts: 34872 Credit: 261,360,520 RAC: 489 |
It's back to the drawing board I'd say when an i9-7960X core can't keep up with an old C2Q core. ;-) Cheers. |
luz Send message Joined: 3 Jun 18 Posts: 18 Credit: 11,853 RAC: 0 |
I'm skeptical about how these figures are calculated. I suspect that it's including in the run time all of the time during which BOINC is suspended. I'm doubting the BOINC implementation before I doubt the efficiency of my compiled app, but thank you both for the comments. I'd like to see how many work units you complete per hour of 100% CPU run time, as opposed to per hour elapsed, which I think is what's being considered by the implementation; I only run BOINC when I'm not using the computer. |
luz Send message Joined: 3 Jun 18 Posts: 18 Credit: 11,853 RAC: 0 |
I base my skepticism on this: Fraction of time BOINC is running 93.53% It thinks BOINC is running nearly all the time, when in fact, it's running maybe 30-40% of the time. |
Mike Send message Joined: 17 Feb 01 Posts: 34258 Credit: 79,922,639 RAC: 80 |
It seems you compiled from stock code base not optimzed. I`m doing 14 tasks in one hour no matter on win 7 or Linux on my Ryzen. Our Lunatics in house testing has shown that avx2 and above have no benefit for seti app. On Linux SSE4.x is slightly faster than avx but this is host and compiler dependent. With each crime and every kindness we birth our future. |
Richard Haselgrove Send message Joined: 4 Jul 99 Posts: 14653 Credit: 200,643,578 RAC: 874 |
Are you taking into account that I'm multitasking 32 at once? BOINC Manager says it takes 8 hours to complete 32 tasks; if that's slow, then maybe it's erroneously calculating the estimated time remaining, on which I'm basing the figure of 4 per hour.BOINC's runtime estimates are known to be unreliable in the early stages. I haven't looked to see how many tasks you have completed and validated, but a minimum of 11 ('more than 10') are required before the estimates begin to reflect reality. After that, they get to be pretty good - especially for CPU applications. On the other hand, BOINC's time accountancy is generally pretty good from the start. If a task is showing an 'elapsed time' of n hours, you can generally believe it. If people here are seeing extended runtimes, then the runtime is long - possibly caused by running more than one task per physical CPU core. You should perhaps get a feel for how BOINC accounts for time with the stock application running one task per core, before attempting to interpret the changes introduced by your private build. |
luz Send message Joined: 3 Jun 18 Posts: 18 Credit: 11,853 RAC: 0 |
Thank you, that's very helpful. I did indeed compile from the stock code base. After a google search for optimized SETI@home, I've found no optimized sources. Could you please point me in the right direction? |
luz Send message Joined: 3 Jun 18 Posts: 18 Credit: 11,853 RAC: 0 |
Thanks for that info. I've been told that there's an optimized code base available somewhere to compile from, which would give me better results. I've done more than 11 tasks so the estimates should be reliable in BOINC Manager. The run time figures on the website are inaccurate AFAIK, as it appears to be including suspended time. |
Richard Haselgrove Send message Joined: 4 Jul 99 Posts: 14653 Credit: 200,643,578 RAC: 874 |
Thank you, that's very helpful. I did indeed compile from the stock code base. After a google search for optimized SETI@home, I've found no optimized sources. Could you please point me in the right direction?Start from Porting and optimizing SETI@home. There are various generations of optimised code in the SVN repository, but you may need help from one of the existing optimised code developers (Mike has good contacts) to locate the best starting point for the current v8 search specification. Despite the name, "branches/sah_v7_opt/AKv8/client" is probably the one, but take advice. |
Richard Haselgrove Send message Joined: 4 Jul 99 Posts: 14653 Credit: 200,643,578 RAC: 874 |
Thanks for that info. I've been told that there's an optimized code base available somewhere to compile from, which would give me better results. I've done more than 11 tasks so the estimates should be reliable in BOINC Manager. The run time figures on the website are inaccurate AFAIK, as it appears to be including suspended time.I'd expect not - as I said, actual recorded time is usually good (though I'm Windows, not Linux). I'd suggest you let some tasks run through uninterrupted (maybe overnight?): double-check the starting and finishing times in BOINC's Event Log, and work out elapsed time for yourself. One possible cause for the discrepancy would be if your application failed to actually suspend when BOINC gave it that instruction: use OS tools to verify that the application is truly idle when BOINC says it is suspended. |
luz Send message Joined: 3 Jun 18 Posts: 18 Credit: 11,853 RAC: 0 |
Thanks, I've tried compiling that version with no success. There are multiple errors on Linux; it appears to be meant for Windows. Any other advice would be greatly appreciated. |
luz Send message Joined: 3 Jun 18 Posts: 18 Credit: 11,853 RAC: 0 |
It appears that the problem is that the server isn't being told when BOINC is suspended. BOINC Manager gives me a different estimate. I'll have to gather some statistics over a longer period of time as I've only been at this for 2 days. |
Keith Myers Send message Joined: 29 Apr 01 Posts: 13164 Credit: 1,160,866,277 RAC: 1,873 |
Thanks, I've tried compiling that version with no success. There are multiple errors on Linux; it appears to be meant for Windows. Any other advice would be greatly appreciated. I don't think you will have any success compiling in a current Linux build. TBar, one of our main Linux/MacOS developers has stated that any Linux build past 15.04 does not compile the AKV8 SVN repository with current GCC builds. See this post Seti@Home classic workunits:20,676 CPU time:74,226 hours A proud member of the OFA (Old Farts Association) |
Richard Haselgrove Send message Joined: 4 Jul 99 Posts: 14653 Credit: 200,643,578 RAC: 874 |
Thanks, I've tried compiling that version with no success. There are multiple errors on Linux; it appears to be meant for Windows. Any other advice would be greatly appreciated.It's meant to be cross-platform and portable, but the most recent authors with editing rights to the repo have been Windows-based. There was a pretty good Windows AVX build released from that branch as MB8_win_x64_AVX_VS2010_r3330.exe - the 'r' number (3330 in this case) gives you the SVN source revision which was stable at that time. All that work was done by Raistmer - he'll probably discover this thread in the morning. I'm on UK time, so I'll sign off for tonight. |
rob smith Send message Joined: 7 Mar 03 Posts: 22222 Credit: 416,307,556 RAC: 380 |
I'm skeptical about how these figures are calculated. I suspect that it's including in the run time all of the time during which BOINC is suspended. I'm doubting the BOINC implementation before I doubt the efficiency of my compiled app, but thank you both for the comments. I'd like to see how many work units you complete per hour of 100% CPU run time, as opposed to per hour elapsed, which I think is what's being considered by the implementation; I only run BOINC when I'm not using the computer. The run-time is the actual time that a task is doing work, as opposed to "clock-face" time which includes any time BOINC is suspended. Run-time is generally accurate to a few seconds in an hour. The first thing one should do in any exercise like this is to try the stock application - this way you know where you are starting from. My guess is that the stock application running on your computer would take less than 90 minutes to complete a task, or, in terms of your metric it would be completing about 15-20 tasks per hour, if not more (I'm basing my figures on an old 8 core Xeon and scaling them up to 32 cores). Bob Smith Member of Seti PIPPS (Pluto is a Planet Protest Society) Somewhere in the (un)known Universe? |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
Thank you, that's very helpful. I did indeed compile from the stock code base. After a google search for optimized SETI@home, I've found no optimized sources. Could you please point me in the right direction? I would expect more from Google's AI ;) Anyway, here you go: https://setisvn.ssl.berkeley.edu/svn/branches/sah_v7_opt SETI apps news We're not gonna fight them. We're gonna transcend them. |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
Thanks for that info. I've been told that there's an optimized code base available somewhere to compile from, which would give me better results. I've done more than 11 tasks so the estimates should be reliable in BOINC Manager. The run time figures on the website are inaccurate AFAIK, as it appears to be including suspended time. Much better to do more formal and stable tests with package availble here: http://lunatics.kwsn.info/index.php?action=downloads;cat=5 Compare your binary with those: http://lunatics.kwsn.info/index.php?action=downloads;cat=48 And as concluding remark: one should understand that w/o direct AVX2 instructions addition to code one will completely depending from compiler own autovectorising abilities. And if I could believe that optimizing compiler can autoinject SIMD instead of high-level code I hardly believe it will replace already existing SIMD with another one. So, rebuild could touch only small part of existing codebase anyway. And regarding AVX2 per se - what particular instructions SETI could use from that IA? SETI apps news We're not gonna fight them. We're gonna transcend them. |
©2024 University of California
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.