Having recently made another posting on High Performance Computing, I was quite surprised to receive a guest post from my colleague Pete Decher, who is HPC Business Development Manager at Mentor Embedded. Apart from providing tools and IP for embedded software development, the Mentor Embedded team have a lot of history and experience of contributions to the open source community and the definition of standards. It is the latter efforts that concern us today.
I will hand over to Pete …
The Object Management Group (OMG) just announced the adoption of the VSIPL and VSIPL++ standards. Both the OMG and the VSIPL++ standard have been around separately for quite a while. The adoption of the VSIPL++ standard by the OMG is expected to help spread the benefits of VSIPL++ to much broader audience. OMG is an international standards body, founded in 1989, which maintains key industry standards such as UML and CORBA. They also help promote the creation and adoption of new standards across a wide range of technologies. The VSIPL++ (Vector Signal Image Processing Library for C++) standard defines a high-level C++ function and data model API for developers of high performance computing software such as image and signal processing applications.
The VSIPL++ API is designed to serve as a high-level abstraction layer and programming model that insulates developers from the low-level details of programming hardware processors and accelerators, such as GPUs. The VSIPL and VSIPL++ standards were incubated and refined by the High Performance Embedded Computing Software Initiative (HPEC-SI) over the last decade with the objective of providing a “write-once/run-anywhere” programming model. HPEC-SI was funded by the DoD and thus has a primary focus on serving the needs of the US Military. During this same timeframe CodeSourcery developed a commercial implementation of VSIPL++ called Sourcery VSIPL++. Mentor Graphics’ Embedded Software Division acquired CodeSourcery in late 2010.
Also, during the last decade, the potential compute power available on embedded platforms has been increasing quite dramatically. With recent introductions of single board computers and SOCs containing multi-core CPUs combined with GPU, DSP and FPGA co-processors, embedded developers now have access to what was not too long ago considered supercomputing -type hardware. However, programming these new powerful hardware platforms to gain access to the full performance potential is quite painful and often results in code that is very platform-specific. To help better address the needs of embedded developers working on HPC applications around the globe and across a variety of markets, Mentor Graphics worked with the HPEC-SI members and OMG leadership to transition the VSIPL++ standard from HPEC-SI to the OMG. Thus, the VSIPL++ standard, which was incubated by HPEC-SI with a military application focus, is now well poised to help provide improved developer productivity and software portability while ensuring maximum application performance for a global community of embedded developers in a variety of domains.
If you’d like to take a closer look, you can view the OMG VSIPL++ API specification and here is a video presentation on Sourcery VSIPL++:
If you’d like to see the standard in action with your software, you can sign up for a free 30 day evaluation of the Sourcery VSIPL++ product. And if you are totally passionate about this standard and its future, we would love to have you join us at the OMG HPEC Working Group meeting on December 11th during the December OMG meeting in San Francisco, CA.
Now that I’ve shared our grand vision with you, I am curious; do you consider any of this potentially helpful for your work? I’d like to hear from you if you are facing performance, productivity or portability issues in the development of your high performance embedded applications by email or comment.