Hello, I'm a new Einstein@home user, and I want to run only the GPU work units. I unchecked all the CPU projects in project preferences, and under computing preferences, I chose to use at most 0% of the CPU cores. However, the project is still downloading 2 CPU-only work units every time I hit "Update" in BOINC, and it will also automatically download 2 CPU work units each time BOINC communicates with the project and after I have aborted the two previous work units.
What settings can I use to disable CPU computing? I know that GPU crunching uses one CPU, and I'm fine with that. But those CPU work units take too long to process for the amount of time my computer is on each day.
Thanks in advance for any suggestions.
John
Copyright © 2024 Einstein@Home. All rights reserved.
Based on your description of
)
Based on your description of your actions and the results, I think it likely that you have not actually been modifying the preferences which currently control your machine.
The most common way people get that wrong is by modifying preferences for a different location than the one to which their machine is currently assigned. Another is forgetting to click the "save changes" link.
To check those possibilities:
Log in here
Go to Account|dashboard
Click on the link with the name of your computer
Scroll to the bottom of that page and observe the value shown in the box next to Location
It will have one of these four values: generic, home, work, or school
Next go to Account|Preferences|Computing
Select in the scrollable list near the top of the page the value you found for the machine
Wait for the page to refresh, then click "advanced settings"
Under "processor usage" I suggest you set the variable "Use at most nn % of processors" to 100%. If you set it to 0% your hoped-for GPU tasks will never start running.
Click Save Changes at the bottom of the page
Next go to Account|Preferences|Project
Under Resources Settings:
Set "Use CPU?" to No (this is the answer to your original question--how not to get CPU tasks sent to you)
Make sure the setting for the flavor of GPU you have (AMD, Nvidia, Intel) is set to "Yes" (else you will get no GPU tasks)
Under Applications, set check marks for both currently available GPU task types if you like:
Gamma-ray pulsar binary search #1 (GPU)
Gravitational Wave search O2 Multi-Directional GPU
Set "allow non-preferred aps" to No
Click Save Changes at the bottom of the page
Go to Preferences|Privacy
Set "Should Einstein@Home show your computers on its website?:" to YES
Click Save Changes at the bottom of the page
That will allow the people you are asking to help you to see some information about your machine. Without that we are flying almost blind.
Of course, if you are setting preferences by another method than your account page at the Einstein web site, then these may not be the right instructions. You did not mention that, so I assumed the simple answer of "No".
archae86 wrote: .....The
)
Thanks so much for your reply! I had one part set to Generic, and the other set to Home. I also made all of your suggested changes, and it's working now.
It takes about 34 minutes to complete one GPU work unit. I have an nVidia GTX 1050Ti card. Is there a way to run multiple GPU work units, since all CPU cores are enabled in the software now, and GPU uses one of the CPU cores (I have an 8-core Intel i7)? If not with this GPU, do you happen to know which one I would need to have in order to run multiple work units?
General advice is to only run
)
General advice is to only run one task per gpu on Nvidia devices.
Only AMD devices are capable of running multiple tasks per gpu in most cases.
John Tibbetts wrote:I had one
)
Thanks for letting us know what happened. It helps us give better advice the next time, and sometimes someone else will look here and see what worked.
Yes, and Einstein makes it really easy to set up using preferences at Account|Preferences|Project|other settings
It is surprisingly difficult to compare the actual productivity after changing settings when you are running the current Einstein Gravity Wave application. The work content per task varies quite a lot, and the pattern of that variation is not splendidly obvious. So lots of folks have posted conclusions here which would not stand up to careful comparative review. A careful review might constitute a really huge sample size (think weeks of work), or an attempt to prepare closely related tasks.
My method for the second when I was reviewing GW multiplicity was to first get hundreds of tasks aboard which were sequential, or nearly sequential descending issue order tasks within the same base frequency. Then I selectively placed on hold most of the tasks, leaving "to be tried" ones sprinkled along. I ran the first test condition. Then I unsuspended the same number of tasks similarly sprinkled to run at the second test condition, and took care to sort the results in issue number order to check whether my observed performance difference was valid.
But you don't need to bother with all that. I think for your hardware and setup, that here at Einstein you'll find that running two tasks at a time on your Nvidia 1050Ti with a capable modern CPU supporting it will give you a nice output improvement--probably 5% on GRP, and probably well over 10% on GW.
You may find that some GW tasks need more memory than your 4G card can supply when run at 2X. If so these will probably fail quite quickly, and the Stderr will have buried in it a clear error message referring to memory needs (CL_MEM_OBJECT_ALLOCATION_FAILURE). This consideration might then lead you to choose to run GW only at 1X. But the GRP work will easily fit in your card at 2X, even higher. But the higher multiples above 2X will help very little if any, and as you go higher you may find the production to turn the corner and go down.
As to How to do it:
First, I suggest you set your work fetch "cache" settings very low, as the Einstein behavior in knowing how much work to fetch goes a bit nutty when faced with changes in task type (between GW and GRP) or changes in multiplicity (as between 1X and 2X).
Go to Account|Preferences|Computing|Network Usage
The two parameters of interest are "Store at least" and "Store up to an additional"
The sum of these two is best kept down to something very low--say 0.1--when you are making changes.
When you are "mixing" task types it is still best kept pretty low--say 0.3 if you are mixing task types (say both GW and GRP).
If you get a stable configuration and plan to stop fiddling, it can safely be raised in steps up to a few days--say 3, which gives your machine something to work on during work delivery outages.
Finally the answer to the question you actually asked:
To adjust how many tasks run at the same time (which I call multiplicity of 1X, 2X, ...)
Go to Preferences|Project|Other settings
To change the Gamma-ray setting, find it at "GPU utilization factor of FGRP apps:"
You'll see it at 1.0 now, most likely. That gives you 1X. Set it to 0.5 to get 2X, or 0.33 to get 3X.
To change the Gravity Wave setting, revise GPU utilization factor of GW apps. But with your 4G memory, I doubt you will like the result if you go above 2X, as memory capacity failures will likely dominate for the higher issue number tasks within each base frequency.
Regarding running at greater
)
Regarding running at greater than 1X multiplicity, I forgot to mention a crucial point, which has tripped up many participants here.
A change in multiplicity specified at your account page on the Einstein web page does not take effect on your machine until a new GPU task has been downloaded completely after you made the change. It then takes effect immediately (not waiting for a current task to finish).
One point I don't know is whether downloading a GPU task of the second flavor carries along the message to change a first flavor.
Tasks won't download while you have any tasks suspended on the machine, and won't download when your machines does not request any, for example because your cache settings call for less work than the current estimate of what you already have. Several other things can block downloads as well.
John Tibbetts wrote:Thanks so
)
Hi John, Welcome to Einstein!
Archae86 has covered all the important stuff. It can be quite complicated at first so please ask if you're not really sure about something. There are lots of little 'gotchas' that can really trip you up at first when you aren't aware of them. Hasten slowly! :-)
One of the biggest problems that he mentioned is that you really need to keep the work cache size small, particularly if you are running the two separate GPU searches - Gamma-ray pulsar (GRP) and Gravitational wave (GW). The reason for that is that GRP tasks finish more quickly than what the estimate will claim, whilst it's the complete reverse for GW.
There is only one 'estimate correction' mechanism (called duration correction factor - DCF) so results completing for one type will adversely affect the estimates for the other type. This can (and regularly does) cause people with too large a work cache size to end up with huge numbers of tasks that can't be completed within the deadline.
So, until you have this behaviour all figured out, keep your work cache size small!! :-) It's best to use the first setting only and to leave the second one at zero.
I would highly suggest that while you are playing with multiplicity settings, you do so with only one search type enabled at a time. The most efficient search for your particular GPU may well be GRP and you may find it gives you the highest output at x2 multiplicity (the 0.5 setting that Archae86 mentioned). The gain (if any) will only be modest at best. It will likely be worse at x3 (0.33 setting), if you ever try it - I wouldn't bother.
It's quite a while since I used an nvidia GPU (a 750Ti some years ago) so I'm not the best person to comment on likely performance of your card. There are reports of modern nvidia cards not showing any improvement with multiple tasks of the GW type. I don't know if that also applies to a 1050Ti. If your card has 4GB, you could try GW tasks at x2 multiplicity. You should have enough memory for that.
I'm running GW tasks at x4 on several 8GB AMD RX 570's. The CPUs are quite weak - Intel G4560 and i3-9100F and AMD Athlon 3000G. With those basic setups, the multiplicity improvements are rather large. When running single tasks, they were taking around 16-17 mins on average (there are relatively minor fluctuations). At x4, there are 4 completed tasks roughly every 36-38 mins (again with minor fluctuations) - ie. around 9 mins per task on average.
As Archae86 mentioned, the work content of a few GW tasks is rather larger than the minor fluctuations mentioned previously. When I encounter those, the 9min average per task becomes something like 13-14mins per task (ie ~50% longer). I've been monitoring the hosts for around a month now. The number of these longer running tasks is quite small - maybe 5% of all tasks received. During this time I haven't seen any memory errors using x4 on an 8GB GPU.
I hope some of this might be of use to you as you explore how to optimise your setup.
Cheers,
Gary.
Wow guys, thanks for all of
)
Wow guys, thanks for all of your detailed replies! So much to consider.
I'm considering upgrading my motherboard/CPU and GPU soon, so I think I'll wait to play with the settings to do simultaneous work units until I install the new components. I have to decide if I want to stay with Intel, or go with AMD for the CPU; and whether to stick with nVidia, or go with AMD, for my GPU. I currently have a system I built back in early 2015 (Intel i7-4770 w/ 32GB RAM), but I did update the video card a couple years ago.
Much depends on what you use
)
Much depends on what you use your system for, but I suspect your motherboard/CPU combination may be highly adequate for most things you might want to do, and that you might not much notice improvement from a new version unless it addressed a specific deficiency you feel now.
On the GPU side, however, there certainly are far more capable GPUs than the GTX 1050 Ti you run now.
A dismaying current condition is that many GPUs are hard to get, or sell well above list price, or both. But I think the farther you drop below the bleeding edge, the less excessive that situation is. Your 1050 Ti is far below the bleeding edge, so you could make a substantial improvement without breaking the bank.
If Einstein GPU tasks are your dominant satisfaction measure, then for the time being AMD cards have a very clear price/performance and power cost/performance advantage. I was a long-time Nvidia user, and made the switch two years ago. At the time of the switch my flotilla included a 1050, a couple of 1060s (both of the two memory sizes) a 1070, and a 2080. The improvement I got running Einstein Gamma-ray pulsar work when I restocked the whole flotilla with Radeon 570 cards was compelling.
I talked about it (a lot) in this thread
Just a few months ago, you could have bought a decent used RX 570 card on eBay for not much. Sadly, even they have gone up in response to the forces which have stripped the planet of the high-end new cards.
I hasten to add, I believe reviews and benchmarks, and don't think the clear, strong AMD advantage for Einstein GRP work extends to the dominant gaming use. So if that is important to you, you'll have to balance the issues.
I'm less clear on how the AMD vs. Nvidia issue plays here at Einstein on the Gravity Wave GPU work, but suspect that there is also a big AMD advantage with the current applications and tasks.