Industrial manufacturers are always looking for faster and more efficient factory automation systems to increase production rates and lower costs while extending their lifecycle to interact with multiple generations of technology. At the same time, the demand for faster response times, complex functionality, and instant data access extends the embedded design challenge. To meet these evolving requirements, designers have transitioned to high performance architectures with multiple processing units to boost performance through parallel processing and to minimize hardware costs by combining platforms. Although developers have access to multiple techniques to enable this performance gain including symmetric or asymmetric multiprocessing and virtualization, the Open Computing Language (OpenCL) framework combined with Intel architecture delivers a unique technology to significantly improve the speed and responsiveness for a wide range of industrial applications.
OpenCL is an open, royalty-free standard for parallel programming of heterogeneous platforms with multiple processing units (See figure 1). Programmers can write a single portable program that employs all the computing resources in a multi-core platform such as the 3rd Generation Intel® Core™ family formerly codenamed Ivy Bridge. OpenCL extends the power of the graphics processing unit beyond graphics and allows any application to access to the graphics processing unit for non-graphical computing. The open standard includes a language for writing kernel functions and application programming interfaces (APIs) that are used to define and control the individual parallel platforms. OpenCL is maintained by the Khronos Group consortium and the latest version, OpenCL 1.2, was released in November 2011. You can download the core API and SPIR (Standard Portable Intermediate Representation) specification, headers, and documentation from the Khronos website.
Intel is a contributing member of the Khronos Group consortium and provides a software development kit (SDK) implementing the OpenCL standard optimized for Intel processors running Microsoft Windows and Linux operating systems. The Intel® OpenCL SDK makes it easy for developers to design, build, debug, and profile OpenCL applications targeting Intel processors. Now available for free download, the Intel® OpenCL SDK 1.5 is fully conformant with the OpenCL 1.1 specification for the CPU and with Microsoft Windows 7 operating systems. In addition, Intel recently released the Intel® SDK for OpenCL Applications 2013, an updated, beta development environment for OpenCL applications for Windows 8 and Linux operating systems that support 3rd Generation Intel® Core™ processors with Intel® HD Graphics. In addition to parallel processing, the Intel® OpenCL SDK delivers performance improvements through full code generation using the Intel Advanced Vector Extensions (Intel® AVX) 256-bit instruction set extension designed for applications that are floating point intensive.
One of the fastest ways to take advantage of the Intel® OpenCL SDK in a new industrial system design is to incorporate a compatible, off the shelf processor board based on 3rd generation Intel® Core™ architecture. For example, the MSC CXB-6SI module from Intel® Intelligent Systems Alliance member MSC Vertriebs, offers several versions of the quad core Intel processors along with up to 16 GB of dual channel DDR3-1600 memory, multiple display interfaces and an optional NAND Flash silicon disk (See figure 2). This new COM Express module delivers lower power consumption with simultaneously higher clock rates and an improved graphics and video performance compared to previous generations. The Intel® HD 4000 Graphics controller also offers an improved video and graphics acceleration and provides support for three independent displays. The MSC CXB-6SI supports OpenCL 1.1 so that the graphics engines can also be used for applications that require extensive use of floating-point computations.
When combined with off-the-shelf, 3rd generation Intel® Core™ processors and the free-to-download Intel® SDK, OpenCL becomes a noteworthy strategy for significantly increasing the number crunching performance of factory control systems. These powerful architectural and software features supply the embedded designer with new tools that promise to change the future of high performance industrial systems. If you think that OpenCL and Intel® Core architecture can improve performance of your industrial project please share your concerns, questions, and successes with fellow followers of the Intel® Embedded Community. You can also keep up with the latest technical articles and product announcements at the Embedded Computing Design archives on OpenCL.
To learn more about the design of industrial systems, see “Top Picks – Industrial”
To view other community content on performance, see "Performance - Top Picks”
Microsoft Corporation is an Associate member of the by Intel® Intelligent Systems Alliance. MSC Vertriebs GmbH is an Affiliate member of the Alliance.