Hardware
How does hardware impact PioSOLVER performance?
There is no "optimal" build as it depends on your expectations, budget and logistics. Here are some points to have in mind:
- Operating system: You need 64bit Windows. On Macs you need some way to run Windows, popular ones are Parallels and Bootcamp.
- CPU: The solver's speed is proportional to number of physical cores times the frequency they run on assuming those are reasonably modern CPUs.
- RAM: The more RAM you have the bigger trees you can build at one time. If you build a large tree, it will also take longer to solve so there is a balance between RAM and processing speed.
- Minimum requirements: you need a quad core CPU and 8GB of RAM to run the solver comfortably. It will work on modern dual core CPUs as well but it's going to be slower (more than 2x because usually those CPUs are also clocked at lower frequency than quads to save battery life). It's the best to download the free version and run some tests (it solves Qs Jh 2h flop) to make sure your hardware produces satisfactory performance.
- Laptops: it's hard to get good performance on a laptop. If you intend to run the solver on those make sure to get real quad/hexa core CPU (not 2 cores with hyperthreading sometimes advertised as 4 cores) at possibly high frequency. Even the fastest laptops are slower than average modern desktop computer. The reason for this is that laptops are optimized to be portable and to have long battery lives not for performance.
- Desktops: the performance is proportional to number of CPU cores multiplied by frequency they are clocked at. We strongly recommend AMD CPUs as starting from Zen generation (Ryzen/Thread Ripper) they offer much better performance/price ratio and you can get a lot of cores. Due to licensing changes on Intel forbidding the users to publish performance benchmarks we can no longer in good conscience recommend Intel CPUs.
- RAM: RAM speed matters little as long as it's relatively modern. The more RAM you have the bigger trees you can build. 8GB is enough to use postflop solver comfortably with occasional 2-3 bet sizes at some points. 16GB is enough to solve even very big trees with multiple bet sizes at many points. Some users want even bigger trees though. To use the preflop solver comfortably you need at least 64GB of RAM. We got reports that RAM speed is important for Ryzen/ThreadRipper CPUs though. It's the best idea to consult hardware experts/hardware forums when assembling your system.
- Renting: it may be the best idea to rent a dedicated server instead of building your own hardware. It offers a lot of flexibility and options. The solver doesn't hog your local resources either so you can the computer for other heavy tasks when Pio is solving on the server. There are many providers of dedicated servers out there, popular ones among our customers are ovh, online.net and https://contabo.com/. They all have their own order process, offerings and support. We don't recommend any particular provider, it's the best to consult Google and our Skype group where many people went through the process.
- GPUs: they don't matter for the solver's performance.
- SSDs: they don't matter for the solver's performance although they do matter for overall computer experience so it's recommended to get one unless the computer is purely for Pio purposes.
- Overclocking: overclocking will increase performance of the solver proportionally to how much you overclock. Overclocking also increases heat so you need very good cooling to make it work (generally you need to know what you are doing). Please keep in mind that you really need to know what you are doing when OC'ing. If the solver starts crashing after you overclock your system it means it's unstable and it's time to reverse course to the base frequency.
- Intel vs AMD: New AMD CPUs (Ryzen/ThreadRipper) offer fantastic performance/cost ratio and we highly recommend them over Intel. The only issue with Ryzens, especially from the first and second generation is that you need to have someone competent assembling the computer as it's important to choose compatible components (RAM, motherboard, CPU), otherwise stability issues may occur.
What computer should I buy for pio?
We don’t know. But if you know nothing and want some guidelines anyways than currently (2020) the best deal AMD CPUs either Ryzens or ThreadRippers (depends on the budget). You need 8GB of RAM to run simple postflop trees with 1-2 bet sizes. 16GB of RAM should be enough for most reasonable postflop simulations. For the preflop solver you need at least 64GB for most practical trees and 128GB for bigger ones.
What is more important - RAM or CPU?
Both can be a limiting factor. It requires a certain amount of RAM to be able to build the tree, but RAM will usually not affect the solving time. For the simplest flop trees you need around 4gb ram, typical tree you need 6gb and for huge trees you need 12gb+ of RAM.
Processing power will be the bottleneck if you have enough RAM, but the solver is really fast. You can get away with weaker hardware (fast 2core CPU) if you don't run advanced trees with many bet sizes on every node.
What are the requirements for preflop solver?
For preflop solver 64GB is an absolute minimum for practical purposes (you may be able to build some toy examples with 32GB). 128GB is recommended if you want to experiment with more sizings/more complicated postflop play. While not required it's highly recommended to get fast modern CPU as well as big preflop trees take very long time to solve.
Which computer components affect PioSolver performance and experience?
CPU Component | Solving speed | Ability to solve bigger trees | Solutions save / load |
---|---|---|---|
CPU Clock | Direct effect on solving speed (1:1) | - | - |
# of CPU Cores | Direct effect on solving speed almost (1:1) | - | - |
CPU Generation | About 5-10% increase in speed for each new generation of Intel CPU’s | - | - |
RAM | - | The more RAM the bigger trees you can solve | - |
SSD Disk | - | - | SSD increases save/load speed of big trees |
Not enough memory?
There are two kinds of memory, RAM and storage. If you do not have enough RAM then you won't be able to build large trees with many bets/complexity. After building a tree, you can see the RAM usage using task manager. Storage is memory for files and is usually measured in hundreds of GB or TB. This doesn't affect the performance of the solver, however if you want to save trees after solving you save it as a file on your hard disk. Saving the full tree will have a similar size on your hard disk as it does in RAM, however you can greatly compress the tree size to have much smaller file saves.