Login

Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

ARM websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.

ARM Community: What challenges does GPU Compute bring to verification of SoCs? - ARM Community

Jump to content

What challenges does GPU Compute bring to verification of SoCs?

As the demands on application processors continue to increase so does the complexity of the underlying SoCs. Also more application processors are bringing together the CPU and GPU IP into one SoC, often in multicore configurations, resulting in more focus needed on how we verify and validate the functionality of these processors. In this blog we are going to have a look at what has been done differently in the development of the ARM® MaliTM-T600 series of GPUs and the considerations have had to be taken into account for the first products that incorporate both graphics functionality as well as GPU Compute, targeting mobile and Smart TV end devices. This increase in SoC complexity, along with support for GPU Compute and high end APIs, changes how GPUs must be verified. Previously, graphics content could be used as one of the main methodologies to test simpler pipelines supporting graphics APIs, without the need for complex verification strategies. This is no longer the case. Today’s GPUs must adopt CPU influenced design and verification approaches to enable GPU Compute to be successful. There are different tolerance levels of accuracy between graphics and GPU compute functionality. Visual perception sets the level of accuracy needed for graphics, defined by what the human eye can see. This gives more flexibility when running simpler graphics APIs, which enables more tolerance when it comes to verification. GPU Compute has much tighter precision tolerance, with compliance to IEEE 754-2008 necessary. Precision inaccuracies will result in incorrect results and can have affects on the system’s stability as a whole.

CPU development strategies were applied to the development of the Mali-T6xx series from the product inception. We were able to combine the 20+ years of CPU development expertise we have at ARM, along with Mali graphics expertise, to achieve the multi-layered, multi-pronged strategy required. We know from experience that it takes a long time to develop the necessary verification skills and expertise, and that it is not easy to recruit this expertise. So when we started the Mali-T6xx product development we transferred a team of CPU design and verification engineers into the team developing Mali GPUs. This enabled us to apply all of the necessary techniques and methodologies right from day one.

What does multi-pronged and multi-layered verification mean? Well, there is no such thing as a silver bullet in verification. Different methodologies have different strengths. At ARM we apply multiple methodologies at multiple levels of design hierarchy, and apply multiple verification techniques to each area of functionality, to ensure thorough overall test coverage of the design, both in isolation and importantly within the system. Testing spans individual units of functionality in isolation right through to system level testing where the hardware and software stack are tested together in a real system with GPU and CPU together.

Going back to the original question – how difficult is it to verify GPU Compute? Well it’s a very different problem to verifying graphics alone since it requires different techniques and more accuracy in checking both precision and functionality. Whilst making it harder to achieve comprehensive verification. At ARM we take verification of our IP very seriously. We invest a lot of effort and resource into verification methodologies, working alongside most major EDA vendors as either early adopters or early drivers of new methodologies, as well as making significant investment into our own in-house tools. The team developing Mali have leveraged ARM’s CPU expertise and verification legacy, combined with our graphics expertise, to provide the right strategy for development of the Mali-T6xx family.

Gary Campbell, Director of Engineering, Media Processing Division, ARM. Gary started his career at Inmos working on analogue and digital designs, before joining ARM in 1998 as a CPU designer. Gary worked on numerous CPU developments, and spent 3 years managing CPU development in Cambridge before transferring to the Media Processing Division in 2009 to lead graphics engineering activities.
All company and product names appearing in the ARM Blogs are trademarks and/or registered trademarks of ARM Limited per ARM’s official trademark list. All other product or service names mentioned herein are the trademarks of their respective owners.

0 Comments On This Entry

Please log in above to add a comment or register for an account

 
Maximise
Minimise
» 

My Blog Links

» 

Recent Entries

» 

ARM Onsite

» 

Search My Blog