Skip to content

Commit

Permalink
Added mpss page from Nikhef homepage
Browse files Browse the repository at this point in the history
  • Loading branch information
jjkeijser committed Mar 10, 2022
1 parent b93a91b commit a39728e
Show file tree
Hide file tree
Showing 6 changed files with 526 additions and 0 deletions.
1 change: 1 addition & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
theme: jekyll-theme-minimal
93 changes: 93 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="keywords" content="intel knc mpss">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Intel Xeon Phi (KNC) MPSS software and kernel modules for CentOS 7&amp;8</title>

<link rel="stylesheet" href="mw-monobook-lookalike.css">
</head>


<body>

<h1>Intel Xeon Phi (KNC) MPSS software and kernel modules for CentOS 7&amp;8</h1>

The Intel Xeon Phi 0x100 (KNC) PCI-e accelerator card is/was a many-processor card
to speed up calculations. The idea is similar to that of a GPGPU like NVidia or AMD,
but based on many Intel cores stuffed into a single PCI-e card, together with a
fair amount of RAM (up to 16 GB, depending on the model).
<br><br>
In order to access the card, you have to install and run the Intel MPSS software stack,
which consists of a Linux kernel module (or Windows, but that is not applicable here),
combined with a set of user-space applications.
<br><br>
Unfortunately, Intel dropped support for this Xeon Phi card somewhere in 2019,
leaving users stranded with a software stack that supported (amongst others) RedHat
Enterprise Linux 7 up to release 7.4 (kernel 3.10.0-693).
<br>
The latest version (as of October 4th 2019) of the MPSS software stack for the
first generation Intel Xeon Phi (aka KNC) is 3.8.6. Unfortunately, this version
of the mpss stack does not support the newer RHEL/CentOS 7 kernels nor does it
support RHEL/CentOS 8 at all.
<br><br>
Even though Intel released version 3.8.5 well after RHEL 7.5 and 7.6 were released,
and similarly, released version 3.8.6 after RHEL 7.7 was released,
they state that this newer release only addresses critical customer issues and
security hotfixes. Apparently, they find it important to address security issues
in the MPSS stack and the KNC itself, but they do not care about security issues
(SPECTRE anyone?) in the host operating system.

<br><br>
In order to continue to be able to use the few Xeon Phi's that I have, I have created
patches for the mpss-modules source files, so that it can be compiled on newer RedHat/
CentOS Linux kernels, including
<ul>
<li>CentOS 7.5 (kernel 3.10.0-862)</li>
<li>CentOS 7.6 (kernel 3.10.0-957)</li>
<li>CentOS 7.7 (kernel 3.10.0-1062)</li>
<li>CentOS 7.8 (kernel 3.10.0-1127)</li>
<li>CentOS 7.9 (kernel 3.10.0-1160)</li>
<br>
<li>CentOS 8.2 (kernel 4.18.0-193)</li>
<li>CentOS 8.3 (kernel 4.18.0-240)</li>
<li>CentOS 8.4 (kernel 4.18.0-305.3.1)</li>
<li>CentOS 8.5 (kernel 4.18.0-348.2.1)</li>
</ul>

Note that the mpss-modules source tarballs from Intel for MPSS 3.8.4, 3.8.5 and 3.8.6 seem different, but
a <code>diff -r</code> on the source trees resulted in <b>zero</b> difference. Thus, if you are stuck
running an older version of the MPSS software stack then you can apply the same patches.

<br><br>
You can find these patches on the following pages, as well as an outline of how to get
the MPSS software stack running on Ubuntu 18 (kernel 4.15).

<ul>
<li><a href="xeon-phi-mpss-centos7.html">MPSS kernel module patches for CentOS 7</a>
</li>
<li><a href="xeon-phi-mpss-centos8.html">MPSS kernel module patches for CentOS 8</a>
</li>
<li><a href="xeon-phi-mpss-ubuntu.html">Running the MPSS software stack on Ubuntu 18</a>
</li>
</ul>

<h2>Github</h2>
This page is kept for legacy purposes and for linking to the github page for my MPSS stuff:
<ul>
<li><a href="https://github.com/jjkeijser/mpss">https://github.com/jjkeijser/mpss</a>
</li>
</ul>
which has the code, patches, RPM specfiles and build instructions for the MPSS 3 <b>and</b> MPSS 4
stacks on CentOS 7 <b>and</b> 8.


<hr>
<small>MPSS main |
<a href="xeon-phi-mpss-centos7.html">MPSS CentOS 7</a> |
<a href="xeon-phi-mpss-centos8.html">MPSS CentOS 8</a> |
<a href="xeon-phi-mpss-ubuntu.html">MPSS Ubuntu</a>
</small>
</body>
</html>
15 changes: 15 additions & 0 deletions mw-monobook-lookalike.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
pre {
border: 1pt dashed #2f6fab;
white-space: pre;
overflow: auto;
font-size: 11pt;
padding: 1em 0;
background: white;
background-color: #f9f9f9;
color: black;
}

code {
background-color: #f9f9f9;
}

136 changes: 136 additions & 0 deletions xeon-phi-mpss-centos7.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="keywords" content="intel knc mpss">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Intel Xeon Phi (KNC) MPSS modules for CentOS 7.5-7.9</title>

<link rel="stylesheet" href="mw-monobook-lookalike.css">
</head>


<body>

<h1>Intel Xeon Phi (KNC) MPSS modules for CentOS 7.5, 7.6, 7.7, 7.8 and 7.9</h1>

The latest version (as of October 4th 2019) of the MPSS software stack for the
first generation Intel Xeon Phi (aka KNC) is 3.8.6. Unfortunately, this version
of the mpss stack does not support the newer RHEL/CentOS 7 kernels <b>3.10.0-862</b>
(7.5), <b>3.10.0-957</b> (7.6), <b>3.10.0-1062</b> (7.7), <b>3.10.0-1127</b> (7.8)
and <b>3.10.0-1160</b> (7.9).
<br><br>
Therefore, I've grabbed the mpss-modules source tarball and patched it, so that it can
be compiled for a 3.10.0-862, 3.10.0-957, 3.10.0-1062, 3.10.0-1127 or 3.10.0-1160 kernel.
The resulting RPM and Source RPM (SRPM) can be download here, both for MPSS 3.8.6 and the
previous 3.8.5 release. The same patch is used for the 3.10.0-862 and 3.10.0-957 kernels,
but for the 3.10.0-1062 patch, the file <code>micscif/micscif_select.c</code> needed a small
patch. For the 3.10.0-1127+ patch, the file <code>host/vmcore.c</code> was patched to work
around an overlapping function name.

<h2>MPSS 3.8.6 on CentOS 7.9</h2>
<ul>
<li>RPM: <a href="mpss-modules-3.10.0-1160.el7.x86_64-3.8.6-4.x86_64.rpm">mpss-modules-3.10.0-1160.el7.x86_64-3.8.6-4.x86_64.rpm</a>
</li>
<li>dev RPM: <a href="mpss-modules-dev-3.10.0-1160.el7.x86_64-3.8.6-4.x86_64.rpm">mpss-modules-dev-3.10.0-1160.el7.x86_64-3.8.6-4.x86_64.rpm</a>
</li>
<li>SRPM: <a href="mpss-modules-3.8.6-4.el7_9.src.rpm">mpss-modules-3.8.6-4.el7_9.src.rpm</a>
</li>
</ul>
Note that this RPM is much small than its predecessors due to the addition of a line
<pre>
strip --strip-unneeded mic.ko
</pre>
to the <code>mpps-modules-3.8.6-centos79.spec</code> file.

<h2>MPSS 3.8.6 on CentOS 7.8</h2>
<ul>
<li>RPM: <a href="mpss-modules-3.10.0-1127.el7.x86_64-3.8.6-2.x86_64.rpm">mpss-modules-3.10.0-1127.el7.x86_64-3.8.6-2.x86_64.rpm</a>
</li>
<li>dev RPM: <a href="mpss-modules-dev-3.10.0-1127.el7.x86_64-3.8.6-2.x86_64.rpm">mpss-modules-dev-3.10.0-1127.el7.x86_64-3.8.6-2.x86_64.rpm</a>
</li>
<li>SRPM: <a href="mpss-modules-3.8.6-2.src.rpm">mpss-modules-3.8.6-2.src.rpm</a>
</li>
</ul>

<h2>MPSS 3.8.6 on CentOS 7.7</h2>
<ul>
<li>RPM: <a href="mpss-modules-3.10.0-1062.el7.x86_64-3.8.6-1.x86_64.rpm">mpss-modules-3.10.0-1062.el7.x86_64-3.8.6-1.x86_64.rpm</a>
</li>
<li>dev RPM: <a href="mpss-modules-dev-3.10.0-1062.el7.x86_64-3.8.6-1.x86_64.rpm">mpss-modules-dev-3.10.0-1062.el7.x86_64-3.8.6-1.x86_64.rpm</a>
</li>
<li>SRPM: <a href="mpss-modules-3.8.6-1.src.rpm">mpss-modules-3.8.6-1.src.rpm</a>
</li>
</ul>

<h2>MPSS 3.8.5 on CentOS 7.7</h2>
<ul>
<li>RPM: <a href="mpss-modules-3.10.0-1062.el7.x86_64-3.8.5-2.x86_64.rpm">mpss-modules-3.10.0-1062.el7.x86_64-3.8.5-2.x86_64.rpm</a>
</li>
<li>dev RPM: <a href="mpss-modules-dev-3.10.0-1062.el7.x86_64-3.8.5-2.x86_64.rpm">mpss-modules-dev-3.10.0-1062.el7.x86_64-3.8.5-2.x86_64.rpm</a>
</li>
<li>SRPM: <a href="mpss-modules-3.8.5-1.src.rpm">mpss-modules-3.8.5-2.src.rpm</a>
</li>
</ul>

<h2>MPSS 3.8.5 on CentOS 7.6</h2>
<ul>
<li>RPM: <a href="mpss-modules-3.10.0-957.el7.x86_64-3.8.5-1.x86_64.rpm">mpss-modules-3.10.0-957.el7.x86_64-3.8.5-1.x86_64.rpm</a>
</li>
<li>dev RPM: <a href="mpss-modules-dev-3.10.0-957.el7.x86_64-3.8.5-1.x86_64.rpm">mpss-modules-dev-3.10.0-957.el7.x86_64-3.8.5-1.x86_64.rpm</a>
</li>
<li>SRPM: <a href="mpss-modules-3.8.5-1.src.rpm">mpss-modules-3.8.5-1.src.rpm</a>
</li>
</ul>

<h2>MPSS 3.8.4 on CentOS 7.6</h2>
<ul>
<li>RPM: <a href="mpss-modules-3.10.0-957.el7.x86_64-3.8.4-2.x86_64.rpm">mpss-modules-3.10.0-957.el7.x86_64-3.8.4-2.x86_64.rpm</a>
</li>
<li>dev RPM: <a href="mpss-modules-dev-3.10.0-957.el7.x86_64-3.8.4-2.x86_64.rpm">mpss-modules-dev-3.10.0-957.el7.x86_64-3.8.4-2.x86_64.rpm</a>
</li>
<li>SRPM: <a href="mpss-modules-3.8.4-2.src.rpm">mpss-modules-3.8.4-2.src.rpm</a>
</li>
</ul>

<h2>MPSS 3.8.4 on CentOS 7.5</h2>
<ul>
<li>RPM: <a href="mpss-modules-3.10.0-862.el7.x86_64-3.8.4-2.x86_64.rpm">mpss-modules-3.10.0-862.el7.x86_64-3.8.4-2.x86_64.rpm</a>
</li>
<li>dev RPM: <a href="mpss-modules-dev-3.10.0-862.el7.x86_64-3.8.4-2.x86_64.rpm">mpss-modules-dev-3.10.0-862.el7.x86_64-3.8.4-2.x86_64.rpm</a>
</li>
<li>SRPM: <a href="mpss-modules-3.8.4-2.src.rpm">mpss-modules-3.8.4-2.src.rpm</a>
</li>
</ul>

<h2>Installation</h2>

You can install or upgrade the <code>mpss-modules</code> file using

<pre>
rpm -ivh https://www.nikhef.nl/~janjust/mpss/mpss-modules-3.10.0-1160.el7.x86_64-3.8.6-4.x86_64.rpm
</pre>

<b>Note</b>
<br>
Normally, a <code>weak-updates</code> link is created when a module is installed, e.g.
<pre>
$ ls -al /lib/modules/3.10.0-862.6.3.el7.x86_64/weak-updates/
total 4
drwxr-xr-x 2 root root 20 Jul 5 16:58 .
drwxr-xr-x 7 root root 4096 Jul 5 16:58 ..
lrwxrwxrwx 1 root root 47 Jul 5 16:58 mic.ko -&gt; /lib/modules/3.10.0-862.el7.x86_64/extra/mic.ko
</pre>

This link is needed for the existing kernel to find the <code>mic.ko</code> file. If the module cannot
be found after installing the <code>mpss-modules</code> RPM then you can simply create it yourself, or
re-install the kernel RPM.

<hr>
<small><a href="index.html">MPSS Main</a> |
MPSS CentOS 7 |
<a href="xeon-phi-mpss-centos8.html">MPSS CentOS 8</a> |
<a href="xeon-phi-mpss-ubuntu.html">MPSS Ubuntu</a>
</small>
</body>
</html>
Loading

0 comments on commit a39728e

Please sign in to comment.