Installation Guide - GPU
Last updated
Last updated
Copyright © 2021 by Symetry, Inc. 14 Pine Street, Ste 6 Morristown, NJ 07960 All Rights Reserved April 15th, 2021
You have a working installation of SymetryML with Jetty. For information about performing this task, refer to the .
Your SymetryML license allows you to use GPU or MultiGPU SymetryML projects.
Requirement
Description
CUDA Library
The SymetryML software is currently certified CUDA Version 10.x
Operating System
CentOS 7.x or Amazon Linux based on RedHat 7.x.
Supported GPUs
NVIDIA GPU with Compute Capability >= 3.5
SymetryML is a Java software that relies on certain native library (.so files) to work in tandem with NVIDIA GPU.
As mentioned in the once you decompress the symetry.tar.gz
archive into /opt/symetry
, you will install the necessary libraries to use NVIDIA gpus into the /opt/symetry/nativelib
folder. Your /opt/symetry/nativelib
folder should look like that:
Additionally To make SymetryML works with GPU perform the following:
Install CUDA, and then use the nvidia-smi
command to verify that CUDA is working. Example for Centos 7:
After a successful CUDA installation nvidia-smi
should output something like:
Be sure that jetty
user LD_LIBRARY_PATH
is set correctly.
If you encounter problem please do the following:
Use tool like ldd /opt/system/nativelib/lib-symgpu.so
to pinpoint dynamic any linker problems. Make sure to run the command as the jetty
user.
Make sure the jetty
user LD_LIBRARY_PATH
environment variable is correctly set.
Property
Description
rtlm.option.rtlm.gpu.matrix.minsize
Minimum matrix size to use GPU. Matrix operations like multiplication, inversion, etc are used when SymetryML builds models. Other operation like PCA and SVD also can leverage GPU. Recommended values : 512
rtlm.option.rtlm.gpu.update.minsize
Minimum size to use GPU when updating a SymetryML project. Recommended values:64 to 128
rtlm.mgpu.num.gpus
The maximum number of GPUs that can be used on a server in a MultiGPU project.
rtlm.mgpu.runon.one
Enabling that specifies that a MultiGPU project can run on a server with only 1 GPU. '1' enables and '0' disables. Default: '0'
Download CUDA 10 or 11 from
Please consults the for more information on memory requirement for various project sizes. Note that with SymetryML, project size is determined by the number of attributes not the number of rows.
As documented in the , the /opt/symetry/symetry-rest.txt
configuration file contains various properties that alter the SymetryML behavior. The following table lists the properties that are relevant to using SymetryML with NVIDIA GPUs.