Skip to main content

Bruteforce (a.k.a. exhaustive search) Plugin for Omnisolver

Project description

Logo Bruteforce (a.k.a. exhaustive search) Plugin for Omnisolver

Installation

Currently, the omnisolver-bruteforce package requires working CUDA installation.

To install the plugin first set the CUDAHOME environmental library to your CUDA instalaltion location, e.g.:

# Rmember, your actual location  may vary!
export CUDAHOME=/usr/local/cuda

and then run:

pip install omnisolver-bruteforce

During build, this package will:

  • Prefer CUDAHOME/bin/nvcc (if CUDAHOME is set), so multi-CUDA environments are deterministic.
  • Add NVCC flag -allow-unsupported-compiler via NVCC_PREPEND_FLAGS to reduce host compiler compatibility build failures.

Warning If you don't set the CUDAHOME directory, an attempt will be made to deduce it based on the location of your nvcc compiler. However, this process might not work in all the cases and should not be relied on.

Troubleshooting (multiple CUDA toolchains)

If your system has multiple CUDA toolchains (for example HPC SDK and system CUDA), set:

export CUDAHOME=/usr/local/cuda

before installing so build uses CUDAHOME/bin/nvcc.

Command line usage

usage: omnisolver bruteforce-gpu [-h] [--output OUTPUT] [--vartype {SPIN,BINARY}] [--num_states NUM_STATES] [--suffix_size SUFFIX_SIZE] [--grid_size GRID_SIZE]
                                 [--block_size BLOCK_SIZE] [--dtype {float,double}]
                                 input

Bruteforce (a.k.a exhaustive search) sampler using CUA-enabled GPU

positional arguments:
  input                 Path of the input BQM file in COO format. If not specified, stdin is used.

optional arguments:
  -h, --help            show this help message and exit
  --output OUTPUT       Path of the output file. If not specified, stdout is used.
  --vartype {SPIN,BINARY}
                        Variable type
  --num_states NUM_STATES

Citing

If you used the Omnisolver package or one of its plugins, please cite:

@misc{https://doi.org/10.48550/arxiv.2112.11131,
  doi = {10.48550/ARXIV.2112.11131},
  
  url = {https://arxiv.org/abs/2112.11131},
  
  author = {Jałowiecki, Konrad and Pawela, Łukasz},
  
  keywords = {Software Engineering (cs.SE), Quantum Physics (quant-ph), FOS: Computer and information sciences, FOS: Computer and information sciences, FOS: Physical sciences, FOS: Physical sciences},
  
  title = {Omnisolver: an extensible interface to Ising spin glass solvers},
  
  publisher = {arXiv},
  
  year = {2021},
  
  copyright = {arXiv.org perpetual, non-exclusive license}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omnisolver_bruteforce-0.0.5.tar.gz (337.3 kB view details)

Uploaded Source

File details

Details for the file omnisolver_bruteforce-0.0.5.tar.gz.

File metadata

  • Download URL: omnisolver_bruteforce-0.0.5.tar.gz
  • Upload date:
  • Size: 337.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.15.0a7

File hashes

Hashes for omnisolver_bruteforce-0.0.5.tar.gz
Algorithm Hash digest
SHA256 558c70d1d8ecc2e18e90c097b5452a2691999280fe2d2e8cd0801d442cc5b111
MD5 b2667b7228a24ce625cf00234173ac7c
BLAKE2b-256 88533324c4105121bd01f558ef6803421bfe3a0d196aebd500cb34d33ff39e32

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page