Installation

GPUBox Software consists of three main components: the OServer (Operational Server), GPUServer (provides GPU devices to the GPUBox infrastructure), and the Client (uses the resources of the GPUBox infrastructure). This chapter will guide both a regular user and an administrator through the installation process for all of the components of the GPUBox Software. Each of the components can be installed from a text or graphical user interface, or in silent mode from a command line.

We recommend beginning the installation of the GPUBox software from OServer. OServer is designed to serve the installation packages of the other two components: GPUServer and Client via OServer's RESTful interface.

System requirements and recommendations

System requirements

Infrastructure running under the GPUBox software must meet certain hardware and software requirements.

OServer
Operating system 64-bit Linux

  • CentOS, RedHat, Fedora
  • Debian, Ubuntu, Mint
  • SUSE, openSUSE
  • generic Linux
  • Most of the Linux distributions should work if the following versions of libraries are installed:

  • libc.so, min. ver. 2.12, execute to verify: $ /lib64/libc.so.6
  • libstdc++.so, min ver. 3.4, execute to verify: $ strings /usr/lib64/libstdc++.so.6 | grep LIBCXX
  • 64-bit Windows

  • Windows 7, Windows 8, Windows 10
  • Windows Server 2008, Windows Server 2012
  • Network connection TCP
    GPUServer
    Operating system 64-bit Linux

  • CentOS, RedHat, Fedora
  • Debian, Ubuntu, Mint
  • SUSE, openSUSE
  • generic Linux
  • Most of the Linux distributions should work if the following versions of libraries are installed:

  • libc.so, min. ver. 2.12, execute to verify: $ /lib64/libc.so.6
  • libstdc++.so, min ver. 3.4, execute to verify: $ strings /usr/lib64/libstdc++.so.6 | grep LIBCXX
  • 64-bit Windows

  • Windows 7, Windows 8, Windows 10
  • Windows Server 2008, Windows Server 2012
  • GPUs CUDA-enabled GPU
    Network connection TCP/IP and/or InfiniBand.
    TCP/IP communication is required and InfiniBand is optional. If you want to use the InfiniBand network only, it must support the IPoIB protocol as well.
    Software CUDA driver version 6.0 or higher
    Bash (Linux shell)

    Linux


    ibverbs library

    For InfiniBand support



    Optional Software GPU Deployment Kit
    In order to read information about a GPU’s temperature and fan speed.
    GPUServer requires library nvml.dll to extract the measurements. Library's default location:
    /usr/lib64/libnvidia-ml.so

    Linux


    C:\Program files\NVIDIA Corporation\NVSMI\

    Windows


    Client
    Operating system

    64-bit Windows 7, Windows 8, Windows 10, Windows Server 2008, Windows Server 2012

    64-bit Linux

  • CentOS, RedHat, Fedora
  • Debian, Ubuntu, Mint
  • SUSE, openSUSE
  • generic Linux
  • Most of the Linux distributions should work if the following versions of libraries are installed:

  • libc.so, min. ver. 2.12, execute to verify: $ /lib64/libc.so.6
  • libstdc++.so, min ver. 3.4, execute to verify: $ strings /usr/lib64/libstdc++.so.6 | grep LIBCXX
  • Network connection TCP/IP and/or InfiniBand.
    TCP/IP communication is required and InfiniBand is optional. If you want to use the InfiniBand network only, it must support the IPoIB protocol as well.
    Software Bash (Linux shell)

    Linux


    ibverbs library

    For InfiniBand support



    The GPUBox software does not support 32-bit operating systems.

    Hardware recommendations

    For the better utilization of the GPUBox software, we recommend the following system setups:

    OServer
    Processor 64-bit CPU with at least 4 cores
    Depends on the number of Clients.
    Memory Minimum 2GB
    Network At least 1Gb/s TCP/IP network. In the GPUBox infrastructure, OServer is the least network-consuming component.
    GPUServer
    Processor 64-bit CPU with at least 4 cores
    Communication with Clients and copying the data between the system memory means that the GPU memory can be CPU-intensive.
    The TCP/IP network adapter without the offload engine (TCP Offload Engine - TOE) can consume a high volume of the CPU cycles during transmission.
    Memory Minimum 16GB, but it is a good practice to keep it twice as large as the total amount of the GPU’s memory. For example, GPUServer providing four GPUs installed with 3GB of GPU memory for each should have at least 24GB of RAM, which is 2 x (4 x 3GB).
    Network At least 10Gb/s, network adapter with an offload engine or InfiniBand.
    We recommend InfiniBand communication between GPUServer and Client as it offers up to 56Gb/s or even 100Gb/s with a 2-port adapter throughput with very low-latency and low CPU-intensive operations.
    Client
    Processor 64-bit CPU with at least 4 cores (virtual or physical)
    Memory Minimum 2GB
    Network At least 10Gb/s, network adapter with an offload engine or InfiniBand.
    When Client is installed on a virtual system, network adapters (Ethernet and/or InfiniBand) should be installed via PCI-passthrough or SR-IOV technology.

    For the entire installation process and configuration, we advise the use of full absolute paths for directories and files.

    Network and firewall configuration

    High-performance is required for flawless communication between all of the GPUBox infrastructure components. While the TCP/IP network is crucial for communication with OServer, you can use the InfiniBand network for any transmissions between GPUServer and Client. Detailed information is provided in the InfiniBand communication chapter.
    In this section we only focus on TCP/IP settings.

    OServer is the only component of the GPUBox infrastructure that can be bound on more than one interface and port. Besides the advantages and possibilities this feature gives, it also has a dark side — the administrator needs to assure that users have access to the same network as the GPUServers. Otherwise, despite the allocated GPUs, the users will not be able to use them.

    GPUBox supports only Internet Protocol Version 4 (IPv4).

    The scheme below presents an exemplary port configuration. Except for UDP:53 and TCP:6555, the ports can be changed by the appropriate OServer and GPUServer's parameters.

    TCP:9393 Primary port for GPUServer communication with Clients and OServer.
    Set by parameter: gpuserver_bind_port
    TCP:9393+ Port 9393 and all ports above are required for communication with clients. In the 1st phase, Client connects to the primary server on the 9393 port, and in the 2nd phase, the primary server starts the subserver and each subserver communicates on the next available port beginning with 9394. Depending on the number of clients and requests, the range of accessible ports can vary and be different on different environments. For the sake of safety we advise having open ports on firewalls from range 9393..9500.
    Set by parameter: gpuserver_bind_port
    TCP:8080 GPUServer's port. It's used to communicate with OServer.
    Set by parameter: gpuserver_rest_bind
    TCP:8081,8082 These are the default ports for OServer to communicate with Clients. Here, 8081 is a non-secure HTTP port. We highly advise using an SSL protocol on port 8082.
    Set by parameter: gpuserver_rest_bind
    UDP:53 This is the Domain Name Server and it needs to be opened on a proxy/firewall to verify the license.
    TCP:6555 This port needs to be opened on a proxy/firewall to verify the license.

    For your convenience, we prepared a Bash script to set the firewall rules to accept the default GPUBox configuration. The script is installed with OServer under the following location: <OSERVER_INSTALLATION_DIR>/bin/gpubox_firewall.sh.
    The script can be run with these options:

    gpubox_firewall.sh [clean|client|gpuserver|oserver]
    

    The script must be started with root privileges and depending on the option chosen in the parameter, it sets the firewall rule for Client, GPUServer, or OServer.

    Be careful while using the clean option! It removes all the existing rules, not only those related to GPUBox.
    However the script itself does not save the rules from the firewall configuration file and they will be lost within the next system restart.

    Licensing GPUBox

    This section provides an overview of the GPUBox Software licensing.

    At the time of purchase, customer receives the following required licensing information from Renegatt Software.

    License UID It is a unique string of a maximum of 64-characters. The content of the license UID can be based on information provided by customer and is a basic customer identifier.
    OServer's parameter: oserver_license_uid
    Example:
    oserver_license_uid="Renegatt_Software"            
    
    License key OServer's parameter: oserver_license_key
    Example:
    oserver_license_key="dcb32bf9ea96f7688efa4fa2d2ecverg45hfgjczsr4467jnb/5rt4g4e423=="            
    

    There are no restrictions regarding the number of GPUServers that can concurrently run under a particular license.
    The licensing model of GPUBox is flexible and allows one to:

  • run OServer on both physical and virtual systems
  • restart OServer on another system, even on different Linux distributions
  • use various configurations of the GPU devices
  • Internet access

    Internet access is mandatory with every start of OServer. GPUBox requires the following ports to be open UDP:53 and TCP:6555. Port 53 is necessary for Domain Name System communication.

    Install OServer for Windows

    In order to install OServer on Windows operating system follow install GPUBox Starter for Windows.

    Install OServer for Linux

    Before you start

    Before you begin the OServer installation:

    • Prepare your license details (license UID, license key, amount of licensed GPUs)
    • Shut down OServer if it was previously installed on your system

    By using the silent installation mode, you automatically accept the End User License Agreement.

    User or root installation mode

    OServer can be installed from either a regular user or a root account.

    REGULAR USER
    Default directory location $HOME/gpubox-oserver
    Who runs? The user who issues the oserver command
    How to run? From command line $ oserver [additional options] or from prepared script $ oserver.sh
    How to stop? By pressing Ctrl+C in the appropriate terminal or by sending SIGINT, SIGTERM, or SIGQUIT signals, e.g. $ pkill -3 oserver
    Environment variables The following variables are set at oserver.sh script start:
  • OSERVER_CONF=<OSERVER_INSTALLATION_DIR>/oserver.conf
  • LD_LIBRARY_PATH=<OSERVER_INSTALLATION_DIR>/lib64
  • Directory structure
    Path Content
    <OSERVER_INSTALLATION_DIR>/bin Executable binaries and scripts
    <OSERVER_INSTALLATION_DIR>/etc Examples of the configuration file, SSL certificate, and service scripts
    <OSERVER_INSTALLATION_DIR>/data OServer's data storage, such as accounting and Monitor1 offload
    <OSERVER_INSTALLATION_DIR>/install GPUBox Client installers for Linux and Windows and user's documentation
    <OSERVER_INSTALLATION_DIR>/install/admin GPUServer installer and administrator's documentation
    <OSERVER_INSTALLATION_DIR>/lib64 plugins and libraries
    <OSERVER_INSTALLATION_DIR>/log Default OServer's log location
    <OSERVER_INSTALLATION_DIR>/webui GPUBox Web Console's files
    <OSERVER_INSTALLATION_DIR>/doc Documentation
    <OSERVER_INSTALLATION_DIR>/license.txt Text of End User License Agreement
    ROOT USER
    Default directory location /usr/local/gpubox-oserver
    Who runs? root and then switch to user gpubox created during the installation process, by default the owner process is gpubox
    How to run?
  • As a system service: # service oserver start
  • As a script: # <OSERVER_INSTALLATION_DIR>/bin/oserveru.sh, it switches to the user specified during the installation process.
  • As a script in daemon mode: # <OSERVER_INSTALLATION_DIR>/bin/oserverd.sh, it switches to the user specified during the installation process.
  • How to stop?
  • # service oserver stop, or
  • # pkill oserver
  • Service Installer creates the /etc/init.d/oserver file (only when non-generic system is selected).
    User Installer automatically creates gpubox user (unless it already exists) or other user specified during installation process.
    Environment variables The following variables are set at oserver service start:
  • OSERVER_CONF=<OSERVER_INSTALLATION_DIR>/etc/oserver.conf
  • LD_LIBRARY_PATH=<OSERVER_INSTALLATION_DIR>/lib64
  • Directory structure
    Path Content
    <OSERVER_INSTALLATION_DIR>/bin executable binaries and scripts
    <OSERVER_INSTALLATION_DIR>/etc example of configuration file, SSL certificate, and service script
    <OSERVER_INSTALLATION_DIR>/data OServer's data storage like accounting and Monitor1 offload
    <OSERVER_INSTALLATION_DIR>/install GPUBox Client installer for Linux and Windows and user's documentation
    <OSERVER_INSTALLATION_DIR>/install/admin GPUServer installer and administrator's documentation
    <OSERVER_INSTALLATION_DIR>/lib64 plugins and libraries
    <OSERVER_INSTALLATION_DIR>/log OServer's log
    <OSERVER_INSTALLATION_DIR>/webui GPUBox Web Console's files
    <OSERVER_INSTALLATION_DIR>/doc Documentation
    /etc/init.d/oserver system service scripts
    <OSERVER_INSTALLATION_DIR>/license.txt Text of End User License Agreement

    Except for the base location, the tree directory stays the same for both types of installations.

    Downloading installation package

    The installation package can be downloaded the download page provided to you after the purchase. The bundle installation package gpubox-oserver-<VERSION>.run contains:

  • OServer installer
  • GPUServer installer
  • Linux client installer
  • Windows client Installer
  • InfiniBand library
  • GPUBox Web Console
  • Documentation
  • After OServer is successfully installed, further installers are located in directory <OSERVER_INSTALLATION_DIR>//install. If another OServer is already running, installers can also be downloaded via OServer's internal RESTful interface from the address http(s)://<OSERVER_IP>/install.

    Installing OServer with dialog

    Once you obtain the gpubox-oserver-<VERSION>.run installation package, launch it in the terminal and wait until you see the License Agreement Acceptance screen.

    To continue, you need to accept the End User License Agreement by choosing Accept (use the TAB key).
    Afterwards, confirm that you want to install GPUBox OServer.

    On the next screen, use the arrow keys (, - choosing parameters; - switching Edit, Next, or Cancel) to select the customizable parameters that you want to change.

    0. Installation directory: localization under which OServer is to be installed. Every configuration parameter except this one can be changed later by editing OServer configuration file.
    1. HTTP binds: IP address and ports to which OServer will be bound.
    2. SSL certificate: path to the SSL certificate. By default it is located in the installation directory in /etc/ssl_cert_example.pem.

    After the installation, we encourage the generation of a new certificate. The new self-signed certificate can be easily generated with OpenSSL.


    $ openssl genrsa 2048 > ssl_cert_example.pem
    $ openssl req -x509 -new -key ssl_cert_example.pem >> ssl_cert_example.pem
    3. Log file: path to file containing OServer log.
    4. Log level: option referring to logging level. Can be chosen from one of the following: TRACE, DEBUG, INFO, NOTICE, WARNING, ERROR, and CRITICAL, where TRACE is the most detailed and CRITICAL provides only the most important entries. Choose TRACE if you are not sure what logging level should be set.
    5. License UID: license identification for which the license was purchased; License UID is provided by Renegatt Software.
    6. License key: the license key is provided by Renegatt Software at the time of purchase.
    7. Licensed GPU number: is equal to or lower than the number of GPUs for which the license was purchased.

    You can also use the option A. Save parameters to save the currently visible settings in a .prm file that can be loaded within the next installation by using option B. Load parameters during future installations. After the successful loading or saving of the parameters file, the * character will appear next to the modified option.

    If the installation directory already exists, you will be asked to confirm if you want to overwrite the existing installation files. After that confirmation, you want to configure and copy all of the OServer components and wait until you see the message that the installation has been completed.

    If the configuration file already exists it will be renamed as oserver.old-current date.

    Data entered within the installation are not validated. If some of the parameters were given incorrectly it will be validated within the first start of OServer.

    Installing OServer in silent mode

    By using the silent installation mode, you automatically accept the End User License Agreement.

    Once you obtain the gpubox-oserver-<VERSION>.run installation package, you have to prepare the .prm file with the saved parameters. You should apply the same rules as those regarding the OServer configuration in order to prepare a valid .prm file and then accurately perform the installation from the command line. An exemplary .prm file would look like this:

    oserver_install_dir=/home/bob/gpubox-oserver
    oserver_security_plugin="security1"
    oserver_security_config="/home/bob/gpubox-oserver/data/security.conf"
    oserver_accounting_plugin="defaultAccounting"
    oserver_accounting_config="/home/bob/gpubox-oserver/data/accounting.conf"
    oserver_rest_bind="0.0.0.0:8081"
    oserver_ssl_cert_path="/home/bob/gpubox-oserver/etc/ssl_cert_example.pem"
    auth_token="d6e459844365274877ca5949b144f076"
    oserver_db_path="/home/bob/gpubox-oserver/gpubox-oserver/data/oserver.db"
    oserver_log_path="/home/bob/gpubox-oserver/gpubox-oserver/log/oserver.log"
    oserver_log_level="TRACE"
    oserver_max_gpu_per_user=10
    oserver_max_users_per_gpu=5
    oserver_max_gpu_per_user_per_ip=10
    oserver_gpu_count_info="yes"
    oserver_allocation_option="free"
    oserver_webfiles_path="/home/bob/gpubox-oserver/gpubox-oserver/webui"
    oserver_installfiles_path="/home/bob/gpubox-oserver/gpubox-oserver/install"
    oserver_datafiles_path="/home/bob/gpubox-oserver/gpubox-oserver/data"
    oserver_license_uid="<LICENSE_UID>"
    oserver_license_key="<LICENSE_KEY>"
    

    The order of the lines in the .prm file is not important. The file may contain comments applied accordingly to Bash (beginning with #).

    An installation package gpubox-oserver-<VERSION>.run can be started with the following arguments:

    gpubox-oserver-<VERSION>.run -- [-c|--config <PATH_TO_FILE>] [-s]
    where:
    -c|--config <PATH_TO_FILE> Parameter allowing the indication of the .prm file.
    -s Silent mode
    If you have already prepared the .prm file, created analogically to the example given above in this section, you can launch the installer and provide those parameters.
    $ bash gpubox-oserver-<VERSION>.run -- -c /home/bob/oserver.prm -s
    After that GPUBox OServer will be unpacked and installed in the directory indicated by the oserver_install_dir parameter in the .prm file.

    Uninstall OServer for Windows

    OServer is uninstalled within the GPUBox Starter for Windows. For more information GPUBox Starter for Windows

    Uninstall OServer for Linux

    To uninstall OServer:

    Installation mode Actions
    user
  • Stop OServer
  • delete the OServer installation directory. You can achieve this by issuing the $ rm -rfv $HOME/gpubox-oserver command.
  • root
  • Stop OServer
  • delete the <OSERVER_INSTALLATION_DIR> installation directory. You can achieve this by issuing the # rm -rfv <OSERVER_INSTALLATION_DIR> command.
  • for non-generic systems: delete the /etc/init.d/oserver service. You can achieve this by issuing the # rm -v /etc/init.d/oserver command.
  • delete user specified during the installation process, for example: userdel -r gpubox. Option -r removes also home directory.
  • Install GPUServer for Windows

    In order to install GPUServer on Windows operating system follow install GPUBox Starter for Windows.

    Install GPUServer for Linux

    User or root installation mode

    GPUServer can be installed from either a regular user or a root account.

    REGULAR USER
    Default directory location $HOME/gpubox-gpuserver
    Who runs? The user who issues the gpuserver command
    How to run? From the command line $ gpuserver [additional options] or from the prepared script $ gpuserver.sh
    How to stop? Ctrl+C From the same terminal where GPUServer was started or by sending SIGINT, SIGTERM, or SIGQUIT signals, e.g. $ pkill -3 gpuserver
    Environment variables The following variables are set at gpuserver.sh script start:
  • GPUSERVER_CONF=<GPUSERVER_INSTALLATION_DIR>/gpuserver.conf
  • LD_LIBRARY_PATH=<GPUSERVER_INSTALLATION_DIR>/lib64
  • Directory structure
    Path Content
    <GPUSERVER_INSTALLATION_DIR>/bin Executable binaries and scripts
    <GPUSERVER_INSTALLATION_DIR>/etc Example of configuration file and service scripts
    <GPUSERVER_INSTALLATION_DIR>/lib64 Plugins and libraries
    <GPUSERVER_INSTALLATION_DIR>/log Default GPUServer's log location
    <GPUSERVER_INSTALLATION_DIR>/license.txt Text of End User License Agreement

    For installation as a non-root user, verify if you have access to /dev/nvidia* files.

    ls -l /dev/nvidia*
    crw-rw-rw-. 1 root root 195,   0 Aug  1 08:50 /dev/nvidia0
    crw-rw-rw-. 1 root root 195,   1 Aug  1 08:50 /dev/nvidia1
    crw-rw-rw-. 1 root root 195,   2 Aug  1 08:50 /dev/nvidia2
    crw-rw-rw-. 1 root root 195,   3 Aug  1 08:50 /dev/nvidia3
    crw-rw-rw-. 1 root root 195, 255 Aug  1 08:50 /dev/nvidiactl
    

    ROOT USER
    Default directory location /usr/local/gpubox-gpuserver
    Who runs? root and then switch to user created during the installation process, by default the owner process is gpubox
    How to run?
  • As a system service, # service gpuserver start
  • As a script: # <OSERVER_INSTALLATION_DIR>/bin/gpuserveru.sh, it switches to the user specified during the installation process.
  • As a script in daemon mode: # <OSERVER_INSTALLATION_DIR>/bin/gpuserverd.sh, it switches to the user specified during the installation process.
  • How to stop?
  • # service gpuserver stop, or
  • # pkill oserver
  • Service Installer creates the /etc/init.d/gpuserver file (only when non-generic system is selected).
    User Installer automatically creates gpubox user (unless it already exists)
    Environment variables The following variables are set at gpuserver service start:
  • GPUSERVER_CONF=<OSERVER_INSTALLATION_DIR>/etc/gpuserver.conf
  • LD_LIBRARY_PATH=<OSERVER_INSTALLATION_DIR>/lib64
  • Directory structure
    Path Content
    <GPUSERVER_INSTALLATION_DIR>/bin Executable binaries and scripts
    <GPUSERVER_INSTALLATION_DIR>/etc Example of configuration file and service script
    <GPUSERVER_INSTALLATION_DIR>r/lib64 Plugins and libraries
    <GPUSERVER_INSTALLATION_DIR>/log GPUServer's log location
    <GPUSERVER_INSTALLATION_DIR>/license.txt Text of End User License Agreement

    Except for the base location, the tree directory stays the same for both types of installations.

    Downloading installation package

    GPUServer's installation file is delivered as a bundle with the OServer installer and it is located in the <OSERVER_INSTALLATION_DIR>/install directory. The are two methods of downloading the GPUServer installation package gpubox-gpuserver-<VERSION>.run:

  • wget --header="X-Auth-Token: d6e459844365274877ca5949b144f076" http://<OSERVER_IP>:<PORT>/install/admin/gpubox-gpuserver-<VERSION>.run
  • From the OServer->Files submenu in GPUBox Web Console after logging in
  • Installing GPUServer with dialog

    Once you download the GPUServer installation package gpubox-gpuserver-<VERSION>.run, launch it in the terminal and wait until you see the License Agreement Acceptance screen.

    To continue, you need to accept the License Agreement by choosing Accept (use the TAB key).

    Afterward, use the arrow keys (, - choosing parameters; - switching Edit, Next, or Cancel) to select the customizable parameters that you want to change.

    0. Install directory: localization under which GPUServer will be installed. Every parameter except this one can be changed later by editing the GPUServer configuration file.
    1. IP address: system's IP address
    2. Port: number of the TCP port that will be used by Client to connect to GPUServer

    When setting the Port for GPUServer, make sure that ports within the range of at least 50 and upward are free.

    3. HTTP bind: the IP address and ports to which GPUServer will be bound. Should be given in the following format: IP_ADDRESS:PORT, for example 203.0.113.11:8080
    4. OServer address: the address of OServer to which GPUServer will be connected
    5. GPU devices: by editing this parameter you can choose which GPUs from the computer will be used by GPUBox. By default all of the GPUs will be used.
    6. Log file: path to the file containing GPUServer log
    7. Log level: option referring to the logging level. Can be chosen from one of the following: TRACE, DEBUG, INFO, NOTICE, WARNING, ERROR, or CRITICAL, where TRACE is the most detailed and CRITICAL provides only the most important entries. Choose TRACE if you are not sure what logging level should be set.
    8. Enable InfiniBand: choose if you want to use GPUBox over InfiniBand

    You can also use the A. Save parameters option to save the currently visible settings in a .prm file that can be loaded by using the B. Load parameters option during future installations. After the successful loading or saving of the parameters file, the * character will appear next to the appropriate option.

    After editing the chosen parameters, confirm on further dialog windows that you want to create/overwrite the installation directory and that you want to configure and copy GPUServer components. Wait until the installation is finished.

    If the configuration file already exists it is be rename as gpuserver.old-current date.

    Data entered within the installation are not validated. If some of the parameters were given incorrectly it will be validated within the first start of GPUServer.

    Installing GPUServer in silent mode

    By using the silent installation mode, you automatically accept the End User License Agreement.

    Once you download the GPUServer installation package gpubox-gpuserver-<VERSION>.run, prepare the .prm file applying the same rules as those regarding the GPUServer configuration.

    An exemplary .prm file is presented below:

    gpuserver_install_dir="/home/bob/gpubox-gpuserver"
    gpuserver_bind_port=9393
    gpuserver_bind_ip="203.0.103.12"
    gpuserver_rest_bind="203.0.103.12:8080"
    gpuserver_rest_oserver_address="http://203.0.103.1:8081"
    auth_token="d6e459844365274877ca5949b144f076"
    gpuserver_gpus="all"
    gpuserver_log_path="/home/bob/gpubox-gpuserver/log/gpuserver.log"
    gpuserver_log_level="TRACE"
            

    The line order in the .prm file is not important. The file, if it is needed, may contain comments applied according to the Bash (beginning with a #).

    The d6e459844365274877ca5949b144f076 token is the default infrastructure token. If you already have customized the infrastructure user replace the auth_token parameter with the new token. You can read more about customizing the infrastructure user in the Security bootstrapping section.

    The gpubox-gpuserver-<VERSION>.run installation package can be started with the following arguments:

    gpubox-gpuserver-<VERSION>.run -- [-c|--config <PATH_TO_FILE>] [-s]
    where:
    -c|--config <PATH_TO_FILE> Parameter allowing the indication of a previously prepared .prm file
    -s Silent mode
    If you have already prepared a .prm file created analogically to the example given above in this section, you can launch the installer using those parameters:
    $ bash gpubox-gpuserver-<VERSION>.run -- -c /home/bob/oserver.prm -s
    After that, GPUBox GPUServer will be unpacked and installed in the directory indicated by the oserver_install_dir parameter in the .prm file.

    Uninstall GPUServer for Windows

    GPUServer is uninstalled within the GPUBox Starter for Windows. For more information GPUBox Starter for Windows

    Uninstall GPUServer for Linux

    To uninstall GPUServer:

    Installation mode Actions
    user
  • Stop GPUServer
  • delete the GPUServer installation directory. You can achieve this by issuing the $ rm -rfv $HOME/gpubox-gpuserver command.
  • root
  • Stop GPUServer
  • delete the <GPUSERVER_INSTALLATION_DIR> installation directory. You can achieve this by issuing the# rm -rfv <GPUSERVER_INSTALLATION_DIR> command.
  • for a non-generic system: delete the /etc/init.d/gpuserver service. You can achieve this by issuing the # rm -v /etc/init.d/gpuserver command.
  • delete user specified during the installation process, for example: userdel -r gpubox. Option -r removes also home directory.
  • Linux Client

    Before you start

    By using the silent installation mode, you automatically accept the End User License Agreement.

    The installation process will introduce changes to the user's home directory.

    Files and directories

    After a successful installation, the GPUBox Client directory should have the following structure:

    Path Content
    <CLIENT_INSTALLATION_DIR>/bin Contains:
  • gpubox: user's program to manage the GPUs
  • agpubox: administrator's program to manage the GPUBox infrastructure
  • gpubox_login.sh: helpful Bash script provides login assistance for the OServer
  • <CLIENT_INSTALLATION_DIR>/lib64 Contains Client's CUDA libraries and the libInfiniBand-support.so library if the InfiniBand option was chosen during installation.
    <CLIENT_INSTALLATION_DIR>/license.txt the text file containing the License Agreement

    Environment variables

    The installer will insert lines such as those in the example below into the $HOME/.bashrc file . Those lines are replaced within every new installation.

    #----- BEGIN @GPUBOX-C
    #----- ADDED BY GPUBOX INSTALLER: GPUBOX CLIENT #@GPUBOX-C
    export LD_LIBRARY_PATH=/home/bob/gpubox-client/lib64:$LD_LIBRARY_PATH  #@GPUBOX-C
    export PATH=/home/bob/gpubox-client/bin:$PATH  #@GPUBOX-C
    #----- END # #@GPUBOX-C
    

    Download installation package

    Download the Client installation package gpubox-client-<VERSION>.run Linux.

  • wget http://<OSERVER_IP>:<PORT>/install/admin/gpubox-client-<VERSION>.run
  • From OServer->Files submenu in GPUBox Web Console
  • Installing Client with dialog

    Launch the Client installation package gpubox-client-<VERSION>.run in the terminal. Wait until you see the License Agreement Acceptance screen.

    To continue, you need to accept the License Agreement by choosing Accept (use the TAB key).
    On the next screen, choose whether you want to use GPUBox with or without InfiniBand support. Afterwards, enter the path to installation:
    Confirm that you want to create or overwrite a given directory.
    Once the Client installer is done with the installation, you will be asked if you want to log into GPUBox. If you choose No, the installer will close and you can use the gpubox token subcommand to log in later. If you choose Yes on the next dialog, you will be able to enter the OServer HTTP address, your GPUBox userid, and your password.

    Installing Client in silent mode

    The Client installation package gpubox-client-<VERSION>.run can be launched with the following arguments:

    ./gpubox-client-<VERSION>.run -- [-d|--dest-dir <CLIENT_INSTALLATION_DIR>] [-s]
    where:
    -d|--dest-dir <CLIENT_INSTALLATION_DIR> Parameter allowing the indication of a destination directory for the Client installation
    -s Silent mode
    For example, installing GPUBox Client in the /home/mary/gpubox-client directory can be performed by issuing a command:
    $ ./gpubox-client-<VERSION>.run -- -d /home/mary/gpubox-client -s

    Please note, that the silent mode is prepared for scripting purposes and it does not automatically downloads the security token.

    GPUBox Client in XWindows environment

    By default, GPUBox Client sets the environment variables in the $HOME/.bashrc file, but they are not available in a graphical desktop environment. To start the supported application without using the terminal, you have to create and open the /etc/profile.d/gpubox.sh file and paste the following content:

    if [ -d ""$HOME/gpubox-client"" ];then
            if [ -z “$(echo  $LD_LIBRARY_PATH | grep gpubox-client)” ]; then
                    export LD_LIBRARY_PATH=$HOME/gpubox-client/lib:$LD_LIBRARY_PATH
                    export PATH=$HOME/gpubox-client/bin:$PATH
            fi
    fi
    

    Then change the file permissions.

    # sudo chmod 644  /etc/profile.d/gpubox.sh"
    

    After restarting the system, you should be able to start the application from Windows manager.

    Uninstall Linux Client

    To uninstall Client on Linux:

  • stop all of the programs that use the GPUBox infrastructure
  • delete the Client installation directory. You can achieve this by issuing the $ rm -rfv <CLIENT_INSTALLATION_DIR> command.
  • delete Client's configuration file (by default: $HOME/.gpubox). To do it, you can issue the $ rm $HOME/.gpubox command.
  • in the $HOME/.bashrc file, find and remove the lines:
    #----- BEGIN #@GPUBOX-C
    #----- ADDED BY GPUBOX INSTALLER: GPUBOX CLIENT #@GPUBOX-C
    export LD_LIBRARY_PATH=/home/bob/gpubox-client/lib64:$LD_LIBRARY_PATH  #@GPUBOX-C
    export PATH=/home/bob/gpubox-client/bin:$PATH  #@GPUBOX-C
    #----- END # #@GPUBOX-C
    
  • After that, GPUBox Client is completely removed from your system.

    Windows Client

    Before you start

    By using the silent installation mode, you automatically accept the End User License Agreement.

    Files and directories

    After a successful installation, the GPUBox Client directory should have the following structure:

    Path Content
    <CLIENT_INSTALLATION_DIR>\ Contains:
  • gpubox.exe: user's program to manage GPUs
  • agpubox.exe: administrator's program to manage GPUBox infrastructure
  • gpubox.bat: automatically opens gpubox command window
  • agpubox.bat: automatically opens agpubox command window
  • uninstall.exe: uninstaller
  • <CLIENT_INSTALLATION_DIR>\lib Contains Client's nvcuda.dll library and the InfiniBand-support.dll library if the InfiniBand option was chosen during installation.
    <CLIENT_INSTALLATION_DIR>\lib2 Auxiliary libraries
    <CLIENT_INSTALLATION_DIR>\license.txt Text of the End User License Agreement

    Download installation package

    Download the Client installation package gpubox_winclient_<VERSION>.exe Windows.

  • Type the address into the web browser http://<OSERVER_IP>:<PORT>/install/admin/gpubox_winclient_<VERSION>.exe, save as ... should appear and then you can start downloading the file.
  • From the OServer->Files submenu in GPUBox Web Console
  • Installing Windows Client

    You will need administrator privileges to perform an installation on Windows.

    Open the gpubox_client_install_<VERSION>.exe installation package as an administrator, you should see the first screen of the installation dialog:
    Press Next to move to the next step, which is the License Agreement:
    Read the terms of the EULA. If you agree, accept by pressing I Agree to proceed to the Choose Components step.
    Check the components you wish install (Base Components are required) and proceed to the Choose Install Location step by pressing Next.
    If the installation wizard finds the previous installations of GPUBox Client, you will be prompted for permission to remove it. Select the location under which GPUBox Client will be installed and press Install to finish the installation.
    Once the installation is completed you can Close the installer.

    Installing Client in silent mode

    You will need administrator privileges to perform an installation on Windows.

    Run installation package gpubox_client_install_<VERSION>.exe in terminal:

    gpubox_client_install_<VERSION>.exe /S [ /D=<CLIENT_INSTALLATION_DIR> ] 
    where:
    /S Silent mode
    /D=<CLIENT_INSTALLATION_DIR> Installation directory. When the parameter is not provided, the default path C:\Program files\Renegatt\GPUBox-client will be used.
    For example, installing GPUBox Windows Client in directory C:\Program files\Renegatt\GPUBox-client can be performed by issuing a command:
    > gpubox_client_install_<VERSION>.exe /S /D=C:\\Program files\\Renegatt\\GPUBox-Client

    Customized CUDA library

    To work correctly within the CUDA environment in GPUBox infrastructure, the application must load the customized nvcuda.dll library. The library is automatically installed within the other components.

    Please note, that in Windows, there is a specified general search order according to which the application tries to load the library. The first two locations in which Windows look for the libraries are:

    1. Application's directory
    2. %WINDIR%\system32 directory
    Version 0.8.833

    To start using GPUBox, library <CLIENT_INSTALLATION_DIR>\lib\nvcuda.dll has to be copied to a folder containing application's executables.

    Version 0.8.801

    During the installation process of GPUBox Client for Windows, the installer loads the customized library to the %WINDIR%\system32 directory. Depending on the situation, the installer can take various actions in order to complete the setup.

    • If the installer finds an original CUDA library, it is renamed to nvcuda_gb.dll. After that, the customized nvcuda.dll library is copied to the %WINDIR%\system32.
    • If the installer finds the customized library from previous GPUBox Client installations, it is replaced by the newer version.
    • If the installer does not find any CUDA library in the %WINDIR%\system32 directory, it simply installs the customized CUDA library in it.

    Uninstall Windows Client

    You can uninstall Windows Client in one of the following ways.

    From Windows Control Panel

    Windows 7

  • Open Programs and Features by clicking the Start button, then Control Panel, Programs, and finally Programs and Features
  • Select GPUBox Client program, and then click Uninstall
  • Windows 8

  • Press keys WinKey + X, click on Control Panel and then Uninstall a program
  • Select GPUBox Client program, and then click Uninstall
  • uninstall.exe
  • In Windows Explorer, open the directory where GPUBox Client is installed, for example, C:\Program files\Renegatt\GPUBox-client
  • Double click on uninstall.exe
  • Silent mode
  • Run cmd.exe as an administrator
  • Change the directory to the Client installation directory, for example C:\Program files\Renegatt\GPUBox-client
  • Run uninstaller uninstall.exe /S