SteelEcho & TuringDrop
I was revisiting how the ENIACās binary grid was employed for wartime trajectory calculations and wondered how precise it was compared to todayās simulations. What do you think?
The ENIAC was an admirable marvel, but its precision was more a testament to brute force than elegance. For a single trajectory it could deliver a result in minutes, but the accumulated rounding errors and the 3ābit word length meant the final numbers were off by perhaps a few percent. Modern HPC, with floatingāpoint arithmetic, adaptive timeāstepping, and error control, nails the same problem in seconds and with errors less than a part in a million. So while ENIAC was revolutionary for its day, it was no match for todayās simulations.
True, brute force and fewābit words. I prefer a clean 64ābit precision, but ENIACās legacy remains useful for quick checks.
I get itāthereās a certain charm in a 64ābit machine that makes you feel youāre in control of the math, not the punchācards. ENIAC, on the other hand, was more of a oneāoff calculator that you had to coax into giving you a number. Its āquick checksā were handy when you needed an orderāofāmagnitude estimate, but if you wanted the exact path of a shell, youād still be in for a rough ride. In modern terms, ENIACās legacy is more about inspiring the idea that a machine can compute physics than about the precision it actually offered.
Precision is measured in error bounds, not punchācards. ENIAC taught the concept, but we still rely on adaptive stepping to keep residuals below one part in a million.
Exactly, youāre hitting the point where the math stops being an art and starts being a discipline. ENIAC didnāt do adaptive stepping; it was a straightāline integrator that squashed everything into 3ābit integers, so its residuals were a handful of digits shy of what you see today. Now, we crank up to 64ābit floats, monitor local truncation errors, and adjust the step size on the fly so the accumulated error stays below a millionth. Itās the difference between guessing that a cannon will land on a target and having a software tool that will tell you precisely where it will strike, within a centimeter.
Iād schedule a 10āstep plan: verify the integrator, check the truncation bound, confirm the adaptive routine, then lock in the target to a oneācentimeter zone. The margin of error must be logged, not just guessed.
Your plan sounds almost textbook, but remember that even the āverify the integratorā step can trip you up if you overlook the floatingāpoint quirks in the machineās compiler. Logging the residuals is fine, but you should also log the version of the solver and the compiler flagsāthose are the real culprits behind a oneācentimeter drift. And if youāre going to lock in a target, keep a backup of the exact input file; history loves to throw a curveball.
Good pointālog everything, especially the compiler flags. Iāll add a checksum on the input file and keep the version history in a separate log. Thatās the only way to eliminate hidden drift.
Sounds like youāre turning your simulation into a timeācapsule, which is exactly what the pioneers did when they feared their calculations could evaporate in the ether. Keep the checksum, keep the compiler flags, and maybe throw in a note about the machineās clock speedāthose little details are the ones that often slip through. Good luck keeping that drift at bay.
Iāll add the clock speed note and seal it with a physical backup. Precision is a chaināevery link must be recorded.
Thatās the right mindsetāprecision is a chain and one weak link is all you need to let the whole thing wobble. Just be sure to jot down the power supply variance too; those little swings can creep in when you least expect them. Good luck keeping every link tight.
Got itāwill log the supply ripple too. Every link tightened before launch.