Message boards : Number crunching : GPU WU's
Previous · 1 · 2 · 3 · Next
Author | Message |
---|---|
Jim1348 Send message Joined: 19 Jan 06 Posts: 881 Credit: 52,257,545 RAC: 0 |
Porting that one without breaking code will not be easy. I'm totally with you regarding runtime and it being worth the effort. But this one calls for full time developers with formal training, not scientists doing development on the side. I'm not sure how much man-power Rosetta actually has to do this and I'm also not sure if the commercial side of Rosetta has an interest in doing this. Have you seen the posts by rjs5? He is an expert on parallelism (AVX, etc.) and has been trying to help them along for years, but it is slow progress. |
Falconet Send message Joined: 9 Mar 09 Posts: 353 Credit: 1,227,479 RAC: 753 |
Read this regarding GPU work: https://boinc.bakerlab.org/rosetta/forum_thread.php?id=13533&postid=92291 |
Laurent Send message Joined: 15 Mar 20 Posts: 14 Credit: 88,800 RAC: 0 |
Have you seen the posts by rjs5? He is an expert on parallelism (AVX, etc.) and has been trying to help them along for years, but it is slow progress. Yes, i have seen them and the history (the no SSE thread in 2015) makes me shiver. They could push though a lot more data just using a competent compiler. Who knows how fast this thing would be on a good platform. I'm a OpenCL developer and have already done such ports of scientific code. I offered help, they declined politely. That's life. |
Jim1348 Send message Joined: 19 Jan 06 Posts: 881 Credit: 52,257,545 RAC: 0 |
I'm a OpenCL developer and have already done such ports of scientific code. I offered help, they declined politely. That's life. Thanks for your efforts. But don't feel singled out. They refuse everyone. Maybe they have reasons; I am not a programmer. PS - Good luck on TN-Grid. I do that one too. They were making progress for a while, and then stopped. PPS: Do you know about QChemPedIA? It is a new project. I don't know if it is suitable for your efforts, but they have said that the open-source package they are using is ten times slower than the proprietary one they use in-house, so there could be potential. https://quchempedia.univ-angers.fr/athome/ |
Mad_Max Send message Joined: 31 Dec 09 Posts: 209 Credit: 26,077,020 RAC: 16,592 |
As a result modern GPU only just few times faster compared to modern CPUs. And only on task well suitable for highly parallel SIMD computation. On tasks non well suitable for such way of computation it can be even slower compared to CPUs.Actually, the facts say otherwise. It just rubbish rather than facts. Either you misunderstood / counted something wrong. For example, you probably took the runtime of WU on 1 thread / core of the CPU (and not the whole processor), and compare it with the runtime of a job using an entire GPU (plus some from CPU as all GPU apps do) . Or the programmers of SETI are completely unable to use modern CPUs normally. Only 40% boost form AVX compared with plain app without any SIMD is pity and puny: on a code/tasks suitable for vectorization it should gain 3x / +200% speed or more, and if code/task is NOT suitable for vectorization gain can be low but such tasks can not work effectively on GPU at all. Because both GPU programming and CPU SIMD programming needs the same (because all current GPUs cores are wide SIMD engines inside), but SIMD for CPU is simpler to implement. current high end CPUs: Intel Core i9-9900k is capable of ~450 GFLOPS with dual precision or 900 GPLOPS at single precision calculations AMD Ryzen 9 3950X: ~900 GFLOPS DP and 1800 SP. AMD Threadripper 3990X: 2900 GFLOPS DP and 5800 SP. Peak speeds of few current high end GPUs AMD VEGA 64 = 638 GFLOPS DP and 10215 SP AMD RX 5700 XT = 513 GFLOPS DP and 8218 SP NVidia RTX 2080 = 278 GFLOPS DP and 8 920 SP NVidia RTX 2080 Ti = 367 GFLOPS DP and 11750 SP And it’s much easier to get real app speed closer to the theoretical maximum on the CPU than on the GPU. And all GPU computation also need additional support/use of resources from CPU to run. Both facts reducing speed gap even further as we move from theoretical potential (shown above) to practical computing. As i said: modern GPU only few times faster compared to modern CPUs, not ~100x (if you properly use all cores and SIMD extensions). And only if used for single precision calculations. On dual precisions GPUs usually even slower compared to CPUs at least for all "consumer grade" GPUs (there are special versions of GPUs for data centers and supercomputers with high DP speeds like NV Tesla or AMD Instinct, but they priced few times more compared to consumer/gamer counterparts GPUs and usually not sold to retail customer at all) . |
Grant (SSSF) Send message Joined: 28 Mar 20 Posts: 1684 Credit: 17,959,099 RAC: 23,317 |
For example, you probably took the runtime of WU on 1 thread / core of the CPU (and not the whole processor), and compare it with the runtime of a job using an entire GPU.Of course, that is how you compare things. You compare things, that are comparable... And it takes a lot of CPU threads to match the output of 1 GPU. A lot of extremely slow processing units can match the output of a single high performance processing unit- if you have enough of them, and when it comes to CPUs v GPUs- it takes up 100 CPU processing units (Cores/threads) to match the output of an equivalent GPU (ie low end v low end, high end v high end). And it’s much easier to get real app speed closer to the theoretical maximum on the CPU than on the GPU.Yep, and still a GPU is capable of significantly greater processing rates than a CPU. Having lots of cores in a CPU helps offset it's poor capabilities, but then adding GPUs helps improve their output as well (checkout the hardware used in the current & future crop of Supercomputers. Real life facts, not from the world you live in, but actual facts. Reality). And all GPU computation need support/use of resources from CPU to run.Yep, and in every case the loss of the CPU output is more than offset by the increase in output the GPU provides. As i said: modern GPU only few times faster compared to modern CPUs (if you properly use all cores and SIMD extensions).The processing time of a CPU core is much greater than the processing time of a single GPU- withboth applications optimised for maximum output. Adding more cores to the CPU improves it's output, but then adding more GPUs to a system improves it's output as well. And only if used for single precision calculations. On dual precisions GPUs usually even slower compared to CPUs at least for all "consumer grade" GPUsAMD consumer GPUs have much higher DP (Double Precision) capabilities than NVidia. (there are special versions of GPUs for data centers and supercomputers with high DP speeds like NV Tesla or AMD Instinct, but they priced few times more compared to consumer/gamer counterparts GPUs and usually not sold to retail customer at all) .So what? The fact is they still well exceed a CPU's capabilities. Of course you could process data that cannot in any way be parallelised, in which case then yes- a CPU (low, mid, highend) can out perform a GPU (low, mid, highend). But for work that can be done in parallel, GPUs win every time (with a well developed application of course, comparing an extremely optimised application with an extremely poorly written one isn't a valid comparison). Grant Darwin NT |
dgnuff Send message Joined: 1 Nov 05 Posts: 350 Credit: 24,773,605 RAC: 0 |
Here's a very different argument to try and explain why Rosetta doesn't have GPU WU. To quote Spock from the original Star Trek show: "You're proceeding from a false assumption." That assumption is that any program can be converted to run on a GPU and will go faster if that happens. OK, lets assume that's correct. If it were, Intel and AMD would go out of business tomorrow, because we wouldn't need them any more. We'd just stop using conventional CPUs and run everything on the GPU instead: OS, Browser, the whole lot. But we don't do that, do we. Why not? Because there are some things that GPUs just don't do well at. Read this Q & A from the Computer Science Stack Exchange website: https://cs.stackexchange.com/questions/121080/what-are-gpus-bad-at It does a really really good job of explaining what GPUs are good at, and what they are bad at. And it just so happens that while Seti, Folding and others can be made efficient on a GPU, Rosetta can't. So next time you're asking why Rosetta isn't on your GPU, ask yourself why your browser doesn't run on your GPU. The answer to both those questions is about the same. |
Mod.Sense Volunteer moderator Send message Joined: 22 Aug 06 Posts: 4018 Credit: 0 RAC: 0 |
Rosetta can't. Not sure "can't" is the perfect word there, but certainly not trivial to get there. Rosetta Moderator: Mod.Sense |
gerardgn Send message Joined: 5 Apr 20 Posts: 1 Credit: 168,552 RAC: 0 |
I also have a NVIDIA Jetson nano. The CPU is a low end (ARM A57 ) but the GPU is quite huge ( ~128 cores Maxwel) => ~450 Gflops. Is it possible to enhance the client to take advantage of NVIDIA GPU like F@H for PC? It will unleash more power as I see we are few with this devices. |
Millenium Send message Joined: 20 Sep 05 Posts: 68 Credit: 184,283 RAC: 0 |
No, Rosetta@Home is a CPU only project. Not every problem is well suited for a GPU. So well, use Folding for your GPU and Rosetta for the CPU. |
[VENETO] boboviz Send message Joined: 1 Dec 05 Posts: 1995 Credit: 9,634,307 RAC: 6,840 |
|
markhl Send message Joined: 18 Feb 22 Posts: 1 Credit: 2,508 RAC: 0 |
Hello! I am new to R@h. I started running R@h because WCG ran out of units due to their migration. Not running any other BOINC program. I'd welcome your thoughts. This thread states that R@h only uses the CPU. But my BOINC event log shows GPU usage: 2/21/2022 7:30:24 PM | | Resuming GPU computation So, it looks like R@h does use GPU now? |
Grant (SSSF) Send message Joined: 28 Mar 20 Posts: 1684 Credit: 17,959,099 RAC: 23,317 |
So, it looks like R@h does use GPU now?Nope. It looks like if you have a GPU, and you have it set to suspend BOPINC processing under certain conditions, then when those conditions occur BOINC makes note of that in the log- even though the GPU isn't actually being used. Grant Darwin NT |
Bryn Mawr Send message Joined: 26 Dec 18 Posts: 393 Credit: 12,114,842 RAC: 4,200 |
I am just saying that it is not safe to presume that since project X has done some sort of protein structure prediction on a GPU, that R@h, and the algorithms it uses for the various sorts of predictions, would see a similar performance boost from GPU. If the algorithm has not changed then no amount of change to the hw and sw will make any difference to the benefits. |
Greg_BE Send message Joined: 30 May 06 Posts: 5691 Credit: 5,859,226 RAC: 0 |
I am just saying that it is not safe to presume that since project X has done some sort of protein structure prediction on a GPU, that R@h, and the algorithms it uses for the various sorts of predictions, would see a similar performance boost from GPU. The short version from my memory is their code is not designed for GPU use and that they are constantly changing the parameters or other things in each of the proteins they were sending out in 4.2. This project does not like change, so they don't bother writing code for GPU. Plus...with their neural network they have all the GPU power they need for deep machine learning. What the story these days is for resistance to GPU usage, I don't know. But they have a hard enough time keeping CPU work straight sometimes. So GPU would be really unreliable if they released it here. To sum it up, RAH has never been GPU and WILL never be GPU at least for the next 5 years if not longer. |
Greg_BE Send message Joined: 30 May 06 Posts: 5691 Credit: 5,859,226 RAC: 0 |
No, Rosetta@Home is a CPU only project. That does not appear to be BOINC related? It appears to be its own stand alone app. |
[VENETO] boboviz Send message Joined: 1 Dec 05 Posts: 1995 Credit: 9,634,307 RAC: 6,840 |
But trRosetta is also for gpu. Yes, it's stand-alone, but it's open and is part of IPD/Rosettacommons/Rosetta software ecosystem. Another software of IPD is RoseTTAFold, suitable on GPU. |
[VENETO] boboviz Send message Joined: 1 Dec 05 Posts: 1995 Credit: 9,634,307 RAC: 6,840 |
That does not appear to be BOINC related? This tweet from official R@H account said that TrRosetta is inside our VM's wus. |
[VENETO] boboviz Send message Joined: 1 Dec 05 Posts: 1995 Credit: 9,634,307 RAC: 6,840 |
|
[VENETO] boboviz Send message Joined: 1 Dec 05 Posts: 1995 Credit: 9,634,307 RAC: 6,840 |
|
Message boards :
Number crunching :
GPU WU's
©2024 University of Washington
https://www.bakerlab.org