Asriel Camora
e6081f5e60
Remove crafty namespace from solver
2023-10-02 12:16:43 -07:00
Asriel Camora
cfb5c53f3b
Make crafting log ui nicer, remove redundant code
2023-10-02 12:16:01 -07:00
Asriel Camora
08c5324b34
Code formatting fixes
2023-07-23 06:05:04 +04:00
Asriel Camora
c344815e50
Moved algorithm into SolverConfig, multi configuration support
2023-07-23 02:28:18 +04:00
Asriel Camora
8c73796b75
Solver token handling fixes, formatting tweaks
2023-07-21 15:51:52 +04:00
Asriel Camora
cb9dcb358f
Yet more ui tweaks
2023-07-16 00:09:37 +04:00
Asriel Camora
1cc83ca959
Minor ui tweaks
2023-07-16 00:01:19 +04:00
Asriel Camora
23dd60bb34
Make combo actions much more clear
2023-07-14 23:45:07 +04:00
Asriel Camora
9a245aa9ad
Minor solver refactoring
2023-07-13 21:22:39 +02:00
Asriel Camora
df72386f19
Fix edge case exceptions when input simulation is invalid
2023-07-13 13:02:39 +02:00
Asriel Camora
9a75542e4b
Tweak byregot scoring system, add bonuses to config
2023-07-13 12:27:45 +02:00
Asriel Camora
7787ae32d5
Combo actions for better macro quality
2023-07-13 12:08:17 +02:00
Asriel Camora
49b84e966e
Keep iterating until a completed craft is found or is impossible
2023-07-10 21:00:57 +02:00
Asriel Camora
a9541e2e1d
Add furcated actions (better results than single thread & faster!)
2023-07-09 08:59:39 +02:00
Asriel Camora
2e2db97ca7
More heuristic improvements
2023-07-08 14:38:35 +02:00
Asriel Camora
436858e65c
Optimizations/improve action gen
2023-07-07 20:23:27 +02:00
Asriel Camora
636501ab86
Remove all concurrency code
...
Muddled the code too much, and only gave a marginal performance improvement in the grand scheme of things. Other ways to parallelize MCTS will be nicer to implement and could yield better results.
2023-07-07 20:17:35 +02:00
Asriel Camora
3ab50d389e
Fix concurrency, add forked simulations
2023-07-07 18:13:27 +02:00
Asriel Camora
7d8fc9ff8f
Remove extra stackallocs
2023-07-07 16:35:22 +02:00
Asriel Camora
e4d9e3a52e
Offload node score buffers
2023-07-07 15:45:42 +02:00
Asriel Camora
1386f9150c
Fix concurrency deadlock
...
I'm stupid and forgot it divided the number of iterations by 8, no wonder it was so fast lmao
2023-07-07 13:01:17 +02:00
Asriel Camora
d5a8288439
Merge solver code with static interface
...
- Breaks backwards compat solver code with last version. Concurrent broke backwards compat because of race conditions with rng, but single is now broken too, despite it being 2x faster (!!!!)
- Literally twice as fast as Rust now in single thread
- Concurrent doesn't work yet, deadlocks somewhere..?
2023-07-07 10:26:59 +02:00
Asriel Camora
2894867195
Smaller minor optimizations
2023-07-06 19:45:59 +02:00
Asriel Camora
1f5da66bc6
Remove deadlock issue, use raw segmented array types
2023-07-05 11:00:15 +02:00
Asriel Camora
4d96fd173f
Some multithreaded fixes, deadlocks due to List reads during adds
2023-07-04 17:19:55 +02:00
Asriel Camora
75553de490
Rudamentary locked multithreading
...
2x faster, but 8x threads.. not very good yet
2023-07-04 09:25:32 +02:00
Asriel Camora
e46d1b20fa
Use rqrt in child score calculation
...
Changes sqrt -> rsqrt and div->mul. Reduces latency by 23 -> 8 cycles.
2023-07-04 08:36:41 +02:00
Asriel Camora
76853e2f0d
Begin implementing async
2023-07-04 08:42:02 +03:00
Asriel Camora
4b90ded2bb
Minor optimizations
2023-07-04 07:40:34 +02:00
Asriel Camora
c8aa6818c7
Float CAS intrinsics & move BMI2 intrinsic
2023-07-04 07:29:35 +02:00
Asriel Camora
2e9d1e899e
Decoupled simulator instance from solver
...
multithread soon, but holy crap multithreaded tree stuff is annoying
2023-07-04 00:02:19 +03:00
Asriel Camora
ec596f400d
Clean up solver code a bit
2023-07-03 18:38:59 +03:00
Asriel Camora
37950b557e
Cancellable solving, re-added solving randomization
2023-06-29 01:46:21 -07:00
Asriel Camora
866e30a5bc
Simulator changes
2023-06-25 01:01:47 -07:00
Asriel Camora
c1caa46838
Minor changes
2023-06-23 00:19:32 -07:00
Asriel Camora
0de1faa112
Add benchmarks
2023-06-21 20:44:13 -07:00
Asriel Camora
dba76e319c
Fancy simd horizontal max
2023-06-21 16:12:44 -07:00
Asriel Camora
5faaa02f1a
Remove threadlocal dependence
2023-06-21 13:20:05 -07:00
Asriel Camora
0f2267dabf
Re enable random actions
2023-06-21 11:42:22 -07:00
Asriel Camora
f3445f3cb9
Customizable solver config, remove simulator emplace/displace methods
2023-06-21 10:38:08 -07:00
Asriel Camora
11b4b7f6d9
Remove all unncessesary data instantiations
2023-06-21 10:07:16 -07:00
Asriel Camora
1dda7496e9
Remove unused NodeData instantiations
2023-06-21 09:40:37 -07:00
Asriel Camora
270963dd4a
Stop using Arena type since everything can be GC'd easily
2023-06-21 09:12:45 -07:00
Asriel Camora
5189ef5d74
last optimization stuff i promise
2023-06-21 07:52:21 -07:00
Asriel Camora
52ad8a4cb0
even more minor optimizations, use random now
2023-06-21 07:36:43 -07:00
Asriel Camora
0b2b80d6b5
More minor optimizations
2023-06-21 06:16:57 -07:00
Asriel Camora
fc0ffc11f3
Minor optimizations
2023-06-21 05:58:08 -07:00
Asriel Camora
b7393b5c65
Improve simd code
2023-06-20 22:38:26 -07:00
Asriel Camora
47c9339d56
Replace ActionHistory with persistent ActionStatuses
2023-06-20 22:37:59 -07:00
Asriel Camora
cdd4f5923e
Precompute base progress/quality increases
2023-06-20 17:07:16 -07:00