Quote:
Originally Posted by ginandbread
I think sng solver gives much better results when short handed but for >7players, even 6 players, complete calculation takes too long and future hands aren't that important then so all that calculation becomes pain in the ass.
The way the algorithms work, processing time increases geometrically with respect to the number of players... with each player added, processing takes about 3.5 times longer. As you observed, with a typical PC, things really start to "blow up" around 6 or 7 players.
How much time do you consider to be a "pain in the ass" where it doesnt seem worth it anymore?
We haven't really talked much about performance in this thread yet... so here's some random facts that might be interesting:
- I have a PC with an Athlon x64 4400+ (dual core, 2.2ghz) in it that I consider to be a "low end" machine. For a 6 player solve it takes 19 seconds... for a 9 player solve it takes almost 13 minutes.
- My development machine has 2 quad core Xeon CPUs (also 2.2ghz) and it takes 6 seconds for a 6 player solve and a little over 3 minutes for 9 players.
- on most systems, performance is going to be bound on memory speed. So, upgrading a CPU would only show modest gains if it doesnt accompany an increase in memory bandwidth
- I make full use of Intel's SSE3 instruction set. I have already written SSE4 enabled code, but because memory bandwidth is the limiting factor, it wont be as big a benefit as it theoretically could.
- The core of SnG Solver is written in C and hand optimized SIMD assembly. Despite being memory bandwidth bound, on my system, it runs with a sustained CPI (cycles-per-instruction) of around 0.6. That is very good. In other words, for any of my would-be competitors that would try to duplicate what SnG Solver does in Java, C#, or some other managed language: good luck with that.
- I already have a version of SnG Solver that runs the solve on the GPU. On my very modest nVidia GTS 450, its good for about a 5-10x speed increase over my 8 CPU cores. So like, yeah, GPU computing is going to be a part of the future for SnG Solver in a big way.
Quote:
Do you plan to get calculations when Advanced ICM mode is off better? My assumption is that you neglected that part cause obviously Advanced ICM is priority.
My suggestion is if you want someday to have an all-around program you must solve this problem also cause I think ranges are visably off from Advanced ICM, and when >6players Advanced ICM becomes similar to sng wizard calculations.
So from comparing Advanced ICM => SngWiz => Advanced ICM off, I think for now it's better to use SngWiz then your Advanced ICM off mode (for >6,7 players)
I realize that SngWiz has some features that SnG Solver doesnt have (yet), but could you elaborate on why you think the Wiz calculations are better than "Advanced ICM Off"? With Advanced ICM off, SnG Solver's results should essentially be identical to Wiz.
Quote:
Calling an allin resteal would also be a great thing to add.
Absolutely. I have a plan for handling other actions besides just push/fold and consider it a high priority.
Excellent! I had no idea I've already spawned a 3rd party app scene.
Did you write this?