The scalability of Predict Engine makes it capable of performing remote interactive and batch rendering on a GPU cluster, using fast MPI over InfiniBand communication to distribute and gather pixel load between GPUs and nodes.
The Predict Cluster package allows you to remotely connect to a Predict cluster infrastructure and to continue using the Unity plugin seamlessly while all the rendering is done remotely. All of your current project assets are automatically uploaded to the cluster and synchronized each time the rendering is reloaded, and interactive features are retained.
To use this feature, you need to have Predict already installed on your cluster infrastructure. Please contact us if you wish to deploy Predict on an existing cluster.
Predict Cluster is distributed as a Unity3D package. Using Predict Cluster in one of your projects consists in importing the *.unitypackage in the project.
You can import the package by dropping it in the “Project” tab or via the menu “Assets/Import Package/Custom Package…”.
If you installed Predict Engine before creating your project, the package should be available at the following path: C:\Program Files\United Visual Researchers\UVR Predict Engine 1.7\plugins\Unity.
Since Predict Engine is not running locally, an activated Predict license on your current machine is not required. If you want to release the license before switching to cluster mode, you can do so.
To launch and terminate a Predict Engine infrastructure on your organization's cluster, please follow the internal procedure of your company. You will be asked to choose a custom or predetermined number of GPUs, and give an IP address and port.
One the infrastructure is started on your company's side, to be able to connect to the cluster from the Unity client :
Go to Preferences/UVR PredictSuite/Engine Cluster,
Fill in the IP address and port (Username and Password are not needed unless specified in the internal procedure of your company),
Click on Connect to server to initiate the connection,
Click on Disconnect from server to end the connection and switch back to local rendering.
All assets are automatically synchronized when the render starts. If you want to manually synchronize them, click on the Show status button.
The Assets section of the Engine Cluster preferences allows you to manually synchronize your project, clear the distant cache as well as monitor all uploads.
You can also monitor uploads from within the PredictSuite/Engine/File synchronizer monitor and see the estimated progression percentage on the bottom right of the editor.
Some functionalities are not supported in cluster mode :
Layers: layers are not supported in the engine view.
Variants : variants are not supported, you will need to edit the scene and reload it manually.
Environment rotation : usually, when the scene contains an environment light (HDRI/Skybox), you can rotate it without reloading the scene. When in cluster mode, the scene must be reloaded manually for the rotation to be applied.
Optics : you cannot change the camera lens radius and focus distance interactively, the scene must be reloaded manually.
Resolution : you cannot change the resolution on the run once the simulation is started. To change the resolution you must stop the simulation, change the resolution and restart it.
Device selection : in the Preferences, you can choose on which device the simulation will be run. This has no impact when using the cluster since the simulation will not be run locally. The number of devices is chosen during the infrastructure launch stage.
Profiler : the Profiler only tracks local processes, it cannot give you information on a cluster process.