What is Intel P-Core?

What is Intel P-Core
What is Intel P-Core

Searching for What is Intel P-Core then here is your search ends .The Intel Xeon Phi coprocessor, codenamed Knights Corner, also known as P-Core or just P , is a multipurpose x86 manycore processor that uses the Micron EMIB to connect its cores.

It can be used for HPC tasks like simulations and GPGPU tasks like video transcoding.

The KNL architecture has not changed since 2014 so if you have read about it back then you pretty much know everything there is to know about the current version of the intel p-core.

Recommended read : Top 10 Best Intel Processors [Best Deals Of 2021]

How Does This Chip Connects To Other Devices?

There are four DMA engines with 4 QPI links each (8 QPIs in total). Each link supports 32 byte send/receive per qpi clock and can be configured as uni-directional.

So that’s 128 bytes per qpi cycle or 2 GB/sec bi-directional bandwidth between KNL and QPI_HNA, QPI_LB,QPI_HB devices (assuming those are coherent with HSW).

There is an interconnect called On-Package Ring Interconnect (OPRI) which is the interface between the MCDRAM and cores. It also connects to the L3 cache directly on the die. This is basically a point to point very fast connection.

By default it has 40GB/s throughput but it could support more than 80GB/s depending on how many mcdram clients it needs to feed.

There’s PCIe 3.0 x4, 2 lanes for cache-coherent devices like NUMA nodes and QPI_HNA, QPI_LB,QPI_HB etc.

There are four other PCIe 3.0 connections for local clients including network interfaces.

These are all the things you can do with P-Core: Run compute intensive simulation codes (CFD) which require strong single threaded performance. KNL offers the highest IPC so it’s good at this task.

Run complex statistical tasks which require high throughput because while a single core can’t offer that much theoretical IPC, KNL has many of them so they’ll be able to gang together on some workloads to give more than 1 TFLOP/s throughput.

Run CUDA/OpenCL based GPGPU applications when you need either performance, power efficiency or memory bandwidth. KNL excels at all of these tasks because it has wide SIMD registers, high clock rate and high IPC.

Run fast in-memory databases like SAP HANA which require both a lot of threads and a lot of FLOPS per thread so they can be accelerated by GPUs with OpenCL.

KNL is good at this task too because it features lots of cores, high clock rate and enough FLOPS per core to make it interesting for GPGPU applications. It’s also more efficient than AMD here because Knights Landing has far less PCI traffic compared to AMD’s Infinity Fabric making them more power efficient for this particular task.

Run software like Docker that is designed to run on multi-socket servers and requires the widest possible memory bandwidth (Intel Xeon).

KNL can offer such bandwidth since it has lots of cores, wide SIMD registers and high clock speed all adding up together making this chip very interesting for HPC workloads.

Run other programs similar to those listed above that compliment HPC applications or are useful standalone tools.

Read our article on: Best Processor For Gaming

Here are some examples:

1) PAPI Profiling API

2) ROOT object oriented intermediate C++ code used in particle physics

3) Stem Cell – portable, scalable data analysis programming interface

4) FreeMat / Octave – Matlab’s open source cousin

5) ITK – Image processing library

6) OpenFOAM – Partially open source CFD solver

7) NAMD/VMD – Particle dynamics simulator

8) Quantum ESPRESSO and Materials Design – Electronic structure and materials modeling

9) Caffe/Torch/TensorFlow – Deep Learning code

10) HPCG – High Performance Conjugate Gradients benchmark

Here are some ways by which P-Core cannot be used:

1 ) You can’t use it for gaming because it doesn’t have graphics processors.

2 ) You can’t use it for general purpose computing (GPGPU) like OpenCL or CUDA on consumer applications like Chrome, Firefox, Premiere Pro etc.

because P-Core doesn’t support 64 bit operating systems and only supports Linux 3.10+ with version 4.8 of GCC (in theory this could change if you compile your own kernel).

Only the latest versions of some Intel software support KNL under a 64 bit OS but that might not continue to be true in the future so don’t count on it until IEM is released and developers say “Yes!”

Also checkout : 8 Best Intel Processor For Gaming In 2021 [Top Deals]

Frequently Asked Questions:

1) Is intel P-Core going to be open source?

The hardware itself is open source but the supporting software is not. You can’t download P-Code or recompile it to work on any OS other than Linux.

2) Is P-Core available for sale?

Yes, since late November 2017 you can buy Knights Landing based servers from various manufacturers including Hewlett Packard Enterprise, Cray and IBM.

There are also DIY kits which include Whitebox KNL optimized nodes sold by eBay sellers based in China.

3) What KNL processors are available?

There are three different kinds of KNL processors currently available as follows:

A) First generation 32 bit single precision floating point TDP 65W Knights Landing (KNL).

B) Second generation 64 bit double precision floating point TDP 105W Knights Landing (KNL).

C) Second generation 64 bit single precision floating point TDP 50-55W Knights Mill (KNM).

4) Is KNL better than AMD Zen?

Depends on what you do. It depends on how many cores, clock rate and FLOPS per clock you need to get work done.

If your tasks are memory bandwidth or FLOP intensive then it is worth looking at the new Intel Xeon Phi SKUs but if your tasks are integer intensive only, don’t go for this chip because Zen will be more efficient than KNL in that case according to AnandTech .

5) What is P-Code ?

P-code is not Open Source software so it cannot be used on non-Linux operating systems.

P-Code is a compilation of the LLVM backend for OpenACC targeting KNL and it can run many HPC applications faster than other OpenACC compiler options like GCC, Intel Cilk Plus etc.

6) Is P-Code going to be open source?

I think not soon because even though there are efforts to create an open source alternative to P-Code , these efforts have not been successful so far.

In this case, what you see is what you get, so if you need programs that use intel P-Core in production today, buy from a vendor who supports it, otherwise wait until the software situation changes .

7) How do I download a compiler or library that works with P-Code?

If you are using a KNL development node, there is an option to install the PGI compiler and libraries for Intel Xeon Phi under the “Add software” menu. You can also contact Parallel Universe or another company who resells these tools to obtain them.

Please note that Caffe will only compile on Linux gcc 4.8 with compatibility options enabled so it won’t work on CPUs other than KNL without significant modifications because every computer runs different versions of GCC.

Leave a Comment