High Performance Compute Reference Stack
The High Performance Computing Reference Stack (HPCRS) meets the needs of deploying HPC and AI workloads on the same system. This software solution reduces the complexities associated with integrating software components for High Performance Computing (HPC) workloads.
This guide explains how to use the pre-built HPCRS container image, build your own HPCRS container image, and use the reference stack.https://github.com/intel/stacks/blob/master/hpcrs/NEWS.md
Overview
HPCRS abstracts away the complexity of integrating multiple performance oriented software components including compilers, libraries, and frameworks. HPCRS enables users and developers of HPC and AI workloads to accomplish their work using a simple containerized solution.
Releases
Refer to the System Stacks for Linux* OS repository for information and download links for the different versions and offerings of the stack.
HPCRS v0.3.0 includes a pre-built container based on CentOS with optimized Intel oneAPI compilers and libraries for building HPC applications.
HPCRS v0.2.0 includes a pre-built container based on CentOS integrating proprietary software components for single-node usage.
HPCRS Release notes on GitHub* for the latest release of HPCRS.
Prerequisites
HPCRS can run on any host system running Linux which supports Intel® Advanced Vector Extensions 512 (Intel® AVX-512) and Docker*.
Linux OS (CentOS)
Docker
Stack features
The HPCRS provides a pre-built Docker image, which includes instructions on building the image from source. HPCRS is open-sourced to make sure developers have easy access to the source code and are able to customize it.
HPCRS provides the following software components:
CentOS as the base image
NOTE:
Please see the third party program file and README text.
Get the pre-built HPCRS container image
Pre-built HPCRS Docker images are available. To use the HPCRS:
Pull the image:
docker pull sysstacks/hpcrs-centos
NOTE:
If you are on a network with outbound proxies, be sure to configure Docker to allow access. See the Docker service proxy and Docker client proxy documentation for more details.
Once you have downloaded the image, run it using the following command:
docker run -it sysstacks/hpcrs-centos
This will launch the image and drop you into a bash shell inside the container in the
/workspace
folder.Paths from the host can be shared to the container with the
--volume
switch using Docker volumes.
Build the HPCRS container image from source
If you choose to build your own HPCRS container image, you can optionally add
customizations as needed. The Dockerfile
for the HPCRS is available on
GitHub and can be used as a
reference when creating your own container image.
Clone the
hpcrs
repository.git clone https://github.com/intel/stacks.git
Navigate to the
stacks/hpcrs
directory which contains the Dockerfile for the HPCRS.cd ./stacks/hpcrs
Use the
make
to build the HPCRS container image. Themake
target will run the appropriatedocker build
command.make build
Use the HPCRS container image
This section shows examples of how the HPCRS container image can be used.
PyTorch benchmarks
This section describes running the PyTorch benchmarks for Caffe2 in single node.
Run the image with Docker:
docker run --name <image name> --rm -i -t sysstacks/hpcrs-centos /bin/bash
NOTE:
Launching the Docker image with the
-i
argument starts interactive mode within the container. Enter the following commands in the running container.Navigate to to where Pytorch and Caffe are installed:
cd /usr/lib/python3.8/site-packages/caffe2/python/
Install dependencies for the benchmark:
pip install protobuf pip install future
Execute the benchmark script:
python convnet_benchmarks.py --batch_size 32 \ --cpu \ --model AlexNet
Intel and the Intel logo are trademarks of Intel Corporation or its subsidiaries.
Convert the HPCRS image to a Singularity image
You may want to run the HPCRS image on Singularity for HPC workloads. A tool is available to easily convert the HPCRS Docker image to a Singularity image.
Refer to the README.md file in the d2s directory.
Reporting Security Issues
If you have discovered potential security vulnerability in an Intel product, please contact the iPSIRT at secure@intel.com.
It is important to include the following details:
The products and versions affected
Detailed description of the vulnerability
Information on known exploits
Vulnerability information is extremely sensitive. The iPSIRT strongly recommends that all security vulnerability reports sent to Intel be encrypted using the iPSIRT PGP key. The PGP key is available here: https://www.intel.com/content/www/us/en/security-center/pgp-public-key.html
Software to encrypt messages may be obtained from:
PGP Corporation
GnuPG
For more information on how Intel works to resolve security issues, see: Vulnerability handling guidelines
LEGAL NOTICE
By accessing, downloading or using this software and any required dependent software (the “Software Package”), you agree to the terms and conditions of the software license agreements for the Software Package, which may also include notices, disclaimers, or license terms for third party software included with the Software Package. Please refer to the “third-party-programs.txt” or other similarly-named text file for additional details.
Intel and the Intel logo are trademarks of Intel Corporation or its subsidiaries
*Other names and brands may be claimed as the property of others.