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#
Recommended CPU#
XCOMPUTE-SERVER requires an x86-64 CPU running v3 or v4 microarchitecture. V3 supports CPU features like AVX2, MOVBE, and FMA. V4 supports CPU features like AVX512. To check the microarchitecture version such as the AVX instructions provided by the CPU:
grep flags /proc/cpuinfo | head -1 | grep avx
Recommended GPU#
At least one GPU (or OpenCL 1.2+ processor) is required on each server host. Double-precision (FP64) support is required for both CPU and GPU, driving performance for many numerical methods.
OpenCL drivers are provided by the GPU hardware vendor and bundled with GPU support software.
Install drivers for Nvidia, AMD, or Intel.
The list of hardware supporting OpenCL is listed by:
clinfo -l
Without the -l flag, the clinfo command lists detailed OpenCL features of the hardware. If it is not already installed, it is available from most package managers such as: sudo apt install clinfo or equivalent.
Recommended Storage#
A dedicated high-speed SSD is recommended for storing your project filesystem (as defined by the input/output paths). Depending on the performance and redudancy requirements, a RAID 0 or RAID 10 configuration may be warranted. Capacities might range from 1TB to 1PB, and/or utilize a mapped NAS.
Recommended Network#
Better results are expected from high-speed low-latency wired networks supporting TCP/IP. LAN subnets should have 1+ Gbps, while WAN should be 100+ Mbps for best experience.
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
xcomputehas 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.