Skip to main content

mkite: distributed computing platform for high-throughput materials simulations

Project description


What is mkite?

mkite is a suite of tools for running high-throughput materials simulations in distributed computing platforms. The mkite suite decouples the production database from client workers, facilitating scaling of simulations across heterogeneous computing environments. The infrastructure enables exploration of combinatorial materials spaces using workflows, recipes, data visualizations, and more.

Some advantages of mkite:

  • It stores and organizes complex materials workflows on databases. For example, mkite allows creating workflows with more than one parent input branch (say, interfaces between solids and molecules).
  • The server is agnostic to the computing environments where the tasks are performed, and the clients are unaware of the production database. This facilitates distributing the tasks across heterogeneous computing systems.
  • It provides textual descriptions for workflows, and enables adapting them on-the-fly. This helps as a "lab notebook" for computational materials scientists.
  • It is adaptable to many software packages and inputs. The recipe system also interacts well with other libraries, such as ASE, pymatgen, cclib, and more.

Documentation

General tutorial for mkite and its plugins are available in the main documentation. Complete API documentation is pending.

Installation

To install mkite_db, first install mkite_core and mkite_engines. Then, install this repository with pip:

pip install mkite_core mkite_engines
pip install mkite_db

Alternatively, for a development version, clone this repo and install it in editable form:

pip install -U git+https://github.com/mkite-group/mkite_db

Contributions

Contributions to the entire mkite suite are welcomed. You can send a pull request or open an issue for this plugin or either of the packages in mkite. When doing so, please adhere to the Code of Conduct in the mkite suite.

The mkite package was created by Daniel Schwalbe-Koda dskoda@ucla.edu.

Citing mkite

If you use mkite in a publication, please cite the following paper:

@article{mkite2023,
    title = {mkite: A distributed computing platform for high-throughput materials simulations},
    author = {Schwalbe-Koda, Daniel},
    year = {2023},
    journal = {arXiv:2301.08841},
    doi = {10.48550/arXiv.2301.08841},
    url = {https://doi.org/10.48550/arXiv.2301.08841},
    arxiv={2301.08841},
}

License

The mkite suite is distributed under the following license: Apache 2.0 WITH LLVM exception.

All new contributions must be made under this license.

SPDX: Apache-2.0, LLVM-exception

LLNL-CODE-848161

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

mkite_db-24.10.23.tar.gz (100.4 kB view details)

Uploaded Source

Built Distribution

mkite_db-24.10.23-py3-none-any.whl (86.8 kB view details)

Uploaded Python 3

File details

Details for the file mkite_db-24.10.23.tar.gz.

File metadata

  • Download URL: mkite_db-24.10.23.tar.gz
  • Upload date:
  • Size: 100.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for mkite_db-24.10.23.tar.gz
Algorithm Hash digest
SHA256 7c451b09f001a3a6ca288fcbcf5c1ef5049d7bf1d98e848e4d0eb279399b440b
MD5 b45e51ff7e0aa3a4be255eeb4878dbed
BLAKE2b-256 8f4c091725b86d9fc67b8f15183227859d61598eff7a159adc10326797da4c66

See more details on using hashes here.

File details

Details for the file mkite_db-24.10.23-py3-none-any.whl.

File metadata

  • Download URL: mkite_db-24.10.23-py3-none-any.whl
  • Upload date:
  • Size: 86.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for mkite_db-24.10.23-py3-none-any.whl
Algorithm Hash digest
SHA256 7a0229878285d93dcd46b93347ccaa75c0054424e12bfdb8fc82b58f389f4aa9
MD5 8e155e1d797ae0c5cc01419c2a7b935b
BLAKE2b-256 d48b63383ceb8b9ed4419543fb77c00251cba0536acbce9d1e28d824b6d13fdf

See more details on using hashes here.

Supported by

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