I started my own project to implement NN in my engine's evaluation. Booot is written in Pascal, so all this way i have to pass along form zero point


My start point:
1. Intel Core I9-10920X +128 Gb + Nvidia RTX3090
2. Delphi 10.3 + Python3.8 + Keras 2.4 + tensorflow6(nF) + CUDA11 + cudnn8
3. Some (small) experience in all of this stuff.
4. Big enthusiasm.
What i would like to :
1. construct and train model in Keras with Booot-eval data
2. Implement SIMD in Delphi (somehow) to receive quick forward pass of NN
3. The feature schema will never be Half-Kp

Some 'motivated' promo:
-Delphi compiler still does not have any AVX2 support! So my assembly code instead of 'vpmaddubsw zmm0, zmm1, zmm0' (for AVX512) looks now like 'db 62h 0feh,48h .....'
But anyway it's very interesting!
My current plan:
1. create simple keras model with the same NN structure as i will have and train it with simple non-chess data (but with similar (but smaller) 1,0,1... input array and similar NN integer output).
2. Make quantization (may be during learning) to receive int8-int16-int32 final weights and biases
3. Prepare quasi-asm hexadecimal codes in delphi to catch the keras data with AVX512,AVX2 and SSSE3 support
4. Receive the same results in keras and Delphi for every input from training set with quantised weights and biases and measure the accuracy of quantised model.
5. Generate 9-digits number of positions with Booot.
6. Train the full model on my home monster.
7. Test and release engine.
Best regards,
Alex.