Skip to content

Configuration ​

MENOS has no configuration file and reads no environment variables. Behaviour is controlled by per-call options and by build-time CMake settings.

Per-call options ​

Qiskit ​

OptionWhereDefault
shotsMENOSBackend(...), run(...), set_options(...)1024
seed_simulatorsameNone (fresh random)
want_statevectorsameFalse
default_precisionMENOSEstimator(...)0.0 (recorded only)

See Qiskit Backend and Estimator.

Native ​

Field of RunOptionsDefault
shots0
want_statevectorFalse
seed0
memory_budget_bytesNone (50% of physical memory)
expectationNone
time_budget_secondsNone (unmonitored)

See Python API.

Build-time settings ​

CMake settingDefaultPurpose
MENOS_BUILD_PYTHON_BINDINGSOFF (the Python package turns it ON)Build the menos._core extension
MENOS_ENABLE_CUDAOFFBuild the CUDA dense backend
MENOS_BUILD_BENCHMARKSOFFBuild the Google Benchmark programs
CMAKE_CUDA_COMPILERunsetPath to nvcc. Set it explicitly when more than one toolkit is installed
CMAKE_CUDA_ARCHITECTUREScompiler defaultSet it explicitly to your GPU's compute capability, for example 86
CUDAToolkit_ROOTunsetRoot of the toolkit to link against

CMake presets: dev, release, cuda-dev, cuda-release, cuda12-dev, cuda12-release. The cuda-* presets pin /usr/local/cuda, the cuda12-* presets pin Ubuntu's CUDA 12 toolkit (/usr/bin/nvcc) with GCC 13, and all of them pin compute capability 8.6. These values are which are specific to the development machine; override them on the command line for another machine. See CUDA Installation.

Passing settings to a Python install ​

bash
CMAKE_ARGS="-DMENOS_ENABLE_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=86" \
  uv pip install --python .venv/bin/python ".[qiskit]"

Budgets ​

The defaults and semantics of the memory and time budgets are in Memory Constraints and Time Budgets.

Calibration ​

Calibration runs automatically on first use and cannot be configured. See Cost Model.

Released under the Apache-2.0 license. GitHub · PyPI