Achieving Optimal HyperWorks Performance on Linux – Part 2 | Remote Execution
HyperWorks applications can be run remotely from a Linux server or through virtual machines, however, Altair encourages its users to run software through HyperWorks Unlimited. With HyperWorks Unlimited you can access HyperWorks from a remote Linux server through a physical or virtual appliance.
Nevertheless, due to the variety of software/configurations available for remote desktops, Altair cannot test and officially support all platforms.
In this article, I will discuss best practices and offer recommendations for avoiding execution errors and performance issues while running HyperWorks from a remote Linux server.
- Hardware Dimensioning
- VirtualGL-based Remote Access
- NICE DCV Remote Access
- Additional Recommendations for Low Performance
As a pre-requisite for this article please review Achieving Optimal HyperWorks Performance on Linux – Part 1 | Local Execution.
Hardware Dimensioning
HyperWorks applications require graphic resources. Significant memory usage may be required when dealing with large models (over a million elements), therefore it is important that you dedicate a single physical node to a restricted number of users. A common recommendation is to dedicate one physical node to 2 to 4 users.
Also, make sure that you have:
- A stable and performant connection between the server and the clients
- Updated graphic boards driver (based on OEM website) on both the server and the client computers. If you need to install a new driver, make sure to run a custom installation and select the option Perform a clean installation which will remove any obsolete setting files.
VirtualGL-based Remote Access
Several remote access software (TurboVNX, Xming,...) rely on VirtualGL. For such software, the following recommendations can be applied to applications using VirtualGL libraries.
- Make sure to review the checks in the article about Linux local HyperWorks execution, especially run the HyperWorks Compatibility script
- Install VirtualGL 2.6.5 or above (see VirtualGL 2.6.5 release note in Appendix section)
- Set up 3D hardware acceleration via VirtualGL settings
- In order to have nodes render properly using OpenCL make sure that you do one of the following:
- If there is proper GPU acceleration:
- Set the global environment variable VGL_FAKEOPENCL=1
- Run “vglrun” using the +ocl option
- If there is software-only rendering, set the global environment variable HW_USE_OPENCL=0
- If there is proper GPU acceleration:
- Some systems such as DCV do not support OpenCL properly. If OpenCL is not supported, define the environment variable HW_USE_OPENCL=0
NICE DCV Remote Access
Below are the main checks to be run:
- Make sure to review the checks in the article about Linux local HyperWorks execution, especially run the HyperWorks Compatibility script
- Check DCV post-installation checks: https://github.com/awsdocs/nice-dcv-admin-guide/blob/master/doc_source/setting-up-installing-linux-checks.md
- make sure hardware acceleration is correctly set up by running the following command:
- VirtualGL installaion is recommended on top of Nice DCV. As a first check, you need to make sure you have a sufficient amount of dcv-gl features.
- To open HyperMesh, run vglrun + HyperMesh execution script
Additional Recommendations for Low Performance
The features listed below are known for causing HyperWorks performance issues if your hardware settings don’t fulfill the minimal requirements. If the recommendations above do not work, please deactivate the options below via HyperWorks preferences:
Tip: You can use the search bar in the top, left of the Preferences dialog to quickly find preferences.
- Dynamic Center of Rotation
- Hover High-light
- Anti-aliasing
- Disable writing to the command file
Appendix
VirtualGL release note regarding version 2.6.5