Skip to content

jan-provaznik/nomadlad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NOMADLAD provides Python interface to the blackbox optimization software 
NOMAD (version 4) available from https://github.com/bbopt/nomad repository.

Installation

  Starting with the release 1.0.0, the latest version of the package is
  available from PyPi repository.

    pip install nomadlad

Acknowledgements

  This package is an alternative to the PyNomadBBO package interfacing the
  blackbox optimization software NOMAD.


Building (Prerequisites)

  - Python 3 (tested with version 3.12.4)
  - Compiled NOMAD with static libraries (tested with version 4.4.0) 
  - GCC release that supports at least C++17 (tested with version 14.1.1)
  - Exported the NOMAD_PATH environment variable

Building (A minimal build of NOMAD)

  This is a considerably condensed version of the official installation guide
  adapted to the purpose of manually building this module.

  (Step 1) Download and extract the v4.4.0 release of NOMAD somewhere.

    wget https://github.com/bbopt/nomad/archive/refs/tags/v.4.4.0.tar.gz
    tar -zxf v.4.4.0.tar.gz

  (Step 2) Enter the nomad-v.4.4.0 directory

    cd nomad-v.4.4.0

  (Step 3) Export path to the current directory (needed for the final step)

    export NOMAD_PATH=$(pwd)

  (Step 3) Prepare and build the core NOMAD library.

    cmake -S . -B build \
      -DBUILD_INTERFACE_PYTHON=ON \
      -DBUILD_EXAMPLES=OFF \
      -DTEST_OPENMP=OFF

    cmake --build build --config Release --clean-first --target nomadStatic --parallel

    Please note that you can set --parallel to the number of cores available. 

  (Step 5) Compile nomadlad module.
    
    Please note that NOMAD_PATH must be exported for this to work. 

    (Option A) Install directly from a tagged commit

      pip install --user --upgrade \
        git+https://github.com/jan-provaznik/nomadlad.git@v1.0.0

    (Option B) Build from a locally cloned repository. Enter the repository first.

      python -m pip wheel -w dist -- .

  (Step 6) Profit.

Documentation

  The documentation is left as an exercise to the reader. See help(nomadlad).

  The package exports the nomadlad.minimize procedure. 
  The examples provided with the package are intended to serve as a tutorial.