KataGo
KataGo copied to clipboard
Looking for help implementing ONNXRuntime backend
I am currently trying to implement an ONNXRuntime backend. Main motivations are:
- Being available to use .onnx file as the network file, which enables us to experiment with different network architectures or details without implementing everything in CUDA/OpenCL backend.
- Graph optimization shipped in ONNXRuntime, which might be helpful for performance.
- Easier access to some platform-specific backends such as TensorRT, DirectML, and MIGraphX.
I have done some work in my branch, but it is of course not functional yet. My main concerns are:
- I have little to no experience with C++, so I'm pretty sure that I messed up somewhere and everything is broken here and there.
- I have totally no idea how to configure
CMakeList.txt, especially considering thatfind_package(onnxruntime)does not work. This comment is probably helpful for this purpose, but I'm not getting how to use this in a proper way.
For those who might be interested in, b20 and b40 weight files converted into .onnx format are available here.