Open mmdriley opened 4 years ago
That looks very good. Making that work would be a significant improvement, because ICC has a relatively distinctive behavior.
You can install intel compilers via yum and apt: https://software.intel.com/en-us/articles/oneapi-repo-instructions. This is a beta for oneapi and there is no license file required.
You can also use the HPC toolkit container: https://github.com/intel/oneapi-containers The container image is large, and some of the public CI systems don't have enough disk space. You could build your own container image with the components you need via apt.
@mmdriley thanks for the details, here is what we use in our docker container to setup icc:
RUN if [ -n "${INTEL}" ]; then \
mkdir -p /var/lib/yum/intel-icc && \
pushd /var/lib/yum/intel-icc && \
wget --no-verbose http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16527/parallel_studio_xe_2020_update1_professional_edition.tgz && \
tar -xf parallel_studio_xe_*.tgz && \
rm parallel_studio_xe_*.tgz && \
cd parallel_studio_xe_*/rpm && \
printf "[icc]\nname=icc\nbaseurl=$PWD\nenabled=1" > /etc/yum.repos.d/icc.repo && \
dnf -y update && \
dnf --nogpgcheck -y install intel-parallel-studio-xe-icc intel-parallel-studio-xe-mkl && \
dnf clean all && \
mkdir /opt/intel/licenses; \
fi
ENV PATH=${INTEL:+/opt/intel/bin/:}${PATH}
ENV LD_LIBRARY_PATH=${INTEL:+/opt/intel/lib/intel64:}${LD_LIBRARY_PATH}
We have published samples for all the public CI systems: https://github.com/oneapi-src/oneapi-ci
This is a low priority, but I spent a moment looking into it today and wanted to write down what I found.
Starting at https://software.intel.com/en-us/system-studio/choose-download
Choosing the Linux host+target, you end up "downloading" a
.zip
file (it's actually created as a blob by the webpage) that contains:intel-sw-tools-license.lic
, a license file unique to this download (pulled from https://dynamicinstaller.intel.com/api/v2/license) and valid for one yearintel-sw-tools-config-custom.json
, a "manifest" of the components you selected to download. Mine was:intel-sw-tools-installer.tar.gz
, the actually installer (pulled from https://registrationcenter-download.intel.com/akdlm/irc_nas/15873/intel-sw-tools-installer.tar.gz)The installation guide says to untar that installer and, for silent (unattended) install, change some values in
silent.cfg
.In an Ubuntu 18.04 Docker container, I unzipped the download, untar'd the installer, changed the
ACCEPT_EULA
value insilent.cfg
, and ran./install.sh -s silent.cfg
. The installer took a surprisingly long time, but I ended up with ICC in/opt/intel/system_studio_2019/bin/icc
. I had to copy the license file into/opt/intel/licenses/
, though I probably could have fixed that by setting other variables insilent.cfg
.OS prerequisites:
apt install unzip cpio g++
unzip
for obvious reasonscpio
is required by the installericc
ends up needing an install ofgcc
andg++
for C and C++ compiles, respectively.