Commit Graph

78 Commits

Author SHA1 Message Date
Asriel Camora e07617f1c8 Remove tracing 2023-11-04 23:15:20 -07:00
Asriel Camora 3167b0db44 No more byregot for scoring >:c 2023-11-04 19:53:13 -07:00
Asriel Camora bfc8708fbd Update solver scoring; remove byregot adjustment 2023-11-04 19:40:31 -07:00
Asriel Camora 5bee39678c Fixed stepwise solver never finishing 2023-11-04 18:44:54 -07:00
Asriel Camora 269a7f9870 Optimize trace build, add trace sim code 2023-11-04 18:44:30 -07:00
Asriel Camora 4f953f2fa3 Add benchmarking and trace build config 2023-11-04 13:49:47 -07:00
Asriel Camora d08fedb247 Use fixed point arithmetic for progress/quality 2023-11-04 11:43:34 -07:00
Asriel Camora 2f727f76cd Move accepted actions to ActionSet 2023-11-04 11:01:15 -07:00
Asriel Camora ac109ae711 Fix ActionSet 2023-11-02 01:04:28 -07:00
Asriel Camora 439a174d34 Change ActionSet to use pragmas 2023-11-01 22:01:11 -07:00
Asriel Camora 234eb3a7ab 1.9.0.0 (Testing) Release 2023-10-17 03:36:31 -07:00
Asriel Camora 1da2acc5c5 Finish crafting log helper window 2023-10-10 18:38:01 -07:00
Asriel Camora 9a924c8049 Ignore if semaphore is used after task is cancelled 2023-10-10 18:18:22 -07:00
Asriel Camora f8f876d5f4 Implement macro scoring and suggesting 2023-10-10 01:40:52 -07:00
Asriel Camora 7327a1a844 Add MaxThreadCount default 2023-10-10 00:39:38 -07:00
Asriel Camora bdabbbdafa API9 updates 2023-10-10 00:39:23 -07:00
Asriel Camora 6bfff06ac4 Implement max thread count setting using semaphores 2023-10-02 23:02:11 -07:00
Asriel Camora 42a1bc1117 Use TPL when solving with all algorithms 2023-10-02 22:28:12 -07:00
Asriel Camora c0f579f23b Split solver into MCTS and algorithms 2023-10-02 13:07:06 -07:00
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