version
bwa-mem3 version prints the release version, the compiler that built
the binary, the build’s compiled-in SIMD floor, the SIMD tier resolved
at runtime, and (when mimalloc is compiled in) the mimalloc version. It
is the canonical way to confirm which build is on PATH, what toolchain
produced it, what host class it requires, and what kernel path it will
dispatch to.
bwa-mem3 version always exits 0 — even on a host below the build’s
SIMD floor — so operators can introspect a binary on a host that cannot
actually run alignment. bwa-mem3 <subcommand> --help and -h share
the same property.
Synopsis
v<MAJOR.MINOR>-<N>-g<COMMIT>
Compiler: <TOOLCHAIN> <VERSION>
SIMD floor: <FLOOR-TIER> (<HOST-CLASS>); kernels: <KERNEL-LIST>
SIMD runtime: <RUNTIME-TIER> (<FORCE-TIER-STATE>)
mimalloc 3.3.0 (active)
Common usage
Confirm the installed version, SIMD floor, and resolved tier:
./bwa-mem3 version
A typical run on an AVX-512BW host with the default BASELINE_ARCH=avx2
build prints (every line below goes to stdout; only the host-below-floor
warning described further down goes to stderr):
v0.3.0-12-gabcdef1
Compiler: clang 19.1.7
SIMD floor: avx2 (x86-64-v3, Haswell 2013+); kernels: sse41 sse42 avx avx2 avx512bw
SIMD runtime: avx512bw (BWAMEM3_FORCE_TIER unset)
mimalloc 3.3.0 (active)
- version line — bwa-mem3’s release string, derived from
git describeat build time and stored asPACKAGE_VERSIONin the binary. When building from a tarball without git history, the fallback value is set viaFG_LABS_VERSION_FALLBACKat compile time. Compiler:— the toolchain that compiled the binary, reported from the compiler’s own preprocessor macros:clang,gcc,icpx(Intel oneAPI), oricpc(Intel Classic). bwa-mem3 runs ~5–10% faster on x86 built with clang than with g++, so this line is how you confirm a production binary came from the recommended toolchain — see Best Practices → Build.SIMD floor:— the compile-time minimum the binary requires. Set byBASELINE_ARCH(defaultavx2) and listed alongside the per-tier kernel set the binary carries.SIMD runtime:— the tier resolved at startup by__builtin_cpu_supports(orBWAMEM3_FORCE_TIERif set in the environment). On arm64 this is alwaysneon.- mimalloc line — present only when
USE_MIMALLOC=1(the default). The parenthetical reports whether mimalloc is actually interceptingmalloc/free—(active)when it is,(linked but NOT overriding malloc)when the binary merely links a libmimalloc that exports themi_*API without installing the allocator override.
On a host below the SIMD floor, version also writes a
[W::bwa-mem3] warning on stderr identifying the gap (and the
alignment subcommands will refuse to run with exit code 2 — see
Host requirements for the
exit-2 message format and rebuild instructions).
Notes / Gotchas
Tip —
version | grepis safe in CIThe whole banner — the version,
Compiler:,SIMD floor:,SIMD runtime:, and mimalloc lines — goes to stdout; only the host-below-floor[W::bwa-mem3]warning goes to stderr. Sobwa-mem3 version | grep '^SIMD'(orgrep '^Compiler:'to assert the toolchain,grep '^mimalloc'to assert the allocator) works in CI scripts even on hosts that cannot run alignment. Use2>/dev/nullto suppress the warning line if you want stdout only.Tip — No mimalloc line means USE_MIMALLOC=0
If no mimalloc line appears, the binary was built without the bundled allocator (
make USE_MIMALLOC=0). See User Guide — Memory allocator (mimalloc) for when this is appropriate.
See also: User Guide — Memory allocator (mimalloc) · Developer Guide — Release process · Getting Started — Installation · What’s Different — Build & infrastructure