Skip to content

Executables and builds

An executable is one engine binary on one environment. verlet finds them by scanning, you can register one by path, and verlet can build new ones from a spec.

One table lists every executable on every environment: version, compiler, MPI, number of packages, size, status and when it was registered. Filter by name or package, or narrow to one environment.

Every executable on every environmentEvery executable on every environment
  • Facts: engine version, compiler, MPI library, FFT library, accelerators, file size, build ID and whether it has debug symbols, read by running the binary and inspecting it.
  • Packages compiled in, each linked to its documentation, and the styles they provide, which the editor uses to mark what this binary lacks.
  • Linked libraries the binary needs.
  • Usage: simulations and runs that used it, completed or failed, first and last use.
  • Performance per environment: timesteps per second and ns/day for its runs, median and spread, kept separate for each machine. Numbers from different machines are never averaged.
An executable built by verlet, with its facts, packages and linked Spack packagesAn executable built by verlet, with its facts, packages and linked Spack packages
StatusMeaning
VerifiedIt ran and identified itself as the engine. It can be used for runs.
UnverifiedFound, but it could not be run or did not look like the engine.
MissingIt was there in an earlier scan and is gone now. Its history is kept.

If a binary is rebuilt in place, the next scan reads its facts again.

Executables verlet built carry a built from spec label, list the Spack packages they were linked against, such as fftw@3.3.11 and openmpi@4.1.6, and link to the build and its log. When a build brought its own MPI, that build’s mpirun launches it.