Quantcast
Channel: Intel Developer Zone Articles
Viewing all articles
Browse latest Browse all 3384

Prominent features of the Intel® Manycore Platform Software Stack (Intel® MPSS) version 3.4

$
0
0

The Intel® Manycore Platform Software Stack (Intel® MPSS) version 3.4 was released on September 22, 2014. This page lists the prominent features in this release.

  • Intel® MPSS
    • Changes to the uninstall script in Linux* for custom built RPMs
    • Support for ntpd in the initramfs for the Intel® Xeon Phi™ coprocessor
  • COI
    • New APIs to read/write non-contiguous memory
  • Heterogeneous Streams - Preview
  • Microsoft® Windows*
    • Dynamic linking of Microsoft® Windows* binaries and moving from MSI to setup.exe
    • CIFS support for Microsoft® Windows* hosts
  • Intel® MPSS Tools
    • Launch icon for the Intel® Xeon Phi™ coprocessor control panel tool
    • Diagnostic tool is available on Linux* based hosts
    • Smoothing out power/thermal throttling events as reported by the micsmc tool command line interface (CLI)

Intel® MPSS

  • Changes to the uninstall script in Linux* for custom built RPMs: In previous Intel® MPSS releases, the uninstall.sh script only lists RPMs that are shipped in binary form as part of the general release.  As an example, this includes kernel RPMs like mpss-modules and ofed-driver. As a consequence, when the shipped source RPMs are used to build binary RPMs (for a different version of the kernel for instance), the uninstall script isn’t aware of these new RPM files and will not uninstall them automatically. This required additional steps to manually remove these custom built RPMs. The uninstall script has now been extended to remove kernel module RPMs as well.
     
  • Support for ntpd in the initramfs for the Intel® Xeon Phi™ coprocessor: The 2.x versions used to have support for the busybox version of ntpd. This has been brought back and is now part of the initramfs image that the coprocessor boots with as part of this release.
     
  • Intel® MPSS can now be installed on a system with no Intel® Xeon Phi™ coprocessor: Beginning with the 3.4 release, the micctrl utility supports the --destdir option, which prepends the specified directory to all files created by micctrl.  This allows system administrators to create complete configurations, including all files created by micctrl,on a central node on the cluster to be used on other nodes on the cluster.  The “destdir” directory created could be copied to the target node or it may be copied to a file system intended to be pushed to a particular node in the cluster.  Then on the target node, the system would restart the network and Intel® MPSS services.  For further details, please see the micctrl --help. For additional details, please refer to the Intel® MPSS user guide.

Coprocessor Offload Infrastructure (COI):

  • New APIs to read/write non-contiguous memory: For workloads that need to  efficiently transfer a sub-array of a larger array between host and the Intel® Xeon Phi™ memory, we introduce two new COI API's, COIBufferWriteMultiD() and COIBufferReadMultiD() to enable such transfers efficiently. As an example, in cases where the arrays being operated on are simply too large to fit in the coprocessors memory, it is necessary to decompose the problem so that the code is operating on sub-arrays of the source arrays. Additionally, programming models where data is decomposed, so that data transfers to and from the coprocessor can be performed concurrently with execution, also requires decomposition of the array data and APIs to efficiently transfer such sub-arrays to the coprocessor.

    A point to note is that such sub-arrays are not expected to be contiguous in memory, so transferring them currently requires transferring each sub-array as a COI 1-dimensional transfer. The new 2D and 3D COI APIs are expected to reduce the overhead (dozens of COI calls are now implemented as a single API call) incurred and therefore improve BW and the performance of the application using them.

    For additional details on the APIs, please refer to the header file: /usr/include/intel-coi/source/COIBuffer_source.h or the relevant man pages one Intel® MPSS in installed.

Heterogeneous Streams

  • When it comes to managing concurrency, simpler is often better.  A FIFO stream is about as simple as it can get!  Intel’s newest concurrency offering is called hStreams - a library interface for concurrent streams in a heterogeneous context.  The Preview Release of hStreams is installed as part this Intel® MPSS release.  hStreams primitives enable users to enqueue computation and communication in streams, enabling concurrency among the host and one or more coprocessors, among tasks within a coprocessor, and between communication and computation.  hStreams code is portable to future implementations with heterogeneous clusters.  hStreams makes it easy to manage remote memory allocation and transfers between the host and coprocessor.  It allows for explicit synchronization between the host and card and among streams when necessary.  Users can write and compile their own code for remote execution on an Intel® Xeon Phi™ coprocessor, or use stock gemm, memcpy and memset building blocks.  The user-provided code can be threaded and vectorized to make full use of a portion of the machine resources, e.g. using OpenMP 4.x.  The C API allows flexible inclusion in source codes written in many languages. 

    hStreams is designed to cover functionality that is similar to third-party streaming APIs, such that it can readily be enabled. For details on how to make to link with this library see hStreams_Usage.pdf. The hStreams_Overview.pdf and hStreams_Reference.pdf also provide additional references in /usr/share/doc/hStreams (Linux*) or C:\Program Files\Intel\MPSS\docs\hstreams (Microsoft® Windows)


Microsoft® Windows

  • Dynamic linking of Microsoft® Windows* binaries and moving from MSI to setup.exe: This change was made in Intel® MPSS to minimize the installation footprint and to be consistent with the industry standard way of deploying binaries. Until the previous release, binaries for Windows in Intel® MPSS were statically linked with Visual Studio 2012 C++ runtime components, this release dynamically links those components. To accommodate those changes in what we deliver, Intel® MPSS for Windows host platforms will now need the Visual Studio 2012 C++ redistributable package as an installation dependency for successful installation and function. Keeping this in mind, Intel® MPSS executables for Windows hosts include a setup program (setup.exe) rather an MSI based installer. The setup program bundles the Visual Studio 2012 C++ redistributable package as an installation dependency. If the package is not already available on the target host, it will be installed automatically from the setup program with no need for internet connectivity or additional downloads.
     
  • CIFS support for Microsoft® Windows* hosts: Starting with this release, support for the Common Internet File System (CIFS) to mount fand thus share folders between the Windows host and coprocessor, has been added. CIFS was enabled keeping in mind that Network File System (NFS) support  is only available on Microsoft Windows Server versions.

    To enable support for CIFS, micctrl now supports a new option (as shown below) that prepares the setup required for mounting shared public folders: 

                                     micctrl --addcifs <host share name> <card mount point> [mic card list]

    The above will add the appropriate CIFS entries to the right Intel® MPSS configuration file with the required mount options. This configuration file then ends up in the coprocessor file system (fstab) and will be used on a subsequent reboot of the Intel® Xeon Phi™ coprocessor to create and mount the CIFS mount points. It must be noted that CIFS is built as a module for the coprocessor kernel and the cifs-utils package is added to the initramfs to enable the mount of a CIFS mount point on the coprocessor.

    The method allows auto mounting (as guest) of exported shares from the Microsoft® Windows host requiring that sharing be enabled with “Everyone”. To export password protected shares, a privileged user can manually create a CIFS mount point by providing credentials from the command prompt.

MPSS Tools

  • Launch icon for the Intel® Xeon Phi™ coprocessor control panel tool: This tool now has a unique application launcher that looks like the following on Microsoft® Windows* hosts:

                                                   

  • Many Integrated Core Diagnostic tool (MicDiag) for Linux* based hosts: Intel® MPSS provides a diagnostic tool, called MicDiag, for use on Linux* based hosts. The tool includes the following diagnostic tests and is expected to be useful in finding hardware and software problems with the installation. The standard command line for this tool is:

                                    /usr/bin/MicDiag -<testGroup> -<testCommand> [-all] [-skipOnFail]

           The test group includes support for the following subsystems: 

  • PCIe
  • Memory
  • Core
  • DMA
  • SMC

    For additional details please use the MicDiag help (-h) option.
     
  • Smoothing out power/thermal throttling events as reported by the micsmc tool command line interface (CLI): Under certain conditions, the power/thermal throttle event count reported from the command line invocation of the micsmc tool has exhibited occasional spurious events, especially when power and thermal throttle events occur synchronously. To minimize the issue, the micscm CLI, which previously queried each target Intel® Xeon Phi™ device and reported the throttle count received, now samples each device 10 times at 100 millisecond intervals and reports the average of the counts received. 

    While the result above is not very interesting, and the output is not very different from what this tools output looked like in previous Intel® MPSS releases, the values of “Current throttle time” and “Throttle event count” are affected (averaged) by this change.
         # micsmc --tthrottle
            mic0 (tthrottle):
            Throttle state: ......... inactive
            Current throttle time: .. 0 msec
            Throttle event count: ... 0
            Total throttle time: .... 0 msec

        # micsmc --pthrottle
           mic0 (pthrottle):
           Throttle state: ......... inactive
           Current throttle time: .. 0 msec
           Throttle event count: ... 0
           Total throttle time: .... 0 msec

Intel, Xeon, and Intel Xeon Phi coprocessor are trademarks of Intel Corporation in the U.S. and/or other countries.

* Other names and brands may be claimed as the property of others.

Viewing all articles
Browse latest Browse all 3384

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>