Archive

Posts Tagged ‘gpu’

Freescale i.MX6 DualPlus and QuadPlus SoCs Gets Faster 2D and 3D Graphics, Higher Memory Bandwidth

August 11th, 2015 5 comments

Freescale unveiled three new models for its i.MX 6 family processor for consumer, industrial and automotive markets in May. Two models are an upgrade to existing i.MX6 Quad and i.MX6 Dual processors, as the new i.MX 6QuadPlus and i.MX6DualPlus processors features four and two Cortex A9 cores, together with improved 2D and 3D GPUs delivering around 50% faster performance, an “optimized” SDRAM controller, more SRAM, and a prefetch and resolve engine. The third model, i.MX 6UltraLite, features a single ARM Cortex A7 core and hardware security, and targets applications such as electronic Point Of Sales (ePOS).

Freescale i.MX6 Processor Family

Freescale i.MX6 Processor Family (Click to Enlarge)

That means there are now 9 i.MX6 processors, and today, I’ll focus on the two new “Plus” versions. Since they are based on the original i.MX6 Quad and i.MX6 Dual processors, the best way to have a look at these is to compare them to their predecessors.

Features i.MX 6QuadPlus i.MX 6Quad i.MX 6DualPlus i.MX 6Dual
CPU 4x ARM Cortex A9 up to 1.2GHz 2x ARM Cortex A9 up to 1.2GHz
I-Cache/D-Cache 32KB/32KB L1, 1MB L2
Embedded SRAM 512KB 256KB 512KB 256KB
Memory Interface 2x 32 LP-DDR2, 1-ch, x 64 DDR3/LV-DDR3, Page and Channel Interleaving at 533 MHz
Hardware Video Acceleration Open GL ES 1.1/2.0/3.0
OpenCL 1.1 EP
OpenVG 1.1, 2DBLT, 8 layer composition, 4 shaders, 720 MHz, embedded prefetch and resolve engine
Open GL ES 1.1/2.0/3.0
OpenCL 1.1 EP
OpenVG 1.1, 2DBLT, 2 layer composition, 4 shaders, 594 MHz
Open GL ES 1.1/2.0/3.0
OpenCL 1.1 EP
OpenVG 1.1, 2DBLT, 8 layer composition, 4 shaders, 720 MHz, embedded prefetch and resolve engine
Open GL ES 1.1/2.0/3.0
OpenCL 1.1 EP
OpenVG 1.1, 2DBLT, 2 layer composition, 4 shaders, 594 MHz
Package 21 x 21 BGA 0.8mm

So we can see the SRAM doubled, GPU improvements include a faster shader frequency (720 MHz vs 594 MHz), and 8-layer composition support instead of just two, and the prefetch and resolve engine. Strangely the “newly optimized 64-bit DDR3/LVDDR3/LPDDR2-1066 memory interface to increase bus bandwidth ” is not reflected in this table, and the company did not name Vivante has the GPU vendor. The good news is that the news parts use the same package, and actually pin-to-pin compatible, meaning in due time we may see Wandboard Quad Plus or UDOO Quad Plus or other boards and products coming to market.

Freescale i.MX 6QuadPlus Block Diagram

Freescale i.MX 6QuadPlus Block Diagram

All other features and peripherals are identical including video playback capabilities, Gigabit Ethernet, SATA, low speed I/Os, and so one. The data in this table has been extracted from Freescale’s i.MX 6 Series Comparison Table.

Freescale posted a video comparing the 2D and 3D graphics performance of i.MX 6QuadPlus against i.MX 6Quad with a memory bandwidth, fractal, texture and 8-layer composition demos, indeed showing significant performance improvement in the order of 50% to over 100%.

i.MX 6DualPlus and i.MX 6QuadPlus processors have been sampling since May, but mass production is only planned for October 2015, while i.MX 6UltraLite processor must have started sampling in July 2015, with no date announced for production. More information should soon be available on Freescale i.MX6 product page.

Thanks to Nanik.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Google Plans Vulkan API Support for Android, Imagination Shows a Demo

August 11th, 2015 No comments

Vulkan graphics API is the successors to OpenGL and OpenGL ES API, which will support multi-threaded rendering, move some of the complexity to the applications, and simplify graphics drivers, which may not be a bad things since these tend to be closed source, and bugs may be hard to get fixed. Google, which is now a subsidiary of a new company called Alphabet,  has recently announced that Vulkan will be implemented in future versions of Android, although OpenGL ES will still be supported, so developers can select their preferred graphics API for their apps, as Vulkan will be more complex for application programmers than OpenGL ES.

OpenGL_ES_vs_VulkanSeparately, Imagination technologies showcased their Vulkan driver for PowerVR Rogue GPU on the Nexus Player powered by an Intel SoC including a PowerVR G6430 GPU, and compare the Vulkan demo to the same demo using OpenGL ES 3.0 drivers.


The difference between Vulkan and OpenGL ES 3.0 looks amazing, with Vulkan performing much better, but Imagination explains that this demo is an “exaggerated scenario that is intended to highlight and amplify Vulkan’s strengths. It is not intended to show OpenGL ES in a bad light – we are deliberately using OpenGL ES in a way that it was not designed for.” So I’m not sure if we can draw that many conclusions from the demo.

Imagination Technologies blog post explains the implementation and Vulkan advantage in much more details, such as lower CPU usage, and multi-threading support.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

ODROID-XU4 Development Board is a Smaller and Cheaper Version of ODROID-XU3 Board

July 14th, 2015 17 comments

Many people are expecting Hardkernel to launch an Exynos 7 board, but this won’t be with ODROID-XU4, maybe with ODROID-XU5, as the latest development board from Hardkernel is a modified version of ODROID-XU3 with the same Exynos 5422 octa-core processor with four Cortex-A15 cores @ 2GHz and four Cortex-A7 cores.
ODROID-XU4ODROID-XU4 board specifications (differences with ODROID-XU3 highlighted and sometimes crossed out in bold):

  • SoC – Samsung Exynos 5422 quad core ARM Cortex-A15 @ 2.0GHz quad core ARM Cortex-A7 @ 1.4GHz with Mali-T628 MP6 GPU supporting OpenGL ES 3.0 / 2.0 / 1.1 and OpenCL 1.1 Full profile
  • System Memory – 2GB LPDDR3 RAM PoP (750 MHz, 12GB/s memory bandwidth, 2x32bit bus)
  • Storage – Micro SD slot (up to 64GB) + eMMC 5.0 module socket (16, 32, and 64GB modules available)
  • Video Output – micro HDMI (Up to 1080p) and DisplayPort (up to 2160p)
  • Audio Output – HDMI, 3.5mm headphone jack, and optional S/PDIF out via USB module
  • Network Connectivity – 10/100/1000Mbps Ethernet (~880 Mbps measured with iperf). and optional USB Wi-Fi dongle with antenna
  • USB – 2x USB 3.0 host port, 1x USB 2.0 ports
  • Expansion – 30-pin header for access to GPIO, IRQ, SPI and ADC signals + 12-pin headers for GPIO., I2S, and I2C
  • Debugging – Serial console header
  • Misc – Accurate current sensors and voltage sensors for energy measurement, Power and RGB LEDs, cooling fan header, power button, RTC
  • Power Supply – 5V/4A power adapter using 5.5/2.1mm barrel.
  • Dimensions – 82 x 58 x 22 mm (ODROID-XU3: 94x70x18mm;)
  • Weight – 60 grams with fan
Block Diagram for ODROID-XU4 Board (Click to Enlarge)

Block Diagram for ODROID-XU4 Board (Click to Enlarge)

One of the cool changes is the HDMI type A connector replacing the micro HDMI port found on most other ODROID boards, and which (indirectly) caused issues for several people, including myself. The Ethernet port now supports Gigabit Ethernet, there are two full-size USB 3.0 host ports, a few more I/Os, and the board is smaller. However, a few ports and ICs are gone including USB OTG support, DisplayPort output, the Audio codec (and audio jack), and the power monitoring sensors. The memory is now clocked at 750 MHz instead and 933 MHz in ODROID-XU3 and ODROID-XU3 Lite.

You can check the introduction video for a quick overview of the new board.

ODROID-XU4 is software compatible with ODROID-XU3 so there’s probably not much new here, and the board supports Ubuntu 15.04 (with OpenGL ES + OpenCL support), and Android 4.4 KitKat and 5.0 Lollipop.

I’m pretty sure most people will still be happy with the board despite some of the lost features, as while ODROID-XU3 costs $179, the new ODROID-XU4 sells for only $74 with a 5V/4A power supply, and the heatsink + fan (mounted). If you are interested, you can purchase it via Hardkernel website, or one of their distributors. It’s also cheaper than  ODROID-XU3 Lite ($99) with features the same Exynos processor but clocked at a lower frequency.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Open Source Linux Drivers for PowerVR GPUs Might Be in the Works

June 18th, 2015 8 comments

When I write about a new processor with a PowerVR GPU, I can be sure there will be one or two comments saying something like “It has a PowerVR GPU, it’s a non-starter”, mostly because of the status of graphics drivers in Linux. Luc Verhaegen (libv) also made a presentation at FOSDEM 2013 listing various open source projects for GPUs found in ARM processors and PowerVR was the only one without any community project. Bear in mind that apart from Nvidia, and to some extend Broadcom for the VideoCore IV GPU found in  BCM2835 / BCM2836 processors used in Raspberry Pi boards, no other companies have released user space drivers for their GPUs, and all work is done by volunteers for other open source GPU drivers, and I’m not sure any of them work 100% yet.

Imagination has already provided working GPU drivers for their MIPS Creator-CI20 board, these are closed source binaries, but at least they should be usable in Linux. Now Alexandru Voica, Senior Marketing Specialist at Imagination Technologies, and who seems to handle press releases and many of the posts in the company’s blog, has hinted that Imagination is currently working on open source drivers for their GPU in reddit.

Q: Is there plans to make/help/fund open PowerVR driver for Linux?

A: Yes, there is a plan and it is one of the things I’ve been working on for the past few months. Hopefully I’ll have something more to share soon(-ish?).

Sadly, there aren’t any details right now, so we’ll have to be patient and see what comes out of this.

Via Phoronix and Harley.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Embedded Systems Conference 2015 Schedule – May 6-7, 2015

March 11th, 2015 No comments

The Embedded Systems Conference took the name “Design West” for a couple of years, but this year, there’s no mention of Design West, and the Embedded System Conference 2015 will take place in Boston, MA, US on May 6-7, 2015. The 2-day event will have a demo hall, and well as sessions divided into 8 tracks:Embedded_Systems_Conference_2015

  • Connected Devices and the IoT
  • Embedded Software Design
  • Hardware: Design, I/O and Interfacing
  • Prototyping
  • Embedded Systems Design
  • Software: Design, Languages, & Quality
  • Fantastical Theater
  • Teardowns

The full schedule has now been posted, and I’ll build a virtual schedule with some of the sessions provided.

Wednesday May 6, 2015

  • 8:00 – 8:45 – Understanding Google/Nest Thread by Michael Anderson, Chief Scientist, The PTR Group, Inc.

The IoT will live or die based on its connectivity. In examining existing wireless protocols, Google/Nest found most of them lacking. In order to address the needs for low-power wireless communications in the home, Thread was created. Thread is an implementation of an IEEE 802.15.4 mesh-based network that provides IP connectivity using existing radio silicon. Come to this session to get the latest information on Thread, its capabilities and characteristics and how you can use Thread in your next IoT device.

  • 9:00 – 9:45 – Best Practices for Designing Hardware APIs by Matt Haines, Communications Manager, Electric Imp

We are rapidly heading toward a world in which most of the objects we interact with on a daily basis will be connected to the Internet. What does this world look like, and how do we design Connected Things that will live in this world? This presentation will address the issue of API design; a topic often talked about in web development but just as often overlooked in conversations about the IoT. What should we be thinking about when we’re designing an API for a connected product? Why do our connected products even need APIs? What strategies and best practices can we apply from web API design?

  • 10:00 – 10:45 – Choosing Between Multicore CPU, GPU & FPGA Technology for Vision Applications by Julianne Kline, Systems Engineer, National Instruments

FPGA, GPU, and multi-core CPU processing will be compared and contrasted. Examples will be highlighted on when customers may want to use one technology over the other. A heavier focus will be placed on FPGA technology. This presentation will discuss recommendations for when to integrate FPGA technology into vision applications, such as for image pre-processing, high-speed control, or processing parallelism. Types of algorithms well-suited to FPGA technology will also be discussed, and resources for accessing existing FPGA IP will be provided.

  • 11:00 – 11:45 – Mob Programming for Embedded Systems Software by Nancy Van Schooenderwoert, President, Lean-Agile Partners, Inc.

Mob Programming is a practice where a whole software team works together, at one computer, one line of code at a time, outperforming their previous work significantly in both quality and volume. Impossible? Maybe except for the teams actually doing it now. One team in California began in 2011, and it’s been spreading since. This session tells the story of the first embedded systems teams to use MobProgramming.This session is a double experience report plus a demo: Speaker Simon Clements-Hawes gives his observations as an embedded systems team member starting to use MobProgramming, and Nancy describes how to get a team started in MobProgramming. Thru video clips, the team’s coding of a LeanKit interrogator in C# will be shown using Mob Programming of course!

  • 14:00 – 14:45 – Is There an Arduino Debugger in the House? by Guido Bonelli, President, Innovative Electronic Solutions LLC

Arduino development and the hardware debugging landscape OR THE LACK THEREOF! In this session you will delve into the Arduino developer’s tool chain from a hardware perspective. What hardware debugging solutions are currently available and how Dr.Duino the Arduino hardware debugger can reduce your debugging pain. We shall discuss the blissful highs of easy firmware development on a standard platform while then exploring the lowliest of lows when debugging the hardware/firmware interactions.

  • 15:00 – 15:45 – ARMv8 Kernel Internals by Arun Thomas, Senior Principal Engineer, BAE Systems

This talk is meant to be a quick start guide for embedded developers who are new to the ARMv8 architecture. I will discuss how operating systems interface with the 64-bit ARMv8 architecture and will cover the ARMv8 specific kernel internals of Linux and FreeBSD. I will discuss how booting, memory management, exceptions, and interrupts work using examples drawn from the kernel source.

Thursday May 7, 2015

  • 08:00 – 08:45 – Open Source Software: Tips for Avoiding Licensing Surprises by Jason Kunze, Attorney, Nixon Peabody LLP

A practical, quick hitting summary of the key considerations that anyone developing, purchasing or licensing software should consider. After a brief discussion of legal basics, practical concerns relating to open source software will be explained through the lens of actual cases in this developing area of law. The participant will gain a general understanding of:

  1. The intellectual property rights that may attach to software
  2. The competing ideologies behind open source software and how this drives licensing terms
  3. Some of the leading open source software licenses and their relative level of restrictions
  4. Pitfalls to recognize and avoid in relation to open source software
  • 09:00 – 09:45 – How NOT To Do Embedded Development! Practical Lessons From Real Projects That Almost Went Off A Cliff by Dave Nadler, President, Nadler & Associates

In an interactive (Socratic) discussion, we’ll review some real-world projects in trouble and how they were sorted. Projects include an automated toll-collection system, an aircraft collision-avoidance system (cool movie!), a manufacturing instrumentation product, and an integrated flight computer. We’ll cover a variety of coding and testing techniques used to get these projects on track.

  • 10:00 – 10:45 – Designing for the IoT with Lower Power and Way More Intelligence by Dana Myers, Channel Marketing Manager, Wireless Connectivity Solutions, Texas Instruments

As the Internet of Things (IoT) has changed the way we live, do business and make decisions, it has also impacted engineers’ designs. This presentation will address the benefits and challenges of designing for the IoT in regards to low-power, integration and performance. This will let engineers weigh the tradeoffs of each connectivity architecture and provide a quick pathway to begin designing their products for the fast-growing IoT.

  • 11:00 – 11:45 – Squeezing the Most Out of Battery Life using ARM Cortex-M Processors by Jacob Beningo, Principal Consultant, Beningo Engineering

The proliferation of mobile devices has led to the need of squeezing every last micro-amp-hour out of batteries. Minimizing the energy profile of a micro-controller is not always straight forward. A combination of sleep modes, peripheral control and other techniques can be used to maximize battery life. In this session, strategies for optimizing micro-controller energy profiles will be examined which will extend battery life while maintaining the integrity of the system. The techniques will be demonstrated on an ARM Cortex-M processor.

  • 14:00 – 14:45 – Network Insecurity: Simple Hacks of ARM Cortex-M Devices by Jonny Doin, CEO, Grid Vortex Systems

The IoT is a very new domain of a very old activity: Embedded Systems Design, with a twist: connection to the most toxic of environments, the Internet. One of the main concerns of the IoT is how to cope with the massive amount of unanticipated network traffic and problems. Malformed packets, corrupted messages, specifically targeted attacks, buffer overflow exploits, spoofing, stuxnet emulation messages, denial of service, fake OTAP, and other exploits and attacks can transform your IoT devices into something you did not design for. This situation demands several good practices and programming concerns regarding network safety and security into even the smallest of things. Buffer integrity checks, full parameters domain verification, message authentication, data path integrity verification, and crypto security are among the needed elements of a safe and secure IoT system, and can be implemented on nearly any Embedded System. Examples of simple attacks on ARM Cortex-M devices will be presented, including RET2ZP and buffer attacks.

  • 15:00 – 15:45 – RTOS Smackdown: 7 RTOSes in 45 Minutes! by 7 speakers

There are a lot of Real Time Operating System (RTOS) options out there. Which one is right for your embedded system? Do you even need an RTOS at all? In this feisty presentation, one industry expert will argue that an RTOS is superfluous to requirements, while another will contend that an RTOS is an invaluable, “must-have” asset, even if your embedded application performs only a handful of tasks. After the dust dies down, proponents of seven of the leanest, meanest, coolest, hottest contenders in the RTOS multi-universe will take it in turns to explain why their RTOS is the bestest of the best.

If you’d like to attend the conference you can register online. Access to the demo hall is free, unless you come without registration, in which case you’d have to pay $75 for entry. A pass is required for the full conference and access to sessions with the following pricing:

  • SUPER EARLY BIRD (Ends January 30) – $799
  • EARLY BIRD (Ends March 6) – $949
  • ADVANCED (Ends May 1) – $1,149
  • REGULAR/ONSITE – $1,299

Seven vendors’ sponsored sessions can be attended with a free “demo hall” registration.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Meet Vulkan, The Successor of OpenGL and OpenGL ES 3D Graphics APIs

March 4th, 2015 4 comments

So far embedded systems are typically using SoCs with GPU supporting OpenGL ES, a subset of the full fledge OpenGL API used in desktop computers and workstations. These royalty-free standards are defined by Khronos Group non-profit organization, and as features in the embedded space and traditional computers merge, the group has now revealed the next-generation OpenGL specs will be called Vulkan. The new API will run on GPUs supporting OpenGL ES 3.1 or greater, take less CPU resources than its predecessors, and support multiple command buffers that can be created in parallel.

OpenGL_ES_vs_Vulkan

More work will be required at the application level, but direct GPU control by the drivers will apparently result in less memory copies improving performance, or at least off-loading the CPU. It might be transparent to developers using game engines. GPU drivers will also be less complex.

Vulkan will also use the new SPIR-V language shared with OpenCL 2.1 for graphics and compute. A (possibly open source) GLSL shader source to SPIR-V translator / compiler will be provided for legacy code.

Vulkan_SPIR-V

Vulkan Language Ecosystem

You’ll find more technical details, and some information about tools on Khronos Vulkan page.

I understand that Vulkan is still work-in-progress, but Imagination Technologies has already written alpha Vulkan compatible drivers for their PowerVR GPU, and run their Library demo on Android 5.0, so progress appears to be good, but it looks like more work has to be done to improve performance.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Imagination PowerVR GT7900 GPU is Made for Game Consoles and Notebooks

February 27th, 2015 3 comments

Imaginatino Technologies has just introduced the most powerful GPU of their new PowerVR Series7 GPU family with GT7900 featuring 16 unified shading clusters and 512 ALU cores for game consoles, micro-servers, and notebooks.

PowerVR_Series_7XT_GPUPowerVR GT7900 is still an embedded GPU with support for OpenGL ES 3.1 + AEP (Android Extension Pack) compatibility, full hardware support for tessellation and ASTC LDR and HDR texture compression standards. The new GPU delivers up to 800 GFLOPS (FP32) or 1.6 TFLOPS (FP16) graphics and compute performance at 800 MHz (using 16 nm FinFET+ manufacturing process), which compares to about 550 GFLOPS (FP32) for an Nvidia GeForce GT730M at comparable frequency. This is even more powerful than the Maxwell GPU found in Tegra X1 which delivers 1+ TFLOPS (FP16), although the Nvidia processor may have a lower power envelope.

FT7900 Block Diagram

GT7900 Block Diagram (Click to Enlarge)

Combined with PowerVR Series5 decode and encode video processors and PowerVR V2500 camera processor, GT7900 can be integrated into SoC that support 4K video output, playback (10-bit @ 60 fps) and recording.

Imagination Technologies did not disclose information regarding availability, but they may provide further details at the Game Developers Conference (GDC) 2015 and Mobile World Congress (MWC) 2015.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Categories: Graphics Tags: games, gpu, imagination

ARM Releases Kernel Drivers for Mali-T880 / T860 GPUs, User Space Drivers for Mali-T76x GPUs

February 23rd, 2015 17 comments

ARM Mali GPU drivers includes both open source kernel drivers, and binary userspace drivers supporting framebuffer and/ior X11 implementation. The former is rarely an issue and is quickly released, but the latter requires porting and testing for a specific hardware platform, as well legal work, which greatly delay the releases.

ARM_Mali_GPU_Drivers

Release r5p0-06rel0 for User Space Binary Drivers

Mali-T880 GPU was announced at the beginning of the month together with ARM Cortex A72, and on February 17, 2015, ARM released an update to their Mali-T600 series, Mali-T700 series & Mali-T860/T880 GPU kernel device drivers with revision r5p1-00rel0 that adds supports to Mali-T860 and Mali-T880 GPU. These open source drivers are available for Android and Linux, and also support early Mali-T700 and T600 GPUs.

Separately, the company has also released Mali-T76X GPU drivers for Firefly board powered by Rockchip RK3288 quad core Cortex A17 processor featuring a Mali-T764 GPU. The first release only supports the framebuffer driver, but ARM is expecting to be able to release the X11 version in the next release (r5p1) planned at the end of March, which means some Linux desktop graphics accelerated will soon be available on Rockchip RK3288, and not only some OpenGL ES 3.0 demos on the framebuffer. The latest release (r5p0-06rel0) also supports Exynos powered Arndale Octa board, Samsung Chromebook 2, Arndale board, and Samsung Chromebook. According to an ARM representative, Rockchip also plans to release their own Linux GPU drivers targeting “TopMetal” hardware platform (should probably read PopMetal).

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter