A framework for molecular dynamics simulations of ultracold plasmas. The majority of ucilib is implemented in python. Performance critical parts are implemented in OpenCl. The OpenCL routines can be executed efficiently on CPUs and GPUs.
To install ucilib install the prerequisites and then run (note that this usually requires root privileges)
python setup.py install
For development purposes it may be advantageous to use the alternative command
python setup.py develop
This way any changes to the uci
library take effect immediately (i.e.
without having to reinstall the package).
Please use the issue tracker on github for any comments, questions, and suggestions. We are also gladly accepting contributions and bug fixes via pull requests. Details can be found in the CONTRIBUTING.md file.
ucilib's primary dependencies are
-
Python
-
numpy -- Python's defacto standard array library.
-
PyOpenCL -- Python bindings for OpenCL, see PyOpenCL.
-
OpenCL -- The open standard for programming heterogeneous systems, see OpenCL. ucilib uses OpenCL 1.1 features and is forward compatible. It should work fine with OpenCL 1.2 and OpenCL 2.0 platforms. OpenCL platforms are available for systems with GPUs and without GPUs:
-
For NVIDIA GPUs OpenCL support is included with recent drivers. Code examples can be found at the NVIDIA OpenCL page.
-
For AMD GPUs the OpenCL platform is part of the AMD APP SDK. Additional development tools can be obtained with CodeXL
For systems without GPUs high quality CPU platforms are available from the following sources
-
-
Matplotlib (used for visualizations; not needed for running simulations)