Hardware recommendations for OCCT

Hello Open Cascade community!

What is a recommended hardware strategy to improve the performance of Open Cascade?
Does the performance mostly benefit from single core CPU power or rather the number of CPU cores. Can some of the computation load be outsourced to the GPU e.g. via the CUDA library?

I checked https://dev.opencascade.org/resources/download/system-requirements before and found no information on CPU or GPU requirements.

Best Regards

Zachar

Kirill Gavrilov's picture

As a C++ framework available in source code, Open CASCADE Technology could be practically used on a very wide range of hardware platforms. Performance requirements do not come from framework, but rather from application use cases and amounts of data to be processed.

Particular algorithms like BRepMesh might be run in multi-threaded mode and provide considerable performance boost with more CPU cores on large models. But not all algorithms have multi-threading mode implemented, and some algorithms do not benefit from more cores that much.

OCCT doesn't use CUDA nor OpenCL for geometric algorithms. The scope of algorithms and use cases that could potentially benefit from GPU within OCCT modeling kernel is pretty limited due to complexity of these algorithms when applied to GPU architectures - the latter are designed for performing relatively simple computations on large uniform data sets, which is not that common combo in CAD algorithms.

GPU acceleration is applied to graphics rendering via OpenGL library - and you may find OpenGL version in requirements necessary to unveil visualization features provided by OCCT viewer like Ray-Tracing engine. Performance-wise, GPU hardware requirements will depend on your specific use cases, complexity of models displayed on the screen and used visualization features.

Zachar Krumer's picture

Thank you very much for the quick and detailed answer.