difference is small, but in each round, it diverge more, and the final results are completely different, because it affect all model parameters, and they converge to different state. Therefore, the comparison of my methods is not reliable in other settings.
This is my first time with gdb, and I ran:
gdb 
> file python
> run myscript.py

I got the following results. If I should run it differently, please tell, but I got this:
[New Thread 0x7fff55fff700 (LWP 18812)]
[New Thread 0x7fff557fe700 (LWP 18813)]
[New Thread 0x7fff54ffd700 (LWP 18814)]

Thread 1 "python" received signal SIGSEGV, Segmentation fault.
__strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:62
62      ../sysdeps/x86_64/multiarch/strlen-avx2.S: No such file or directory.