Computing Library › Verification Validation
Verification Validation

Code-to-Code Benchmarking

Compare independent codes on an identical problem; agreement builds confidence, disagreement locates a bug in at least one of them.

Cross-Checking Implementations

When no exact solution exists, one of the few remaining checks is to run the same defined problem through two or more independently written codes and compare. If codes built by different teams with different methods agree closely, the shared answer is unlikely to be a coincidence of matching bugs. If they disagree, at least one is wrong, and the comparison narrows where to look.

What Makes a Good Benchmark

Kronos motion — validation

Its Limits

Code-to-code agreement is not validation. Two codes solving the same wrong physics will agree with each other and disagree with nature. Nor is it strict verification: agreement does not prove either code is correct, only that they are consistent. It is best understood as corroborating evidence that supplements, never replaces, comparison to exact solutions and to experiment.

Community Benchmarks

Many fields maintain published benchmark suites: standardized problems with reference results that new codes are expected to reproduce. These lower the cost of entry for verification and create a shared yardstick. In fusion and plasma physics, cross-code benchmark campaigns compare transport, equilibrium, and stability solvers on agreed cases so that differences in method rather than differences in problem setup can be isolated.

The practical discipline is to treat a benchmark disagreement as a defect to be explained, not a nuisance to be averaged away. Every resolved disagreement improves both codes and the shared record; every unexplained one is a latent error waiting to surface in a design decision.