General Configuration
Sizing CPU and Memory recommendations
- One instance of Pixyz Scenario Processor is multi-threaded (not multi-processor)
- 1 CPU with 4 to 32 CPU cores is recommended
Pixyz Scenario Processor uses a maximum of 32 CPU cores per instance - Memory usage depends on the volume of data that the Pixyz Scenario Processor will deal with during the task
It is not easily predictable but for simplification matter, the number of polygons in your scene will be the major indicator of memory consumption. We recommend sizing a comfortable amount of RAM in order to prevent Pixyz Scenario Processor from exiting during the process due to lack of memory.
As a reference, 1M polygons takes about 0.5Gb of RAM and a point cloud of 1M points takes about 50Mb of RAM
About GPU
A few Pixyz algorithms are accelerated on GPU (ray-casting-based algorithms). If there is no GPU on the machine, your optimization scenario has to deactivate GPU-accelerated capability in the Pixyz engine. This will activate the CPU fallback for those ray-casting algorithms which can be 100x slower than with a GPU.
For information, the Pixyz API command to deactivate GPU is: core.setModuleProperty("Algo", "DisableGPUAlgorithms", "True")
Activating GPU acceleration in Docker image
The following link contains instructions to setup nVidia drivers and nVidia-Docker modules for Docker images: https://github.com/NVIDIA/nvidia-docker/wiki/Installation-(Native-GPU-Support)#prerequisites
Once the machine is setup, you will simply need to add the "--gpus all" option in your docker run command (docker run --gpus all ...)
List of GPU-accelerated functions in Pixyz Scenario Processor
- algo.createVisibilityInformationFromViewPoints
- algo.getHiddenOccurrences
- algo.hiddenRemoval - delete parts, patches or polygons not viewed from a sphere around the scene
- algo.hiddenRemovalCamera
- algo.hiddenRemovalViewPoints
- algo.hiddenSelection
- algo.smartHiddenCreateVisibilityInformation
- algo.smartHiddenRemoval - delete parts, patches or polygons not viewed from a set of cameras automatically generated
- algo.smartHiddenSelection
- algo.smartOrient - reorient mesh faces from camera view points set around the 3D model
- All render functions