Requirements and Quickstart

Hardware and Platform

Streamcenter+ consists of a native CUDA FTLE solver together with a native Qt/VTK desktop GUI.

The minimum practical requirements are listed as follows:

  • At least 4 GB of system memory and about 10 GB of free disk space.

  • A 64-bit Windows or Linux environment. The shipped install scripts currently target Windows and Debian/Ubuntu-style Linux systems with apt.

  • An NVIDIA GPU together with a locally installed CUDA Toolkit for the solver.

The solver configures CMAKE_CUDA_ARCHITECTURES=native by default, so the build machine is expected to have a visible local NVIDIA CUDA environment.

GPU memory capacity is usually the main bottleneck for large FTLE jobs. A practical rule of thumb is to keep \(N_x \times N_y \times N_z \times N_t\) below roughly 200,000,000 Lagrangian particles per GiB of VRAM for the default double-sided still workflow, and lower than that for higher-order settings.

Environment

The repository provides platform-specific installation scripts that prepare the CMake/CUDA/Qt/VTK toolchain directly.

On Windows, install.cmd and install.ps1 provision the following dependencies:

  • Git

  • CMake

  • Ninja

  • Visual Studio Build Tools 2022

  • NVIDIA CUDA Toolkit

  • FFmpeg for MP4 export

  • a local vcpkg tree that installs Qt6 and VTK

The default Windows dependency cache uses the x64-windows-release triplet, which avoids building both Debug and Release variants of Qt and VTK during the first install. If Debug libraries are also needed, rerun the installer with -VcpkgTriplet x64-windows.

On Debian/Ubuntu-style Linux systems, install.sh installs the following packages:

  • build-essential

  • cmake

  • ninja-build

  • git

  • pkg-config

  • qt6-base-dev

  • qt6-base-dev-tools

  • qt6-tools-dev

  • libvtk9-dev

  • libvtk9-qt-dev

  • ffmpeg by default

  • nvidia-cuda-toolkit by default

When nvcc is found on Linux, the installer also records STREAMCENTERPLUS_CUDA_ROOT under ~/.config/streamcenterplus/env.sh for later builds.

Environment Overrides

If your toolchain is installed outside the default locations, the build scripts understand the following environment variables:

  • STREAMCENTERPLUS_VCPKG_ROOT

  • STREAMCENTERPLUS_VCPKG_TRIPLET

  • STREAMCENTERPLUS_QT_ROOT

  • STREAMCENTERPLUS_VTK_ROOT

  • STREAMCENTERPLUS_CUDA_ROOT

Add-on Tools

  • ParaView ParaView remains a convenient external viewer for inspecting .vts and .pvd outputs generated by the native solver. It is optional, because the native GUI already provides an embedded VTK viewer, but it is still useful for post-processing and larger inspection tasks.

  • FFmpeg ffmpeg is required if you want to export MP4 animations from the GUI. It is optional for plain solving, parameter editing, and static visualization.

  • PowerShell on Linux pwsh is optional on Linux. It is only needed if you want to use the same run.ps1 wrappers shipped for the Windows workflow. Otherwise the built GUI or solver binaries can be launched directly from their build folders.

Quickstart

The steps below follow the current repository layout. They use the top-level install and build entry points and then launch the GUI or solver through the maintained wrapper scripts.

Windows

Install the required toolchain and cache the GUI dependencies:

.\install.cmd

If you need advanced flags, call the PowerShell entry directly instead:

.\install.ps1

If Debug variants of Qt and VTK are needed as well, use:

.\install.ps1 -VcpkgTriplet x64-windows

Build both the native CUDA solver and the native GUI:

.\build.ps1 -NonInteractive

Run the GUI:

.\GUI\V2603\run.ps1

Optionally run the bundled solver smoke test directly:

.\CUDAsolvers\V2603\run.ps1 --par .\CUDAsolvers\V2603\tools\regression_small.par

Linux (Debian/Ubuntu)

Install the build dependencies:

bash ./install.sh

Build both the solver and the GUI:

bash ./build.sh --all

Run the GUI. If PowerShell is available, the wrapper is:

pwsh ./GUI/V2603/run.ps1

Otherwise, launch the generated GUI binary directly from GUI/V2603/build/.

Optionally run the bundled solver smoke test. With PowerShell:

pwsh ./CUDAsolvers/V2603/run.ps1 --par ./CUDAsolvers/V2603/tools/regression_small.par

Without PowerShell, launch the built solver binary directly from CUDAsolvers/V2603/out/build/.

Notes for Real Cases

The GUI launches the native CUDA solver.

The parameter format remains .par-based. When preparing your own cases, update entries such as vtk_folder and output_dir so that they point to locations that actually exist on your machine. The native parser reads those paths literally.