XCOMPUTE-SERVER#

XCOMPUTE-SERVER is built and distributed for Linux x86-64 systems:

  • Installable packages Ubuntu/Debian using *.deb

  • Manual install for other Linux/Unix using *.tar.gz

This guide will help administrators set up a server host for their team.

1. Prerequisites#

1a. XCOMPUTE Account#

If you have not done so already sign up for an XCOMPUTE account. You will need it to purchase a license to enable use of XCOMPUTE-SERVER.

1b. Hardware Requirements#

1c. Software Requirements#

XCOMPUTE-SERVER has minimal runtime dependencies:

  • GLIBC 2.33+

  • OpenCL drivers

You can check the Linux distro and version by the following:

egrep 'ID=|VERSION_ID=' /etc/os-release

1d. Selecting a package#

Select the version of XCOMPUTE-SERVER that is appropriate for your server host. Remember, by using our software, you (and your organization) are legally bound by the EULA and Terms of Service.

  • If it’s for your job, startup, or revenue generation, you must purchase a commercial XCOMPUTE-SERVER-STD (Standard Edition) license.

  • If you are a student or teacher, or are evaluating the software via non-commercial use, XCOMPUTE-SERVER-EDU (Educational Edition) license may be sufficient.

XCOMPUTE-SERVER-EDU is available on the following platforms:

  • Debian packages (.deb) for Ubuntu 24+ / Debian 12+: xcompute-server-edu_linux-u24-x86_64.deb.

  • Debian packages (.deb) for Ubuntu 22 / Debian 11: xcompute-server-edu_linux-u22-x86_64.deb.

  • Compressed tarfiles for Linux GLIBC 2.38+ on x86_64: xcompute-server-edu_linux-u24-x86_64.tar.xz.

  • Compressed tarfiles for Linux GLIBC 2.34+ on x86_64: xcompute-server-edu_linux-u22-x86_64.tar.xz.

XCOMPUTE-SERVER-STD is available on the following platforms:

  • Debian packages (.deb) for Ubuntu 24+ / Debian 12+: xcompute-server-std_linux-u24-x86_64.deb.

  • Debian packages (.deb) for Ubuntu 22 / Debian 11: xcompute-server-std_linux-u22-x86_64.deb.

  • Compressed tarfiles for Linux GLIBC 2.38+ on x86_64: xcompute-server-std_linux-u24-x86_64.tar.xz.

  • Compressed tarfiles for Linux GLIBC 2.34+ on x86_64: xcompute-server-std_linux-u22-x86_64.tar.xz.

The specific release is denoted in the name by u22, and u24. The downloaded file will have the full version ID in the filename. For example, xcompute-server-std_25.1-0319.7eb02f19-u24_amd64.deb is a Debian package with version ID 25.1-0319.7eb02f19 and built on Ubuntu 24.04.

For non-LTS releases, one of the most significant factors is finding the appropriate version of libc.so.6 (found on Debian systems as /lib/x86_64-linux-gnu/libc.so.6). Host-native binary executable programs on Linux depend on the versions of C library functions provided. Specifically, this means the GNU C Library (GLIBC 2.34+ to meet C++20 standards).

The Debian packages are managed by the Debian package management system, and thus utilize pre- and post-install scripts as well as pre- and post-remove scripts.

The content of the of compressed tarfiles is the same the Debian packages, but pre/post-install/remove scripts are not executed. Thus, they require additional manual installation steps.

In both cases, installation require administrator privileges on the host OS.

2. Download Package#

On the Download page, review the End-User License Agreement (EULA).

2a. Purchase a License#

As your XCOMPUTE-SERVER download completes, you will be asked whether to continue to the subscription page.

  • Unless you already have an available license key, select “OK” to continue.

  • Complete the purchase of the XCOMPUTE-SERVER monthly subscription, initiating key-generation.

  • You will be emailed a license notice, identified by a 32-byte RSA fingerprint.

Available licenses are listed on your user profile account page. It lists the license type (e.g., XCOMPUTE-SERVER-STD), license key fingerprint, and machine ID (if assigned).

3. Install the Package#

The installer will copy relevant files from the package into the install location:

xcompute-server
├── bin
├── etc
│   └── systemd
├── lib
│   ├── kernels
│   └── python3
├── sbin
├── share
│   ├── configs
│   │   ├── compute
│   │   └── server
│   └── geometries.zip
└── tests
    └── bin

3a. Ubuntu/Debian#

If a Debian package is selected for download, its name will have the form:

xcompute-server-std_25.1-...-amd64.deb

The package can be installed using apt, aptitude, or dpkg. example,

sudo apt install ./xcompute-server-std_24.1-1023.0aba1702-u24_amd64.deb

Note that for apt, the ./ in front of the package filename is mandatory. Otherwise it will try to download the package in the Debian or Ubuntu online repositories, but not find it.

When installed, the XCOMPUTE-SERVER software itself will reside under /opt/xcompute/xcserver. The user xcompute is created with home directory at /var/opt/xcompute/xcserver.

3b. Setup#

The installation process will generate messages like the following:

Creating system user XCOMPUTE system user ...
Config file compute.cfg is newly installed. Check its attributes in:
  /var/opt/xcompute/xcserver/compute.cfg
Config file server.cfg is newly installed. Check its attributes in:
  /var/opt/xcompute/xcserver/server.cfg
log directory created: /var/opt/xcompute/xcserver/log

These messages inform you that:

  • a user xcompute has been added to the host as a system user; that is, it has no login shell and is used for a system service.

  • new configuration files have been installed or changed.

  • a log directory has been set.

The messages relating to configuration files are highlighted in a different color so that they stand out.

3c. Other Linux variants#

The User Installable Package (UIP) contains all the of the components required to run in-place or manually install in other Linux environments. Automation and support for this is currently limited; it should not be too much of a hassle for a seasoned administrator.

4. Configure#

Proceed to Configuration for next steps.