As I don't think my recent post, fits into Perft, I started a new category.
The first implementation of the GPU engine Warp, is now running a DXP match against Kingsrow.
Settings 5 minutes / 80 moves, 1 core KR, 192 warps Warp, 6p DB, no book.
My GPU is a 3060 with 12 GB.
Status so far after 90 games, 6 wins Kingsrow, 84 draws.
Not sure I finalize the 158 games, but anyway I will post the results here.
Bert

GPU Engines
Re: GPU Engines
De match ended with 10 wins by Kingsrow and 148 draws.
Here the dxp file.
Bert
Here the dxp file.
Bert
- Attachments
-
- dxpmatch_20261105.pdn
- (157.84 KiB) Downloaded 23 times
Re: GPU Engines
With a few changes I was able to increase the single warp speed (now around 320K nodes/second), and scalability (192 warps 22M nodes/sec), towards more warps.
This time the engine Warp 1.0 lost 7 games, and 151 draws.
Although this number fits within the statistical uncertainty, it "more or less" proves that a GPU engine is feasible.
What I learned so far, and note this is based only upon my experience with a 3060:
* A single instance runs much slower on the GPU then on a CPU. The CPU has much more logic to keep everything running, branch prediction and a large cache, and many tricks more. Also the CPU works with 64-bit registers and advanced 64-bit instructions, whereas the GPU is based on 32-bits. On the CPU single core, I get (with a similar engine) around 12M nodes/second, the GPU reaches around 320K. Most likely this value can be increased as this GPU engine was a "first shot", but I assume that 1M might be the ceiling (but I don't have any proof for that).
* My card has 12GB, and the complete 6P database as the TT could be placed into the GPU memory.
* The strength of the GPU is many parallel warps. I tested now with 192, but modern cards will reach far more as 1000.
* This transfers the challenge to a more intelligent implementation of lazy SMP.
Attached the latest match results against Kingsrow.
For this match 80 moves / 5 minutes, no book, both 6p database, and Kingsrow running on 1 core.
Bert
This time the engine Warp 1.0 lost 7 games, and 151 draws.
Although this number fits within the statistical uncertainty, it "more or less" proves that a GPU engine is feasible.
What I learned so far, and note this is based only upon my experience with a 3060:
* A single instance runs much slower on the GPU then on a CPU. The CPU has much more logic to keep everything running, branch prediction and a large cache, and many tricks more. Also the CPU works with 64-bit registers and advanced 64-bit instructions, whereas the GPU is based on 32-bits. On the CPU single core, I get (with a similar engine) around 12M nodes/second, the GPU reaches around 320K. Most likely this value can be increased as this GPU engine was a "first shot", but I assume that 1M might be the ceiling (but I don't have any proof for that).
* My card has 12GB, and the complete 6P database as the TT could be placed into the GPU memory.
* The strength of the GPU is many parallel warps. I tested now with 192, but modern cards will reach far more as 1000.
* This transfers the challenge to a more intelligent implementation of lazy SMP.
Attached the latest match results against Kingsrow.
For this match 80 moves / 5 minutes, no book, both 6p database, and Kingsrow running on 1 core.
Bert
- Attachments
-
- dxpmatch_20261107.pdn
- (156.96 KiB) Downloaded 8 times
-
Krzysztof Grzelak
- Posts: 1483
- Joined: Thu Jun 20, 2013 17:16
- Real name: Krzysztof Grzelak
Re: GPU Engines
Bert,
I wonder what would happen if you used 2 graphics cards. I think the results were much better.
I wonder what would happen if you used 2 graphics cards. I think the results were much better.
Re: GPU Engines
Krzysztof,
the implementation with lazy SMP is based upon a shared hash-table (TT), which uses the memory of the GPU. When you have 2 graphics cards, the TT will be split, which will decrease efficiency.
Although a GPU engine is feasible, and also quite strong, I assume that for now still a CPU based engine is the better choice.
But who knows what the future holds when GPU's further improve.
Bert
the implementation with lazy SMP is based upon a shared hash-table (TT), which uses the memory of the GPU. When you have 2 graphics cards, the TT will be split, which will decrease efficiency.
Although a GPU engine is feasible, and also quite strong, I assume that for now still a CPU based engine is the better choice.
But who knows what the future holds when GPU's further improve.
Bert
