Skip to main content

Scalable Agent-based GPU Enabled Simulator.

Project description

# SAGESim

Requirements

  • Python 3.11+
  • NVIDIA GPU with CUDA drivers or AMD GPU with ROCm 5.7.1+

Installation

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

Run Example

  • git clone https://code.ornl.gov/sagesim/sagesim
  • cd /path/to/clone_repo/examples/sir
  • mpirun -n 4 python run.py --num_agents 10000 --percent_init_connections 0.1 --num_nodes 1

There are some unfortunate quirks to using CuPyx jit.rawkernel:

  • 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 of numpy: [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 either
  • break and continue are unsupported!
  • Cannot reassign variables within if or for 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. Use len(my_array) - 1 instead

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

sagesim-0.3.0.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sagesim-0.3.0-py3-none-any.whl (26.8 kB view details)

Uploaded Python 3

File details

Details for the file sagesim-0.3.0.tar.gz.

File metadata

  • Download URL: sagesim-0.3.0.tar.gz
  • Upload date:
  • Size: 21.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for sagesim-0.3.0.tar.gz
Algorithm Hash digest
SHA256 48b5006d8515422c62dd5b0f0864b3fa694312a4f1cb192d065e5b1a6b6ff4f8
MD5 8794065385ea0e050e73a06315952386
BLAKE2b-256 7f35cabbcf546b1a7616fe5e578c4de3172ee9e8503013d4b6a3e83a16fc8b18

See more details on using hashes here.

File details

Details for the file sagesim-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: sagesim-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 26.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for sagesim-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bdf2e72a98d4a64f05485bcd1425e7406bfe6f60f671f7536c4c5181c3de37bd
MD5 b62c1e83b518665b74d62ef5a3ec7fb6
BLAKE2b-256 40fdd8fcda79fc87bfd42d9ae0e566a004e99d2ab91e206ab8525b08f77fc435

See more details on using hashes here.

Supported by

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