If you are planning on using a desktop machine to run Folding@Home (FAH), you have several opposing goals to choose from. Deciding which of these goals is more important to you is an important early decision. Which goal you are trying achieve will have a large influence on your component choices. Thinking about this is critical if you want to succeed at building an efficient desktop machine for Folding@Home.
Here are some obvious primary goals:
- Having the absolute highest FAH Work Unit production
- This can be an expensive goal. I have warned you…
- Reducing the amount of money spent on hardware
- Getting the most FAH production per dollar spent on hardware
- Minimizing the electrical usage of your FAH machine
- Getting the most FAH production per kilowatt hour
These types of trade-offs also come into play anytime you are building a new machine or modifying an existing machine. Different types of workloads and goals will affect your component choices, whether you are building a FAH machine, a gaming rig, or a SQL Server lab machine. Learning how these choices affect performance, hardware cost, and energy usage also helps you understand how to think about selecting components for a database server. I think this is a useful skill…
Maximizing Your Work Unit Production
Generally speaking, FAH is optimized for GPU work unit production over CPU work unit production. Currently, FahCore_22.exe is the client program that runs GPU work units, while FahCore_a7.exe runs CPU work units. FAH Cores are explained here.
By default, you will have one FahCore_22.exe process running for each discrete GPU in your system. Each FahCore_22.exe process will also use one logical CPU core to help manage the GPU work.
The FAH Web Client shows the CPU work unit on the left, including the number of logical cores that it is using. In the example below, it shows CPU:31 which means 31 logical cores are being used. This system has a 16C/32T AMD Ryzen Threadripper 2950X that has 32 logical cores. One logical core is being used to manage the GPU work unit, which is why it only has 31 logical cores for the CPU work unit.
On the right, you see the GPU work unit, with a description of the GPU that is being used. In this case it is a GP104 (GeForce GTX 1070 Ti). You can get much more detailed information about the GPU with the GPU-Z utility.
If your primary goal is to maximize your FAH work unit production, then you want to have as many modern, high-end discrete GPUs in your system as possible. These will be independent of each other, since FAH doesn’t support SLI technology.
The highest performance consumer-level graphics card currently available is the NVIDIA GeForce RTX 2080 Ti. These cards cost roughly $1200-$1600 new, depending on the exact model. They can also use between 350-410 watts with a 100% GPU load from FAH.
BTW, NVIDIA is scheduled to announce information about their next generation Ampere video cards on May 14, 2020. I would urge people not to buy a high-end NVIDIA RTX video card until after then. There are very credible rumors and leaks, first disclosed by the “Moore’s Law is Dead” YouTube channel.
Multiple Graphics Cards
Regardless of which graphics card you decide to get, you may be able to have multiple graphics cards in your system, subject to several constraints. The first is how many PCIe 3.0 x8 (or better) expansion slots you have on your motherboard. Second is how many PCIe 3.0 lanes your CPU will support. Third is how many PCIe power connectors (with the right number of pins) your power supply has. Fourth is how many watts your power supply can deliver. The final limit is how much money you are willing to spend.
For absolute maximum GPU performance, you could pick an AMD HEDT platform motherboard, such as an ASRock TRX40 Creator that has four PCIe 4.0 x16 slots. This is actually limited to two x16 and two x8 when all four slots are used. You could have four NVIDIA GeForce RTX 2080 Ti graphics cards in this motherboard. If you did that, you would actually need an extremely high capacity power supply. Something like a Corsair AX1600i, for example. In reality, you might need multiple power supplies to feed four NVIDIA RTX 2080 Ti cards. If you are going this far, you probably should be looking at Bitcoin/Ethereum type mining rig setups…
Maximizing Production With Limits
Back in the real world, most people are probably going to have only one or two, much more modest graphics cards. These don’t have to be identical models (you won’t be using SLI), but they should be from the same GPU maker (NVIDIA or AMD). You should have your highest performance graphics card in your primary PCIe slot (closest to the CPU) and any additional cards in your other PCIe slots. The older, lower performing cards would go in secondary PCIe slots.
If you do this, make sure to look at the manual for your motherboard and for your power supply. This will tell you how many PCIe lanes each slot supports and what happens when multiple slots are populated. You will also want to know whether your power supply has enough PCIe power connectors and enough total six or eight pin connectors to power all of your graphics cards. Finally, you should verify that your power supply has enough capacity, in watts, to power your entire system.
GPU Power Usage
If you configure your prospective system in PCPartPicker, it will give you a pretty decent estimate of the total power usage of the system. You can also look at reviews of video cards and processors to get good information about their power usage. Here are a few example reviews from TechPowerUp.
- MSI GeForce RTX 2080 Ti Lightning Z 11 GB Review
- Gigabyte GeForce GTX 1650 Super WindForce OC Review
- Sapphire Radeon RX 5700 XT Nitro+ Special Edition Review
These reviews show the relative performance of different graphics cards, along with their power usage. They also show their performance/dollar and performance/watt. From looking at many of these video card reviews, it is apparent that the NVIDIA GTX 1650 Super and the GTX 1660 Super are consistently near the top when it comes to performance/dollar and performance/watt. These are both lower-end Turing architecture cards that don’t have ray-tracing, but they do have GDDR6 memory.
Just Get The Super
NVIDIA introduced their “Super” variants of many existing video card models during the second half of 2019. This was a competitive response to the new AMD Radeon 5700 and 5700XT video cards. If you are shopping for a new NVIDIA video card (whether it is for FAH or not), you should get the Super version, since they are going to be significantly better than the non Super version.
For example a GTX 1650 Super uses the much more powerful TU116 GPU with more shaders, more CUDA cores and GDDR6 memory support compared to the non-Super GTX 1650. You will see this sort of pattern with all of the NVIDIA models. The Super variant will offer a substantial performance boost for a trivial increase in cost.
Minimizing Hardware Cost
The easiest way to minimize your hardware cost for FAH is to not buy anything (new or used). Just use whatever existing hardware that you have available. There is nothing wrong with that. You can run FAH on any existing hardware that you have, and you will still get the satisfaction that you are contributing to the effort.
Perhaps you have some old machines or old components available that you can cobble together into a system to run FAH. A great source of old parts for many people is cast-off components from gaming rigs. Maybe you upgraded your video card, and have the old video card sitting in a closet. Old parts are not the best choice from a performance or energy usage perspective, but they are free.
Depending on where you live, you can probably find used components for sale on EBay, Craigslist, Facebook Marketplace, and OfferUp. You should exercise some due diligence when buying used computer parts. There is a chance used parts won’t work. Many sellers have no idea what used parts are worth, so you can either find great deals or get ripped off if you aren’t careful. Do some research in advance to get an idea of what a part is actually worth. KristoferYee is a famous YouTuber who shows how to buy used parts and build great systems.
Many people feel more comfortable buying new parts from a retailer. For computer parts, I really like Micro Center, since I am lucky enough to have one in Denver. Micro Center has lower prices on CPUs and motherboards and they offer bundle discounts. My only complaint with Micro Center is that they sometimes don’t carry certain parts that I am looking for.
Otherwise, Newegg, and Amazon are also good sources for new parts. Best Buy carries more computer components than they used to, and their prices are not as bad as they used to be. Micro Center also sells open box components for a 20% discount off of the new price.
One side effect of the COVID-19 pandemic is component shortages. Supply chains for many computer components have been disrupted, and demand for some components has increased. This means shortages and price increases in some cases. For example, right now, AMD X570 motherboards are in short supply.
If ongoing power usage is a concern, then you should take that into account as you make component selection decisions. You can purposely choose to minimize power usage by selecting more energy efficient parts and/or lower performance parts. You can also spend more money on some parts to reduce your electrical usage.
Your CPU and your video card(s) are going to be the biggest power consumers in a desktop system. Doing things like overclocking your CPU or GPU can dramatically increase their power usage. You would want more modern, lower core count CPUs to reduce their power usage. A 6C/12T 7nm Zen 2 Ryzen 5 3600 CPU will use less power than a 8C/16T 14nm Zen Ryzen 7 1800X processor. Lower performance video cards will use a lot less electricity than the highest performance video cards. Having multiple storage devices and a lot of RAM will also slightly increase your power usage. FAH is not very memory intensive, so having two 8GB sticks of DRAM is usually enough. Having four 16GB sticks of DRAM will increase your power usage, and provide no benefit for FAH.
Power supplies are also an important consideration. You should get a high quality, fully modular power supply from a first tier vendor. Don’t make the mistake of getting an oversized (in terms of wattage capacity) power supply. Power supplies are most efficient at about 50% of their rated capacity. If you get a 1000 watt power supply, but your system only uses 250 watts at 100% CPU and 100% GPU load, the power supply will waste more power than if you had a 500 watt power supply.
You should also try to get a higher efficiency power supply. Good quality power supplies will have different efficiency ratings, going from 80 PLUS up to 80 PLUS Titanium. Power supplies with higher efficiency ratings will be more efficient at a wider range of load levels, with 50% load being the sweet spot.
It is possible measure the total power usage of your system from the wall with a Kill-A-Watt meter. You can also use free software tools like GPU-Z to measure the reported power usage of your video cards(s). Another free tool is HWiNFO64, which lets you measure temperatures and power usage of various components.
Ideally, you can measure component usage with direct readings from the components (if you have the appropriate test equipment and knowledge). YouTube channels like Gamer’s Nexus do this sort of testing. The point here is that you can influence your power usage with your component choices.
What Would Glenn Build?
If I was building a brand new system from parts, that was meant to be a dedicated FAH rig on a budget, here is what I would currently choose:
- AMD Ryzen 5 3600 processor
- MSI B450 Tomahawk Max motherboard
- Fractal Design Meshify C case
- Seasonic PRIME Fanless PX-450 450W 80+ Platinum power supply
- MSI Gaming GeForce GTX 1650 Super video card
- Samsung 970 EVO Plus SSD 500GB M.2 NVMe SSD
- G.Skill RipJaws V Series 16GB (2 x 8GB) 288-Pin SDRAM PC4-28800 DDR4 3600 CL16-19-19-39
This system should use less than 250 watts at 100% CPU and 100% GPU, running Folding@Home. It would also be a very capable 1080P gaming machine that would also be suitable for productivity work. Note: Any Amazon links you see are Amazon Affiliate links. This means I will get a small commission (that doesn’t increase your cost) if you buy a part from one of my links.
If I wanted to upgrade this system, here are changes I would make:
- Add an aftermarket CPU cooler to replace the stock AMD Wraith Stealth cooler
- This would lower CPU temperatures and increase the sustained all-core clock speed
- It also might reduce the noise level, depending on the cooler
- Increase the RAM, going up to 32GB
- This isn’t really needed for FAH or gaming, but could be useful for productivity usage
- Upgrade to a faster video card, such as a GTX 1660 Super
- This will improve FAH production and improve gaming performance
- It will also increase power usage by 30-40 watts at 100% GPU
Since AMD announced last week that the upcoming Zen 3 desktop processors won’t be supported on B450 motherboards, I might decide to go with an X570 motherboard or one of the upcoming B550 motherboards. This would let me upgrade to a Zen 3 processor when they were released, or perhaps later, as their prices went down over time. It would also give me the ability to run two graphics cards at full speed, and have PCIe 4.0 storage.
I think the overall lesson here is that if you have a goal that you are trying hit in terms of total FAH performance, performance/dollar, or performance/watt, you can take steps to make that happen.
This includes doing your own research, and thinking about what you are trying to achieve as you choose your components. Once you get your components and build your system, you should measure key metrics, such as power usage and component temperatures. This will help you understand how your decisions affected your results. It will also help you learn more from the experience.
This post is in response to my T-SQL Tuesday #126 invitation.