blob: 229eb8f121873a6a30ecd0565424aec22cd6cdf8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# Prototype for a new optimal solver
Work in progress.
TODO:
* write script to generate tests for trans (see utils/transform_moves.txt)
* add tests for transformation
* implement transformations (use write to SRC to make life easier)
* setup benchmarks
* coordinates: co, eo, epsep, cpsep_sym, cocpsep_sym, cphtr_sym, cocphtr_sym
* pruning tables (1 bit per entry + fallback)
* solve.c
Optimizations:
* avx2_cube.c
* multi-move (up to 4/5 moves at once)
Things I need to learn:
* Use AVX2 instructions, in particular
[_mm256_shuffle_epi8](https://www.intel.com/content/www/us/en/docs/cpp-compiler/developer-guide-reference/2021-10/mm256-shuffle-epi8.html))
* Inspect compiled assembly
* Use valgrind tool cachegrind and other profiling tools
|