1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Intel Open-Sources "Knights Corner" Linux Code

Intel

Published on 13 June 2012 01:08 PM EDT
Written by Michael Larabel in Intel
5 Comments

Intel has published open-source code for supporting the Knights Corner micro-architecture on Linux.

Last week Intel pushed out code for Knights Corner, but up to now it seems the Linux support has been largely unnoticed. Knights Corner is the 22nm successor to Knights Ferry and part of Intel's Many Integrated Core (MIC) Architecture that is derived from their Larrabee project back in the day. Intel Knights Corner hardware should begin surfacing in the coming months in limited quantities and will feature 50+ cores per chip. Early hardware of Knights Corner has been shown going back to last November.

On the 5th of June, the first open-source Linux code for Knights Corner was published. The software stack consists of embedded Linux, a modified GCC compiler, and a software driver. Intel's also modified GDB for Knights Corner debugging support. Intel calls this Knights Corner stack the MPSS, short for the "Intel Many Integrated Core (MIC) Platform Software Stack." This stack uses the Linux 2.6.34 kernel and is tested against Red Hat Enterprise Linux 6 and SuSE Linux Enterprise Server 11.

As far as what the code does, "The open source updates we have made are in support of the instruction set, the ABI, initializing and controlling an SMP on-a-chip, and the glue software to support the coprocessor communication with the host system. The Symmetric Communications Interface (SCIF) is included in the RPM bundle. SCIF provides a mechanism for inter-node communications within a single platform. A node, for SCIF purposes, is defined as either a Knights Corner device or the Intel Xeon processor. In particular, SCIF abstracts the details of communicating over the PCI Express bus. The SCIF APIs are callable from both user space (uSCIF) and kernel-space (kSCIF)."

The GCC changes work for the Knights Ferry prototype board or the Knights Corner co-processor. However, not supported right now is the Knights Corner vector instructions and optimization improvements. "GCC for Knights Corner is really only for building the kernel and related tools; it is not for building applications. Using GCC to build an application for Knights Corner will most often result in low performance code due its current inability to vectorize for the new Knights Corner vector instructions. Future changes to give full usage of Knights Corner vector instructions would require work on the GCC vectorizer to utilize those instructions’ masking capabilities. This is something that requires a broader discussion in the GCC community than simply changing the code generator."

Linux kernel changes to enable Knights Corner include "little changes" for supporting the Intel Pentium processor core with 64-bit and special vector instructions, power management support, and introducing the Knights Corner machine check architecture. Much of the other Knights Corner Linux kernel code reuses the Intel Pentium processor support code.

Additional information on the Knights Corner open-source code drop is available from this Intel.com blog post.

There's also a separate blog post on the Knights Corner micro-architecture support. Below are some quotes from that posting.

- "The software stack download includes source for an embedded Linux environment which runs on Knights Corner coprocessors along with the driver code that connects Knights Corner coprocessors to a host processor. To build this code stack, we have included a minimally modified GCC compiler. To support application development, we have enabled GDB. This is just the beginning! The Intel Parallel Studio XE and Intel Cluster Studio XE products for Linux are also entering public field-testing, including support for Knights Corner coprocessors. These high-performance, familiar and popular tools simply support Knights Corner as another target without requiring new tools or separate product purchases. A number of other vendors are working on their support for Knights Corner as well in their familiar and popular products."

- "The MIC architecture is specifically designed to provide the programmability of an SMP system while optimizing for power efficiency and highly parallel workloads. Knights Corner is the first product to use this architecture and deliver on this exciting vision. It’s an SMP on-a-chip."

- "This combination of Linux, 64-bits, and new vector capabilities with an Intel® Pentium® processor-derived core, means that Knights Corner is not completely binary compatible with any previous Intel processor."

- "Knights Corner is a coprocessor so it lives in a system with a regular “host” processor that boots up the overall system and orders the coprocessor around. This is a product design, not an architectural feature. While it is an SMP-on-a-chip, we can think of Knights Corner as an embedded system from the standpoint of the operating system. Therefore, Knights Corner boots and runs an embedded Linux kernel and is connected to the main system through enabling software which lives in drivers on both the host system and the embedded system. The changes to open source components are in support of the instruction set choices, the ABI, initializing and controlling an SMP on-a-chip, and the enabling software to support the coprocessor communication with the host system."

Fun Fact: One of the original developers on the Larrabee project who was working on the software stack was Mike Sartain via RAD Game Tools, who is now at Valve and one of the developers heavily involved with the Steam / Source Engine Linux client efforts. Michael Abrash was also involved with Larrabee and is also at Valve, but working on other projects.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. NVIDIA GeForce GTX 970 Offers Great Linux Performance
  2. CompuLab Intense-PC2: An Excellent, Fanless, Mini PC Powered By Intel's i7 Haswell
  3. From The Atom 330 To Haswell ULT: Intel Linux Performance Benchmarks
  4. AMD Radeon R9 285 Tonga Performance On Linux
Latest Linux Articles
  1. Ubuntu 14.10 XMir System Compositor Benchmarks
  2. Btrfs RAID HDD Testing On Ubuntu Linux 14.10
  3. Ubuntu 14.10 Linux 32-bit vs. 64-bit Performance
  4. AMD Moves Forward With Unified Linux Driver Strategy, New Kernel Driver
Latest Linux News
  1. Open-Source, Linux Support For Corsair Link Devices Slowly Materializing
  2. Cairo-Dock 3.4 Shows A Lot Of Progress, Works Toward EGL/Wayland Support
  3. Mesa 10.4 Tentatively Planned For Early December
  4. SteamOS Update 145 Brings Compositor, Update Fixes
  5. GStreamer 2014 Conference Videos Posted: Wayland, HTML5, 3D
  6. Nouveau Now Supports DRI3 Without GLAMOR
  7. Features Of The Linux 3.18 Kernel
  8. Debian Now Defaults To Xfce On Non-x86 Desktops
  9. Phoenix Is Trying To Be An Open Version Of Apple's Swift
  10. Linux 3.19 To Have Skylake Graphics, PPGTT Enablement
Latest Forum Discussions
  1. HOPE: The Ease Of Python With The Speed Of C++
  2. Users/Developers Threatening Fork Of Debian GNU/Linux
  3. Ubuntu 16.04 Might Be The Distribution's Last 32-Bit Release
  4. AMD Releases UVD Video Decode Support For R600 GPUs
  5. Proof that strlcpy is un-needed
  6. xbox one tv tuner
  7. Bye bye BSD, Hello Linux: A Sys Admin's Story
  8. Updated and Optimized Ubuntu Free Graphics Drivers