Commit Graph

67 Commits

Author SHA1 Message Date
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
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