With new specification, run one application across devices

Raw horsepower has always been important measuring stick for performance of mobile devices and PCs, but it's also important to determine whether applications are written to exploit all the available hardware features.

Through a new specification announced on Monday, the Heterogeneous System Architecture (HSA) Foundation wants to provide a common framework through which developers can write an application once and then run it across servers, mobile devices, gaming consoles, appliances and PCs running on different processors.

The HSA 1.0 specification provides underlying guidelines so applications can also effectively harness the joint computing power of processing units available in computing devices. It is the first specification released by the HSA Foundation since it was established in 2012.

The goal of HSA 1.0 is to not only ensure programs run faster, but also more power-efficiently. Some applications, like graphics software, can consume a lot of power, and balancing processing across GPUs, CPUs and specialized chips could help extend battery life on devices.

The benefit is limited to those programs written using the HSA 1.0 spec, and to the hardware supporting it. It's also up to operating system providers to support the specification and build in drivers so that compiled programs can exploit the hardware features.

Hardware in mobile devices and PCs is getting increasingly complex, and it's a growing challenge for programmers to write applications for multiple devices. The new specification would allow developers to write applications that are architecture agnostic, meaning a single program will work across x86 and ARM CPUs.

Multicore programming has also been a challenge since the days of Windows, with most of the processing happening on or via the CPU. But GPUs are becoming important at processing video, and digital signal processors are handling tasks like voice recognition, processing audio and taking calls. The HSA 1.0 specification automatically assigns tasks to relevant cores, relieving stress on developers of programming for task execution tasks on specific cores.

There are other open parallel programming standards like OpenCL trying to solve the same issue, but they are mostly used in supercomputing. Some of the world's fastest supercomputers harness the joint computing power of CPUs, GPUs and accelerators for scientific and mathematical calculations. HSA Foundation has expressed a desire to succeed OpenCL with support for a wider range of devices.

Some big names backing the new standard include AMD, Qualcomm, ARM, Imagination Technologies, MediaTek and Samsung. AMD is designing its chips to be compatible with HSA standards by breaking the stranglehold on CPUs -- which have typically played a big role in scheduling execution of programs -- and providing direct access to memory and other processing cores. Through the HSA chip design, AMD in particular wants CPUs and GPUs to be equal players in program execution, particularly with more importance being placed on graphics in PCs, mobile devices and supercomputers.

But key companies like Intel and Nvidia are not participants in HSA, which could hobble the specification's adoption. Nvidia's proprietary CUDA standard is designed for its Tesla supercomputing graphics chips and Tegra mobile chips, and Intel is providing its own parallel programming suite for use with its chips. The companies have a lot running on their proprietary programming standards, which could help improve chip sales.

HSA 1.0 will initially support popular programming languages like Java, C++, OpenMP, Python and others. Companies will also have to ensure their hardware is compatible with specifications. Qualcomm, which is one of the world's largest mobile chip vendors, has said the custom CPUs, Adreno GPUs and digital signals processors will be HSA compatible. Imagination Technologies, MediaTek and chip designer ARM also said they will bring HSA compatibility on chips and processor designs in the future.

Copyright 2018 IDG Communications. ABN 14 001 592 650. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of IDG Communications is prohibited.