Click here to see flat version of this file.

No javascript!

Your browser has disabled javascript. Some elements may be displayed incorrectly.

Once you purchase the software you will get an email (within 24 hours, usually a bit faster than that) with your license key and a link to an installation guide:
installation guide

It's preferred to install it outside of you system directories, so C:\PioSolver is better than C:\Program Files\PioSolver. The reason for it is that folders like Desktop/Downloads/Program Files have additional privilege/access requirements and that causes problems sometimes.

See here. It may change in the future. Some features will be added to all version, some only to the pro version and some experimental/requiring bigger hardware ones only to edge. That link represents current state of affairs.

PLEASE NOTICE THAT UPGRADES ARE POSSIBLE FOR 2.0 version ONLY.
If you would like to upgrade your 1.10 version to 2.0 (for example basic1 -> pro2) see the section in:
How do I upgrade my Pio1.10 version to Pio2.0 section.

The upgrades are listed here:
basic to pro upgrade
basic to edge upgrade
pro to edge upgrade

The cost to upgrade versions is the difference in prices plus $25 if you upgrade one month after your initial purchase.

Please use the same email as before or let us know which license key should be upgraded after the transaction is done.

Maybe. It depends how popular the feature is among other users, how useful we think it is and how much time it takes to implement. In our discord server, we have a feature suggestions channel which we regularly check. Your best bet is to request your feature there and check back every few weeks for updates.

There is a short introductory video which goes over basic functionality of the solver. There is also a Quick Start Guide and Resources. Full 50 pages manual is not going to happen - the program changes too fast and maintaining a tutorial is a huge burden. In the near feature we plan to release more videos going over various features. However there is a large online community of PioSolver users who make instructional videos which cover lots of examples and uses for the software. We also have a discord server which has an active community where you can talk to other users about their experience.

Please follow the steps:

  1. Unless something crashes assume it's not a bug and try to think why the results might be correct. The experience shows that majority of bug reports are user errors. Our resources are very limited so be considerate when it comes to developers' time.
  2. Make sure you are running the newest version of the solver and the viewer.
  3. If after following steps 1 and 2 you still think there is a bug please send us an email support@piosolver.com. The most useful piece information you can include is the way to replicate the problem (so actions leading to the unexpected/buggy behavior). If that's difficult please include as many details as possible: the tree config you work on ("copy to clipboard" button), a description of actions you took before you encountered the problem as well as a description of how the actual result differs from the expected one.
  4. If you want to be even more helpful go to Tools->Configuration, check "enable logging" and then re-create the problem. There will be log.txt file which you can send to us. That's the best way because we can look into all the details and get to the problem quickly.

Use PioUpdater: PioUpdater

For the same version upgrades (basic to basic 2.0, pro to pro 2.0, edge to edge 2.0) please first check our announcement:
https://www.piosolver.com/blogs/news/piosolver2-0

and then follow the link to get your upgrade link:
https://licences.piofiles.com/

It will point you to correct discount link.

For different version upgrades, see the following links:
basic to pro2.0 upgrade
pro to edge2.0 upgrade
basic to edge2.0 upgrade

We have an active community on discord where users can ask questions and discuss hardware suggestions and tree solutions. Use the link to join: https://discord.gg/h3J4ank. This is also where bugs and issues are discussed, so keep an eye out here.

To get started, take a look at our quick start guide.

You can test the performance of the solver on your machine by performing a benchmark test. This will create a simple, predefined tree and run a set number of iterations on the tree and print out the time taken. To run the benchmark command you can open the solver.exe directly in a commandline and enter the command "bench". You can also enter commands while using the viewer with Ctrl+B and once again enter "bench". See technical details for more information on benchmark standards.

PioSolver uses a universal poker interface to communicate, which is a text interface. You can read the full documentation to see all the commands which you can use to make scripts for the solver.

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.

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.

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.

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.


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

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.

The EVs are calculated against current solution (against current opponent's strategy). This means those are not perfect equilibrium EVs as those are unknown. The more precise the solutions gets the smaller EV differences between mixed actions become. In a perfect equilibrium (and only then) all the EVs for mixed actions have the same EV. Perfect equlibirum has exploitability of 0.

No, perfect GTO always maximizes EV with each hand in every spot. There is no room for -EV actions. When perfect GTO mixes actions those have the same EV. The mixing is done to guarantee the opponent can't get higher EV.

This is one of the biggest surprises about gto solutions. It turns out that especially on the flop there aren't really a clear bets or very few of them. Usually the differences are quite clear between calls and folds (at least for most hands) but check/bet decisions and often call/raise ones turn out to be close.

It doesn't mean you can just start checking all those mixed hands or betting them as that would open a huge opportunity for the opponent to exploit you. This means it's a good idea to focus on general range composition for actions but not necessirily exact hands and frequencies.

The two numbers returned for each hand are evs and matchups. The solver always returns evs in global format though (so calling 100$ and then folding is -100$, not 0 as the viewer shows).

You can think of it as probability, although it's not normalized to 1 (so for example if there are 3 events, and they have 2,3,3 matchups it means probability is 2/8 3/8 3/8 respectively). It's the real probability of certain action happening given current starting ranges and strategies of both players.

The thing is that if you for example have a range of AA and 77 on 972 flop and you wonder what average EV is you can't just take (EV(AA) + EV(77)) / 2 because AA is more probable than 77. You have to use matchups for that (EV(AA) * matchups(AA) + EV(77) * matchups(77)) / (sum of matchups).

Technically one matchup is counted when hand of weight 1 plays a single hand against other hand of weight 1. E.g. on on the river case if OOP has total of 2 combinations and IP has 4 combinations, there will be total of 8 matchups.

  • Two matchups of hands with smaller weights (against 0.5 against 0.4) will be counted as multiplication of their weights (0.2 in this case)

  • Matchups represent the real frequencies of things happening. Matchups are the occurences that special flop happened ... like if there are two flops A, B and the matchups are A-3, B-6, that means, A happened three times and B happened twice as often, namely 6 times.

  • Matchups in a split point (e.g. decision of new street) are calculated as a sum of matchups in children, and EV are averages of EV in children weighted with matchups.

  • Matchups have some interesting properties:

    • Total matchups OOP = Total Matchups IP (that is because each matchup is played by both players)
    • matchups from equity calculation = matchups from EV calculation (this is because they iterate the same number of hands - equity represents EV assuming check-down of all hands)
    • In aggregation plugin Sum of matchups for all flops will be the same number as sum of matchups of all player’s hands. (this is because it’s the same thing, but splitted by different criteria.

They are similar in a sense that they both are related to probabilities. Weight of a hand in Range is the relative probability of having a certain hand. So if AA has weight 1 and KK has weight 0.5 it means that probability of having AA is twice as high as having KK.

Strategy is a relative probability of performing a certain action with particular hand. In a single node strategies for all possible actions always add to 1 for a given hand.

Range of a player in any spot can be calculated as his starting Range multiplied by Strategies of all decisions a player has made.

So for example after flop check-raise from OOP player his range is equal to is his starting range multiplied by strategy of checking the flop multiplied by strategy of raising after opponent bet.

If starting range had AJs with weight 0.75, opening strategy for AJs was 70% Check / 30% bet, and after opponents Bet strategy was Fold 0% / Call 60% / Raise 40% then checkraise Range of AJs would be 0.75 * 70% * 40% = 0.21

In the viewer you can see two different numbers denoting action frequency. One is the number of combos (e.g. 60 combos CHECK, 40 combos BET) and these numbers depend only on the range of a player. However in reality the frequency of plays will be different as they will be affected by villain's range with card removal effect.

In an extreme case - Let's assume that hero range is either As or Ks, and villain's range is only As. If hero checks all his Ks and bets his As then he checks 50% of his combos, but because he never really has an Ace (because the villain always has it!) the real check frequency will be 100%.

Even if the save doesn't have rivers it's possible to browse the whole tree.

The single river is a very small part of the whole tree and the solver is capable of recalculating it on the fly almost instantly.

There are few exceptions:

  • The ranges are empty. The solver is unable to recalculate strategies in the nodes where one of the ramges is empty.

  • Aggregation reports. Resolving a single node is negligible, but doing river reports requires resolving thousands of lines and can cause cosiderable delays. Therefor it's not recommended to run aggregation reports on the rivers on small trees.

It's the weighted average of EV over all flops weighted by real frequency (Matchups times Flop Weight).

The most common mistake are mistakes regarding Action EV's and EQR. To calculate actions EV's weights must include both Matchups and Action freq (Weight = Matchups times Action Frequency). The formula for EQR is: 100 times (Sum of (Player EV times Matchups) / Sum of (Player EQ times Matchups). See Example There still might be minor discrepancies, but – if calculated correctly – differences should be negligibly small (we output data with certain accuracy).

One activation means you can use the software on one computer. It doesn't mean that you can only activate it once. If you lose access to the software for whatever reason (hardware crash, stolen computer, etc) it's always possible to recover it.

While our licenses are in principle per computer we allow moving them within reasonable limits for purposes like new/broken computers, long travelling and some experimentation. The edge license can be moved around without any limits. If you need to reset your license please follow the instructions here: Pio licenses

The link to the installer is there as well.

Only the edge version. You can try running basic/pro version as well but as cloud providers change the hardware on regular basis it won't work long term. Dedicated servers are a better (and cheaper if you run it a lot) solution.

If you need to reset the license please follow the instructions on this page: https://licences.piofiles.com/

The link to the installer is there as well.

We don't support it. There are four reasons for that:

  1. Along with purchasing the software you get support from our team. Providing support is based on the idea of average usage time (some people need none, some need more). That means that we can't provide support to people who would buy a re-sold license as then the cost would be much greater.
  2. Our software is fundamentally per computer. We allow moving it for purposes like new computers/long travelling etc. but those are exceptions for the benefit of our users.
  3. There are many scam attempts based on re-selling Pio keys. Things that have happened in the past include: buying a key for someone and then requesting a refund or hitting us with a chargeback; selling invalid Pio keys; selling the same key to several different people. There are other creative scams as well, which we are not going to describe. We don't facilitate reselling and we will always warn about possible scams. That being said there is nothing we can (or want) to do if you re-sell your license and someone else starts using it. We don't police on what computers Pio is run, it's just from our point of view the contract for support/license related request is still bound to the original buyer and the original buyer is always entitled to key recovery.
  4. Laws: if our original customer requests access to their license we have to grant it. We don't have a way to prove the license was sold. We are neither allowed by law nor have resources to collect/verify/police private deals outside of our control. The license belongs to the original buyer.

Please allow up to 24 hours for the license to be sent to your email by our servers. Also, check your spam folders as our mail is sometimes incorrectly marked as spam. If your license has been marked as spam, please mark it as not spam to improve communication in the future.

After purchasing a license it can take up to 24 hours to receive the license key from us and for activation to work. If you have recently bought a license and are having difficulties activating, please wait until after the 24 hour grace period before contacting support as the issue may resolve itself by then.

Here are some common things to check when the solver can't verify your license. 1. Make sure there are no 3rd part antiviruses or firewalls blocking Pio. 1. Check that you can reach wyday.com (our licensing server) as it may be blocked on your network or in your country. You can use a browser or ping it directly from command line. 1. Navigate to the TurboActivate folder in your Pio folder and run the .exe from there. 1. Follow the instructions to insert your key.

When activating the license is not successful, you will get an error code with a short description. Below are the common error codes and ways of deaing with them:

  1. ERROR CODE 1 (probably wrong key):
    Your key is most likely incorrect or you are trying to activate a different version of the software.
    -Check that you have chosen correct version of the program in the installer
    -Check that you are using a correct key; some email clients have a tendency to insert random spaces/other characters inside of the key
    -If the above fails please go to TurboActivate folder in your Pio folder and run the .exe there, it usually solves the problem or gives a better error message

  2. ERROR CODE 13 (The activation has expired or the system time has been tampered with)
    Please do the following:
    -Verify that time/date/timezone are set correctly for the location of your computer
    -Perform full system restart (not sleep/wake up cycle)

  3. ERROR CODE 28 (TA_E_ENABLE_NETWORK_ADAPTERS)
    This is a rare error which is sometimes difficult to solve. The problem is that our licensing system can't generate hardware fingerprint due to Windows malfunctioning. You can try the following:
    1)VERY IMPORTANT: make sure Windows is up to date and all recent updates are installed
    2)Run the installer as administrator
    3)Go to device manager and look at network adapters, see if there is anything malfunctioning or inactive. If there is something inactive, please enable or uninstall it.
    4)Make sure no 3rd party antivirus is running as they are known to mess up with OS configuration, never disable Windows Defender though.
    5)Restarting the computer might be needed after the above steps are taken

Always ensure that you have double checked the Updater for any updates to make sure your software is up to date. Also make sure that your date and timezone are set correctly and perform a restart afterwards.

Make sure you use the same account and email as when you first purchased the software when trying to upgrade. If it is still not working, send us an email with the following information included clearly.

  1. Some way to find your old license. This includes giving proof you own the email address used for the original purchase, or providing your old license key.
  2. A new email address to be linked with the upgraded license.

For more details, read the upgrading to 2.0 page.

When importing file into Excel or other spreadsheet tool you should have an option to set column separator and for .csv files it should be a comma. Some tools don’t import .csv files properly by default and you might have to search for some import options to set comma as a column separator.

In Excel you can do this: Mark Column A go to Data -> Text in Columns and then choose Comma as a separator

They are used to calculate weighted averages over all flops in the subset.

I.e Let’s say you have scripted all strategically different 1755 flops to calculate average flop donk %. You can’t take simple average over all flops, but you have to include more frequent flops (like AKQ rainbow) with higher weight than less frequent flops (like 222). Similarly if you have made a script with a weighted subset of flops those weights are used to calculate average frequencies and EV over all flops.

This error most often occurs when PioViewer is run from a directory that is missing necessary files. It can for example in case you have moved pioViewer file out of pioSolver directory (e.g. you wanted to make shortcut on the desktop but copied the file instead).

Example error message might be the following: Server Error: ERROR: go can't do that on incomplete tree Server Error: ERROR: lock_node can't do that on incomplete tree * Server Error: ERROR: round_up_to can't do that on incomplete tree

In PioSOLVER incomplete trees are those which have been stripped of information about one or more last streets (e.g. tree without rivers, or turns and rivers). The advantage of such trees is that they are way smaller when saved. Disadvantage is that the strategy on those trees cannot be modified anymore.

The reason for this is that incomplete trees cache EV information in places where cut streets would happen. When particular runouts are requested they are being recalculated on the fly. If the strategy on earlier round would be changed it would require a recalculation of all affected parts of the tree - including those removed from the tree. As most of the work solver performs is on the rivers it would be as expensive as building and solving the tree from scratch.

There are some operations which require recalculation of EV on a full tree, and these operations are not permitted on incomplete trees (small trees without rivers, turns or flops). An example of such operations are * “Go” (calculating solution - which is a full tree operation), * “Round strategies”, “Lock Strategy” - change of strategy changes the EV’s which cannot be recalculated if there is part of the tree missing

  • Server Error: ERROR: calc_ev Can't do that when solver is running

It means that the operation you are trying to execute cannot be executed while calculation is running. Stop solver or wait until it completes to do what you want.

Currently it's not possible to view tree, ranges and strategy of a postlop part of a preflop tree when the solver is running. To view the postflop part of solution it's necessary to stop the calculation first.

This error can happen in few cases:

  • You are trying to load a file from a newer version of PioSolver (e.g. when someone shared a file with you) in an older version of PioSolver. In this case you should update your PioSolver.

  • You are trying to load a file that isn't pioSolver save file but comes from some other program (e.g. jesolver). In this case please make sure to use jesolver to open jesolver files and PioSolver to open PioSolver files.

This warning occurs when specified ranges on the flop contain different weights for the strtegically identical combo on the flop. So for example QsQh:1, QdQc:0, QhQd:0.5. In this case solver cannot use some optimizations and therefore will use more time and memory to calculate.

You can't (unless you are buying a lot of licenses). We feel it's unfair to only give discounts to people who ask for them and charge other customers the full price. If we think it's a good idea to discount the prices we will lower them for everyone.

We don't and it's unlikely to change in foreseeable future. Main reasons:

-accounting/organizational overhead -our belief that affiliate programs remove incentives for honest reviews

We might be willing to pay for/give free copies for reviews/educational material etc. Feel free to contact us about it. We will not make any deal that provide incentives for a positive/good review as we want our customers get honest opinions about Pio. Not a single review/video posted about Pio by 3rd parties is paid for. We want to keep it this way.

We are happy to make the following deals:

  • If you are a content maker with some following we may send you a free license in exchange for an honest look at the software and mentioning it/making a review if you like it. The expectactions end there. We won't send more licenses in exchange for more reviews, nor we will pressure you to publish anything.
  • Bulk purchases: If you are buying a lot of licensing we will give you a discount.
  • Cross advertising: If we like what you are doing and you like what we are doing it might be good for both sides to mention that to our user bases.
  • Incorporating new formats/feautes in Pio: if you would like to make your software compatible with ours (by implementing import/export of common format etc.) you are very welcome to talk to us about it.

Currently we are not making any kind of affiliate/resale deals.

Please don't contact us if you are selling any of the following:

  • Advertising
  • Web analytics
  • SEO services
  • Website "optimization"

If we need any of the above we will look for it ourselves.

-piosolver@piosolver.com -punter11235#1235 on Discord -Tell us who you are, outline what you want us to do and what you can offer in return

You probably can't. Pio is a succesful project that doesn't need financing and which we still like working on. If you are serious about buying it you will need:

-a lot of money (has to be life-changing for us)
-willingness to pay for conducting talks/disclosing business information like number of customers, current state of development etc.

We will not talk about selling the company if you don't prove that you are serious about it (this means paying). We already wasted too much time dealing with wannabe investors.