{"id":13574669,"url":"https://github.com/vistle/vistle","last_synced_at":"2025-04-04T18:31:54.596Z","repository":{"id":11544422,"uuid":"14029645","full_name":"vistle/vistle","owner":"vistle","description":"Software Environment for High-Performance Simulation and Parallel Visualization","archived":false,"fork":false,"pushed_at":"2023-12-15T15:09:26.000Z","size":17941,"stargazers_count":39,"open_issues_count":5,"forks_count":13,"subscribers_count":12,"default_branch":"master","last_synced_at":"2023-12-16T11:46:18.881Z","etag":null,"topics":["hlrs","hpc","openfoam","parallel-computing","scientific-visualization","virtual-reality","vistle","visualization"],"latest_commit_sha":null,"homepage":"https://vistle.io","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vistle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2013-10-31T22:12:33.000Z","updated_at":"2023-12-20T16:03:18.103Z","dependencies_parsed_at":"2023-09-27T16:29:42.854Z","dependency_job_id":"6c45d7e7-ad06-49a1-9573-e2a8ab2d8e62","html_url":"https://github.com/vistle/vistle","commit_stats":null,"previous_names":[],"tags_count":6,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vistle%2Fvistle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vistle%2Fvistle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vistle%2Fvistle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vistle%2Fvistle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vistle","download_url":"https://codeload.github.com/vistle/vistle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223153487,"owners_count":17096538,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hlrs","hpc","openfoam","parallel-computing","scientific-visualization","virtual-reality","vistle","visualization"],"created_at":"2024-08-01T15:00:53.585Z","updated_at":"2025-04-04T18:31:54.589Z","avatar_url":"https://github.com/vistle.png","language":"C++","funding_links":[],"categories":["Table of Contents"],"sub_categories":["Data Visualization and Rendering"],"readme":"[![Build status](https://github.com/vistle/vistle/workflows/CMake/badge.svg)](https://github.com/vistle/vistle/actions?query=workflow%3ACMake)\n\n\nVistle - A Modular Data-Parallel Visualization System\n=====================================================\n\n\u003e **vistle**:\n\u003e\tvery smooth and elegant, nicely put together ([Urban Dictionary](https://www.urbandictionary.com/define.php?term=vistle))\n\n\nLicense\n-------\n\nVistle source code is licensed under the LGPL v2.1. See `LICENSE.txt` for details. This does not apply to the subdirectory `lib/3rdparty`.\n\n\nInstallation\n------------\n\n### Installing with [Spack](https://spack.io)\n\n  Add the [HLRS Vis Spack repository](https://github.com/hlrs-vis/spack-hlrs-vis) to your installation of Spack:\n\n      git clone https://github.com/hlrs-vis/spack-hlrs-vis\n      spack repo add spack-hlrs-vis\n\n  Then you can install Vistle with this command:\n\n      spack install vistle\n\n\n### macOS with [Homebrew](https://brew.sh)\n\n  Install most of Vistle's dependencies by invoking `brew bundle` within Vistle's root source directory. You can also install Vistle with\n\n      brew install hlrs-vis/tap/vistle\n\n\n### Installing From Source\n\n#### Build Requirements\n\n- **C++ compiler**:\n  support for C++14 (ISO/IEC 14882:2014) is required,\n  known good compilers:\n    - GCC (8-14)\n    - Clang (Xcode 14, 15)\n    - Microsoft Visual Studio 2022\n\n- **CMake**:\n  at least 3.10, on Windows 3.15\n\n- **MPI**:\n  Microsoft MPI, Open MPI, MPICH and MVAPICH2 has been used successfully.\n\n- **Boost**:\n  At least 1.66.00 is required.\n     Note:\n     - in order to switch MPI implementations without requiring a recompilation of Boost, we compile Boost.MPI together with Vistle\n\n- Botan:\n  [Crypto and TLS for Modern C++](https://botan.randombit.net/) is used for verifying HMACs during connection establishment,\n  version 2 or 3 should work\n\n- **Python**:\n  for interpreting Vistle workflow scripts (.vsl), Python 3 should work.\n\n- **COVISE/OpenCOVER**:\n  OpenCOVER or a version of COVISE including OpenCOVER compiled by you is necessary, get it from\n  [GitHub](https://github.com/hlrs-vis/covise), needed for the COVER module and COVER plug-ins\n  You can shorten the build process and cut down on dependencies by [building only OpenCOVER](https://github.com/hlrs-vis/covise#building-only-opencover).\n  In addition you should set `COVISEDESTDIR` to a location where compiled COVER plug-ins should go.\n      Hints:\n      - The COVISE repository contains further information on how to build dependencies on Linux ([README-Building-deps-linux.txt](https://raw.githubusercontent.com/hlrs-vis/covise/master/README-Building-deps-linux.txt)) and Windows ([README-Building-deps.txt](https://raw.githubusercontent.com/hlrs-vis/covise/master/README-Building-deps.txt)).\n\n- **OpenSceneGraph**:\n  the version of OpenSceneGraph that was used for compiling OpenCOVER\n\n- **Qt**:\n  The Qt 6 libraries `Qt6Core`, `Qt6Widgets` and `Qt6Gui` are required by the graphical user interface,\n  alternatively also Qt 5 can be used.\n\nYou can set the environment variable `EXTERNLIBS` to a directory where Vistle should search for 3rd party libraries. It will search in e.g. `$EXTERNLIBS/boost`, if CMake is looking for `Boost`.\n\n\n#### Getting Vistle\n\nGetting Vistle is as easy as\n\n      git clone --recursive https://github.com/vistle/vistle.git\n\nIf you need to update an existing working copy, then change to its directory and issue the following commands:\n\n      git submodule sync --recursive\n      git submodule update --init --recursive\n\n#### Building Vistle\n\nCreate a subdirectory for building, change to it, and invoke CMake:\n\n      cmake ..\n\nThen build with your build tool, e.g.:\n\n      make -j20\n\n\nInvoking Vistle\n---------------\n\n### Environment Set-Up\n\nVistle modules are run on clusters via MPI. You have to configure how they have to be spawned by providing a script named `spawn_vistle.sh` (or `spawn_vistle.bat` on Windows) somewhere in your `PATH`. It could be as simple as\n\n      #! /usr/bin/env bash\n      mpirun \"$@\"\n\nBut it also might require invoking your batch system. An example is provided in `vistle/bin`.\n\nFor COVER to find its plug-ins, you should add the directory from `COVISEDESTDIR` to `COVISE_PATH`.\n\n### Command Line Switches\n\nSynopsis:\n\n      vistle [--batch|--gui|--tui] [scriptfile]\n\nOptions:\n\n* `-b`|`--batch`:\n  do not start a user interface\n\n* `-g`|`--gui` (default):\n  start a graphical user interface on rank 0\n\n* `-t`|`--tui`:\n  start a command line user interface on rank 0\n\nYou can connect a user interface to a running Vistle session later on, e.g.:\n\n      vistle_gui localhost 31093\n\n\nSource Code Organization\n------------------------\n\n- `cmake`:\n  CMake modules\n\n- `contrib/scripts`:\n  support scripts for building and running Vistle\n\n- `lib/3rdparty`:\n  3rd party source code\n\n- `lib/vistle`:\n  Vistle libraries source code\n\n    - `lib/vistle/util`: support code\n    - `lib/vistle/core`: Vistle core data structures\n    - `lib/vistle/userinterface`: common library for user interfaces\n    - `lib/vistle/net`: library for Vistle network communication\n    - `lib/vistle/control`: Python code for controlling a Vistle session\n    - `lib/vistle/module`: base class and support code for visualization algorithm modules\n    - `lib/vistle/renderer`: base class and support code for render modules\n    - `lib/vistle/rhr`: library for remote hybrid rendering servers and clients\n\n- `app`:\n  Vistle applications\n\n    - `app/hub`: Vistle session controller\n    - `app/gui`: graphical user interface\n\n- `module`:\n  visualization algorithm modules and base library\n\n    - `module/general`: modules useful to a wider audience\n    - `module/develop`: various debugging aids\n    - `module/render`: renderer modules transforming geometry into pixels\n        - `module/render/DisCOVERay`: a parallel remote hybrid rendering server based on [Embree](https://www.embree.org) (CPU ray-casting)\n        - `module/render/OsgRenderer`: a parallel remote hybrid rendering server based on OpenSceneGraph (OpenGL)\n        - `module/render/COVER`: wrap OpenCOVER as a render module\n            - `module/render/COVER/plugin`: plug-ins for OpenCOVER, e.g. for connecting to Vistle\n                - `module/render/COVER/plugin/RhrClient`: OpenCOVER remote hybrid rendering client plugin\n\nDocumentation\n-------------\n\nSome documentation on Vistle is posted to [vistle.io](https://vistle.io).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvistle%2Fvistle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvistle%2Fvistle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvistle%2Fvistle/lists"}