CodeJeNN: A simple C++ neural network generator for physics applications
For physics researchers using C++ solvers, CodeJeNN removes the performance bottleneck of Python-based ML inference.
CodeJeNN auto-generates self-contained C++ inference code from Keras models, eliminating Python dependencies and achieving speedups in physics applications without accuracy loss.
Machine learning has shown speedups for numerical methods in physics applications, but integrating Python-based libraries into high-performance C++ solvers creates performance bottlenecks. We present CodeJeNN, which bridges this gap by auto-generating self-contained C++ code from trained Keras models for inference. This eliminates external dependencies through minimal inlined functions, allowing seamless integration into existing frameworks. We describe the Keras-to-C++ workflow, supported architectures, and limitations. CodeJeNN is demonstrated through inference benchmarks against Keras in eager and JIT modes and a CFD test case modeling viscosity in a hydrogen-air mixing layer, showing speedups without sacrificing accuracy.