Cortix is a Python library for network dynamics modeling and HPC simulation.
Project description
Cortix
A Python library for network dynamics modeling and HPC simulation.
What is Cortix?
- Cortix is a massively parallel Python library for system-level module coupling, execution, and analysis of dynamical system models that exchange time-dependent data.
- Cortix takes as input a collection of computational modules and provides an environment for the coupling of these modules into a single simulation.
- Cortix supports:
- Module decoupling
- Communication between modules
- Data visualization
- Cortix runs on top of MPI and scales across many cores.
Installation: start by installing MPI
Installing via PyPI
pip install --user cortix
if updating to a new version, you may need to specify the version
pip install --user cortix=="<version>"
NB: this will not install the GraphViz executables but only the python wrapper. Install the GraphViz library on your system by yourself.
Installing via Conda
In a Anaconda
environment (MacOS terminal conda, or Windows Anaconda powershell) do:
pip install cortix
conda install graphviz
if updating to a new version, you may need to specify the version
pip install cortix=="<version>"
Installing from source
- Clone this repository to install the latest version of Cortix
git clone https://github.com/dpploy/cortix.git
- Install the required dependencies listed in
requirements.txt
pip install --user -r cortix/requirements.txt
- Add
cortix
's parent path to your$PYTHONPATH
variable
export PYTHONPATH=$PYTHONPATH:$(pwd)
Note: you may want to add this line to your .bashrc
in order for it to be persistent
Verify your Cortix install by running the Droplet example
mpiexec -n xx examples/run_droplet_swirl.py
where xx is the number of MPI processes which must match the number of modules plus 1. If there are 10 droplets and 1 vortex, use $xx = 12$.
Testing
Testing is facilitated by PyTest. Tests can be run locally from within the tests
directory
cd tests && py.test
Using Cortix
Please refer to the documentation for more on getting started!
Team
- Valmor F. de Almeida: valmor_dealmeida@uml.edu
- Taha M. Azzaoui: tazzaoui@cs.uml.edu
- Seamus D. Gallagher: seamus_gallagher@student.uml.edu
- Austin Rotker: austin_rotker@student.uml.edu
- Gilberto E. Alas: gilberto_alas@student.uml.edu
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
Location
Cortix Group
110 Canal St., 3rd Floor
Lowell, MA 01852
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cortix-1.1.52.tar.gz
.
File metadata
- Download URL: cortix-1.1.52.tar.gz
- Upload date:
- Size: 522.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80b9d12439a17246a7726d12c41efb07445d37283e2ef42a1691251b148b226b |
|
MD5 | 7ed7fb32a2f7eeb6ca4005f52bde9052 |
|
BLAKE2b-256 | 40fdd6b0896ec436134ee3f2fa79544278c19e53fac11504031ea0bf366b4066 |
File details
Details for the file cortix-1.1.52-py3-none-any.whl
.
File metadata
- Download URL: cortix-1.1.52-py3-none-any.whl
- Upload date:
- Size: 575.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26035bb1595bb6dbc9230f22703858167c080253fb53b20007bac913b5dfe097 |
|
MD5 | 041874d2ab407d624dc0e6eaca83a115 |
|
BLAKE2b-256 | ac51008c69e41e0782b7609220b6c9ec5655b5540459c19c8799a325d9a32058 |