Skip to main content

Visip - VIsual SImulation Programming

Rationale

Simulation workflows are usually composed from several dependent steps forming a directid acyclic graph (DAG). A single step of this DAG could be a simple task as copying of a file or extracting a few numbers from a file via. a Python script, ot it may be a complex task as several hours long parallel finite element calculation. Developing such a DAG is often painful for following reasons:

Slow Feedback

Slow error feedback is related to the complex tasks. Thier runtimes are huge and usage of an HPC system is necessary. Further latency is caused by waiting to the free resources as the task is processed by the job scheduling system (JSS), e.g. PBS). One solution is to test the task DAG with simplified complex tasks (e.g. using a coarse computational grid) idealy on the local workstation without dealing with JSS. However, this leads to other issues ..

Scaling and Portability Issues

Porting the workflow from the workstation to the HPC system is laborous due to complex software dependencies.

Essential features

  • simulation workflow DAG is described in a form of simple pure functional language based on Python
  • automatic type deduction and checking is performed to catch some errors before execution
  • task results are stored to a permanent cache allowing to skip repeated calculations for the same inputs
  • automatic parallelization (grouping of small tasks)
  • graphical language
  • conteiners

Pure Functional Language

  • visip docker image
  • typy: time map (time -> snapshot), bilance, VTK,
  • zobrazovani dat z vypoctu: hodnoty, pole, BREP, MSH, VTK

Important features (TODO)

Test cases

  • BGEM - GMSH - Flow123d
  • Model editor - Flow123d
  • Simple calibration (While + foreach) - fracture position - Flow123d
  • Flow123d mikro model - Flow123d makro model
  • Flow123d HM - Flow123d Transport

Python based syntax

Sources are stored in individual module files. There are two kinds of the file: Files containing actions implemented in Python using the @action_def decorator. Files containing workflows (functional definitions of actions) using the @worflow decorator.

The first kind can only be modified through in the source form not through the GUI. The second kind can be fully modified through the gUI allowing graphical composition of the actions of the first kind.

Further one can define classes (@Class) and enums (@Enum) data types. All names must be valid Python names and must not begin with underscore. All invalid names are ignored in the module and result in error when used in a workflow.

Metadata

Release files for visip 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for visip 0.1.0
File Size Uploaded
visip-0.1.0.tar.gz 132.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for visip 0.1.0
File Interpreter ABI Platform
visip-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 301.8 kB

Release files / visip-0.1.0.tar.gz

Download URL visip-0.1.0.tar.gz
Size 132.8 kB
Tags Source
SHA-256 checksum
How to use checksums
9f26e04697d8c4505882ce6c87370032610a846163d8d2959fe37222c5070d3e
BLAKE2b-256 checksum
How to use checksums
52193dd9f57796d5c557438b0e35aa7afe35d8b9a576c31c07332b05267aab4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.5

Release files / visip-0.1.0-py3-none-any.whl

Download URL visip-0.1.0-py3-none-any.whl
Size 169.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a77a1168bc4a0829df525f2690756ff067baccaeba0b17c0890edf4cde6dc756
BLAKE2b-256 checksum
How to use checksums
15e1f76cba216422c1910c3a14ec32363990acda2dbfb64d045e6d837c53ce12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.5

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page