Scalable Agent-based GPU Enabled Simulator
- Python 3.11+
- NVIDIA GPU with CUDA drivers or AMD GPU with ROCm 5.7.1+
The most straightforward way is to use conda to install SAGESim and all dependencies:
Add to your current env:
conda env update --name myenv --file sagesim_all_deps.yml --prune
or, create a new env:
conda env create --name sagesimenv --file sagesim_all_deps.yml
However, your system might require specific steps to installing mpi4py
and/or cupy
depending on your hardware.
In that case use your systems recommended instructions to install mpi4py
and cupy
and execute:
pip install sagesim
git clone https://code.ornl.gov/sagesim/sagesim
cd /path/to/clone_repo/examples/sir
mpiexec -n 4 python run.py
- nan checked by inequality to self. Unfortunate limitation of cupyx.
- Dicts and objects are unsupported.
- *args and **kwargs are unsupported.
- nested functions are unsupported.
- Be sure to use
cupy
data types and array routines in favor ofnumpy
: [https://docs.cupy.dev/en/stable/reference/routines.html] for
loops must use range iterator only. No 'for each' style loops.return
does not seem to work well eitherbreak
andcontinue
are unsupported!- Cannot reassign variables within
if
orfor
statements. Must be assigned at top level of function or new variable declared under subscope. -1
indexing does not necessarily work as expected, as it will access the last element of the memory block of the array instead of the logical array. Uselen(my_array) - 1
instead