Archive

Posts Tagged ‘linaro’

ARM TechCon 2014 Schedule – 64-Bit, IoT, Optimization & Debugging, Security and More

July 23rd, 2014 No comments

ARM Technology Conference (TechCon) 2014 will take place on October 1 – 3, 2014, in Santa Clara, and as every year, there will be a conference with various sessions for suitable engineers and managers, as well as an exposition where companies showcase their latest ARM based products and solutions. The detailed schedule for the conference has just been made available. Last year,  there were 90 sessions organized into 15 tracks, but this year, despite received 300 applications,  the organizers decided to scale it down a bit, and there will be 75 session in the following 11 tracks:ARM_TechCon_2014

  • Chip Implementation
  • Debugging
  • Graphics
  • Heterogeneous Compute
  • New Frontiers
  • Power Efficiency
  • Safety and Security
  • Software Development and Optimization
  • Software Optimization for Infrastructure and Cloud
  • System Design
  • Verification

There are also some paid workshops that take all day with topics such as “Android (NDK) and ARM overview”, “ARM and the Internet of Things”, or “ARM Accredited Engineer Programs”.

As usual, I’ve gone through the schedule builder, and come up with some interesting sessions with my virtual schedule during the 3-day event:

Wednesday – 1st of October

In this session, Dr. Saied Tehrani will discuss how Spansion’s approach to utilize the ARM Cortex-R line of processors to deliver energy efficient solutions for the automotive MCU market has led the company to become a vital part of the movement toward connectivity in cars. Beginning with an overview of the auto industry’s innovation and growth in connected car features, he will explain how these systems require high performance processing to give drivers the fluid experience they expect. Highlights in security and reliability with ARM Cortex-R, including Spansion’s Traveo Family of MCU’s will also be presented.

HEVC and VP9 are the latest video compression standards that significantly improves compression ratio compared to its widely used predecessors H.264 and VP8 standard. In this session the following will be discussed:

  • The market need for GPU accelerated HEVC and VP9 decoders
  • Challenges involved in offloading video decoding algorithms to a GPU, and how Mali GPU is well suited to tackle them
  • Improvement in power consumption and performance of Mali GPU accelerated decoder
  • big.LITTLE architecture and CCI/CCN’s complementing roles in improving the GPU accelerated video decoder’s power consumption

ARM’s Cortex-M family of embedded processors are delivering energy-efficient, highly responsive solutions in a wide variety of application areas right from the lowest-power, general-purpose microcontrollers to specialised devices in advanced SoC designs. This talk will examine how ARM plans to grow the ARM Cortex-M processor family to provide high performance together with flexible memory systems, whilst still maintaining the low-power, low-latency characteristics of ARM’s architecture v7M.

IoT devices as embedded systems cover a large range of devices from low-power, low-performance sensors to high-end gateways. This presentation will highlight the elements an embedded engineer needs to analyse before selecting the MCU for his design. Software is fundamental in IoT: from networking to power management, from vertical market protocols to IoT Cloud protocols and services, from programming languages to remote firmware update, these are all design criteria influencing an IoT device design. Several challenges specific to IoT design will be addressed:

  • Code size and RAM requirements for the major networking stacks
  • Optimizing TCP/IP resources versus performance
  • Using Java from Oracle or from other vendors versus C
  • WiFi (radio only or integrated module)
  • Bluetooth (Classis versus LE) IoT protocols

Thursday – 2nd of October

Amongst ARM’s IP portfolio we have CPUs, GPUs, video engines and display processors, together with fabric interconnect and POP IP, all co-designed, co-verified and co-optimized to produce energy-efficient implementations. In this talk, we will present some of the innovations ARM has introduced to reduce memory bandwidth and system power, both in the IP blocks themselves and the interactions between them, and how this strategy now extends to the new ARM Mali display processors.

Designing a system that has to run on coin cells? There’s little accurate information available about how these batteries behave in systems that spend most of their time sleeping. This class will give design guidance on the batteries, plus examine the many other places power leakages occur, and offer some mitigation strategies.

64-bit is the “new black” across the electronics industry, from server to mobile devices. So if you are building or considering building an ARMv8-A SoC, you shall attend this talk to either check that you know everything or find out what you shall know! Using the ARMv8 Juno ARM Development Platform (ADP) as reference, this session will cover:

  • The ARMv8-A hardware compute subsystem architecture for Cortex-A57, Cortex-A53 & Mali based SoC
  • The associated ARMv8-A software stack
  • The resources available to 64-bit software developers
  • Demonstration of the Android Open Source Project for ARMv8 running on Juno.

Rapid prototyping platforms have become a standard path to develop initial design concepts. They provide an easy-to-use interface with a minimal learning curve and allow ideas to flourish and quickly become reality. Transitioning from a simple, easy-to-use rapid prototyping system can be daunting, but shouldn’t be. This session presents options for starting with mbed as a prototyping environment and moving to full production with the use of development hardware, the open-source mbed SDK and HDK, and the rich ARM ecosystem of hardware and software tools.Attendees will learn how to move from the mbed online prototyping environment to full production software, including:

  • Exporting from mbed to a professional IDE
  • Full run-time control with debugging capabilities
  • Leveraging an expanded SDK with a wider range of integration points
  • Portability of applications from an mbed-enabled HDK to your custom hardware

Statistics is often perceived as scary and dull… but not when you apply it to optimizing your code! You can learn so much about your system and your application by using relatively simple techniques that there’s no excuse not to know them.This presentation will use no slides but will step through a fun and engaging demo of progressively optimizing OpenCL applications on a ARM-powered Chromebook using IPython. Highlights will include analyzing performance counters using radar diagrams, reducing performance variability by optimizing for caches and predicting which program transformations will make a real difference before actually implementing them.

Friday – 3rd of October

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, and include a combination of power modes, software architecture design techniques and various tips and tricks that reduce the energy profile.

One of the obstacles to IoT market growth is guaranteeing interoperability between devices and services . Today, most solutions address applications requirements for specific verticals in isolation from others. Overcoming this shortcoming requires adoption of open standards for data communication, security and device management. Economics, scalability and usability demand a platform that can be used across multiple applications and verticals. This talk covers some of the key standards like constrained application protocol (CoAP), OMA Lightweight M2M and 6LoWPAN. The key features of these standards like Caching Proxy, Eventing, Grouping, Security and Web Resource Model for creating efficient, secure, and open standards based IoT systems will also be discussed.

Virtual Prototypes are gaining widespread acceptance as a strategy for developing and debugging software removing the dependence on the availability of hardware. In this session we will explore how a virtual prototype can be used productively for software debug. We will explain the interfaces that exist for debugging and tracing activity in the virtual prototype, how these are used to attach debug and analysis tools and how these differ from (and improve upon) equivalent hardware capabilities. We will look in depth at strategies for debug and trace and how to leverage the advantages that the virtual environment offers. The presentation will further explore how the virtual prototype connects to hardware simulators to provide cross-domain (hardware and software) debug. The techniques will be illustrated through case studies garnered from experiences working with partners on projects over the last few years.

Attendees will learn:

  • How to set up a Virtual Prototype for debug and trace
  • Connecting debuggers and other analysis tools.
  • Strategies for productive debug of software in a virtual prototype.
  • How to setup trace on a virtual platform, and analysing the results.
  • Hardware in the loop: cross domain debug.
  • Use of Python to control the simulation and trace interfaces for a virtual platform.
  • 14:30 – 15:20 – GPGPU on ARM Systems by Michael Anderson, Chief Scientist, The PTR Group, Inc.

ARM platforms are increasingly coupled with high-performance Graphics Processor Units (GPUs). However the GPU can do more than just render graphics, Today’s GPUs are highly-integrated multi-core processors in their own right and are capable of much more than updating the display. In this session, we will discuss the rationale for harnessing GPUs as compute engines and their implementations. We’ll examine Nvidia’s CUDA, OpenCL and RenderScript as a means to incorporate high-performance computing into low power draw platforms. This session will include some demonstrations of various applications that can leverage the general-purpose GPU compute approach.

Abstract currently not available.

That’s 14 sessions out of the 75 available, and you can make your own schedule depending on your interests with the schedule builder.

In order to attend ARM TechCon 2014, you can register online, although you could always show up and pay the regular on-site, but it will cost you, or your company, extra.

Super Early Bird Rare
Ended June 27
Early Bird Rate
Ends August 8
Advanced Rate
Ends September 19
Regular Rate
VIP $999 $1,299 $1,499 $1,699
All-Access $799 $999 $1,199 $1,399
General Admission $699 $899 $1,099 $1,299
AAE Training $249 $299 $349 $399
Software Developers Workshop $99 $149 $199 $249
Expo FREE FREE $29 $59

There are more types of pass this year, but the 2-day and 1-day pass have gone out of the window. The expo pass used to be free at any time, but this year, you need to register before August 8. VIP and All-access provides access to all events, General Admission excludes AAE workshops and software developer workshops, AAE Training and Software Developers Workshop passes give access to the expo plus specific workshops. Further discounts are available for groups, up to 30% discount.

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

Linaro Announces 64-bit ARM Android Port on Juno ARM Development Platform

July 3rd, 2014 2 comments

Last week, Linaro 14.06 was released and one of the highlights was Android booting on ARMv8 models, but the organization has actually ported Android to a new 64-bit ARM platform. Juno ARM Development Platform is actually software development platform for ARMv8-A, including Juno Versatile Express board and an ARMv8-A reference software port developed by Linaro.

Juno Versatile Express Board (Click to Enlarge)

Juno Versatile Express Board (Click to Enlarge)

Juno VExpress Board has the following key hardware features:

Juno SoC Block Diagram (Click to Enlarge)

Juno SoC Simplified Block Diagram (Click to Enlarge)

  • SoC – 2x ARM Cortex A57 cores @ 1.1 GHz (2MB L2 cache), 4x Cortex A53 cores @ 850 MHz (1MB L2 cache) in big.LITTLE configuration with Mali-T624 GPU @ 600 MHz. Compliant with SBSA specifications Level 1.
  • I/O FPGA – Xilinx SPARTAN-6
  • MCU – ARM Cortex M3 for Motherboard Configuration Controller (MCC)
  • System Memory – 8GB DDR3L @ 1600 MHz
  • Storage – User and configuration micro SD card lots, 64MB NOR flash, configuration EEPROM
  • Connectivity – 10/100M Ethernet + 10M “configuration” Ethernet
  • Video Output – 2x HDMI
  • USB – 4x USB 2.0 host port + “configuration USB”
  • Serial – 2x UART (1x DB9 interface)
  • Debugging – P-JTAG (Processor CoreSight debug) port, coresight trace port
  • Expansion – 2 headers (HDRX and HDRY) for LogicTile Express FPGA daughterboard
  • Misc – Push buttons, LEDs, energy monitors, etc…

The hardware enables development of ARMv8-A AArch64 kernel and tools, secure OS & hypervisors through ARM Trusted Firmware, 3D graphics and GPU compute with native big.LITTLE and Mali support, Middleware & file systems porting and optimization to 64-bit, and real-time debug, trace and performance tuning with CoreSight technology. Expansion is also provided with LogicTile Express 20MG FPGA board that connects directly to the platform and can be used for driver development and prototyping.

Juno Board Block Diagram (Click to Enlarge)

Juno Board Block Diagram

This type of board is not for everybody, and mostly reserved to silicon vendors, and people working on ARMv8 software development that can’t wait for actual silicon. Juno SoC is not optimized for performance (see relatively low frequencies) and most probably not for power consumption, it’s just to let people run and optimize software for ARMv8. The other reason it’s not for everyone is the price which should be several thousand dollars, and I would not be surprised if this board cost over $10,000, as older versatile express board sell for about $6,000. You can find more details on ARM’s Juno product page.

Linaro’s ARMv8 ports are based on Linux kernel 3.10 (Linaro Stable Kernel), and compiled with GCC 4.9 and can run both Juno and ARMv8 fast models. You can download ARMv8 ports for OpenEmbedded and Android Open Source Project (AOSP).

The OpenEmbedded ARMv8 release supports on-chip USB, non-secure UART, HDMI output, keyboard and mouse functionality of P/S2, and Ethernet. The big.LITTLE multiprocessing implementation supports all 6 cores (optimizations still required), boot is done via UEFI using the NOR flash, USB mass storage, or Ethernet, ARM trusted firmware and SCP firmware are both supported.

The Android ARMv8 release supports all OpenEmbedded features, and comes with a unified kernel and kernel config for Android and Linux, and the AOSP file system based on a snapshot from the 1st of June 2014, with ART Runtime enabled as default and booting in 64-bit primary mode, GPU and HDLCD support, although there are still some bugs leading to visual artifacts.

In theory, it should be possible to run Android or OpenEmbedded ARMv8 ports on any computers using ARMv8 fast models, but be prepared to be very very patient. I won’t try it…

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

Linaro 14.05 Released with Linux Kernel 3.15, Android 4.4.2, and Ubuntu Trusty

May 30th, 2014 4 comments

Linaro 14.05 has been released with Linux Kernel 3.15-rc5 (baseline), Linux Kernel 3.10.40 (LSK), Android 4.4.2, and Ubuntu has been switched from Saucy to Trusty.

More work has been done on big.LITTLE processing and ARMv8 support with notably completing bootstrapping with Debian 64-bit. New hardware platform have started to pop-up such as TI J6-Vayu which must be an evaluation board for Texas Instruments Jacinto 6 dual core Cortex A15 SoC for automotive application, as well as IFC6410, a Snapdragon 600 development board which got a Ubuntu LEB image. This month also marks the first release of Linaro GCC 4.9 toolchain.

Here are the highlights of this release:

  • Linux Linaro 3.15-rc5-2014.05
    • new Android topic (linaro-android-3.15-experimental) uses the resent AOSP code base
    • GATOR version 5.18 (same version as in 2014.04)
    • uprobes topic removed as all patches have been accepted into mainline
    • updated big-LITTLE-pmu topic from ARM LT
    • updated basic Capri board support from Broadcom LT (SMP support enabled for bcm21664 and bcm28155, mmc updates, more bcm590xx regulators enabled)
    • cortex-strings-arm64 topic (same as in 2014.02)
    • updated Versatile Express arm64 support (FVP Base and Foundation models, Juno (ethernet, USB)) from ARM LT
    • updated Versatile Express patches from ARM LT
    • updated Arndale_Octa/Arndale/Origen patches from Samsung LT
    • more HiP0x Cortex A15 family updates from HiSilicon LT. All the CPU cores enabled
    • new ftrace_audit topic from the Kernel WG (ftrace, audit and seccomp patches)
    • Big endian topic updated for 3.15
    • updated llvm topic. The “spinlock” commit is reverted to let armv8 kernel to compile
    • config fragments changes – uprobes: CONFIG_NAMESPACES and CONFIG_USER_NS enabled (for systemtap), arndale_octa: Enable Generic Phy support, arndale: Enable IOMMU/USB3/Generic Phy, vexpress: updated for 3.15 kernel (CONFIG_ARM_BIG_LITTLE_CPUFREQ enabled), THUMB2 disabled for arndale, arndale_octa, and origen to work around arch/arm/mach-exynos/sleep.S compilation error
  • Linaro Toolchain Binaries 2014.05
    • updated to latest Linaro TCWG releases, this is the first binary release based on GCC 4.9.
      • Linaro GCC 4.9 2014.05 includes performance improvements and bug fixes
      • Linaro Binutils 2.24.0 2014.05 features aarch64 improvements
      • Linaro GDB 7.7 2014.05
  • Linaro Android 14.05
    • built with Linaro GCC 4.8-2014.05
    • TI J6-Vayu member build has been setup (Evaluation module based on Texas Instruments Jacinto 6 for automotive application)
    • Android build system is using VPS build slaves, reducing the build time by 40% compared to the current EC2 slaves
    • Multinode job submission support is added to linaro-android-build-tools
  • Linaro OpenEmbedded 2014.05
    • integrated Linaro GCC 4.8 and 4.9 2014.05
    • integrated Linaro EGLIBC 2.19-2014.05
    • integrated Linaro binutils 2.24-2014.05
    • improved Linaro’s meta layer layout for 3rd parties usage
    • added toolchain benchmark image
    • update GATOR recipe to latest release and fixed build issues
    • improved python module support in images
    • upstreaming:
    • fixed separate build directory issues for mariadb, openldap, libmcrypt, netperf, fwts, php, tmux, gpm and rrdtool
    • updated recipes: acpitests, acpica, fwts, libhugetlbfs, pm-qa, systemtap and GRUB
    • enabled PM and RT tests in LTP
    • fixed GRUB build issue
  • Linaro Ubuntu 14.05 is released:
    • baseline migrated from Saucy to Trusty
    • added packages:
      • alsa-lib, added HDMI UCM profile for IFC6410
      • mesa, enabled freedreno gallium driver
    • updated packages: linaro-edk2, ARM trusted firmware, linaro-meta (added git to developer rootfs), xf86-video-freedreno (Add xorg configuration file), and linux-linaro 3.15-rc5 kernels.
  • ARMv8 Debian bootstrap effort is completed
  • Linaro U-Boot is updated to 2014.04 release
  • Linaro EDK2 CI is setup
  • Linaro kernels build support is added to Linaro OpenEmbedded
  • IFC6410 member build is delivered and released this cycle

You can visit https://wiki.linaro.org/Cycles/1405/Release for a list of known issues, and further release details about the LEB and community builds, Android, Kernel, Graphics, Multimedia, Landing Team, Platform, Power management and Toolchain (GCC / Qemu) components.

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

Prpl Non-Profit Organization to Work on Linux, Android, and OpenWRT for MIPS based Processors

May 28th, 2014 5 comments

prplIn what looks like an answer, albeit fairly late, to Linaro, the non-profit organization working on open source software for ARM based SoCs, a consortium of companies composed of Imagination Technologies, Broadcom, Cavium, Lantiq, Qualcomm, Ingenic, and a few others, has funded Prpl (pronounced Purple), “an open-source, community-driven, collaborative, non-profit foundation targeting and supporting the MIPS architecture—and open to others—with a focus on enabling next-generation datacenter-to-device portable software and virtualized architectures”.

The Prpl foundation will focus on three key objectives:

  • Portability – To create ISA agnostic software for rapid deployment across multiple architecture
  • Virtualization & security – To enable multi-tenant, secure, software, environments in datacenter, networking & storage, home, mobile and embedded
  • Heterogeneous Computing – To leverage compute resources enabling next generation big data analytics and mining

Initially there will PEG (Prpl Engineering Group) to take of the following projects for 4 market segments (datacenter, network & storage, connected consumers, and Embedded & IoT):

  • Linux -  Optimizations for enterprise, home and embedded Linux.
  • Android – Getting started with Android, and Android source code
  • Developer Tools – Used in conjunction with Android and Linux OS
  • Virtualization & Secure Supervisor – Secure multi-container frameworks
  • OpenWRT – Enabling carrier-grade features to complement OpenWRT
Arduino Yun

Arduino Yun

It also appears some low cost MIPS32 & MIPS64 development board and reference designs will be supported such as Newton wearable platform, Microchip chipKit WF32 board, and Arduino Yun.

Companies can join Prpl as Board Members or Contributors Members, and individuals can join the foundation for free to engage with the community and access source code and tools.

Since the the Prpl foundation has just been launched, there aren’t any tools or software available right now, but if you are interested in MIPS development, and possibly other architecture which may be part of Prpl later on, you can get more information and/or join the foundation on Prpl Foundation Website.

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

Linaro 14.04 Release with Linux Kernel 3.14 and Android 4.4.2

April 25th, 2014 No comments

Linaro 14.04 has been released with Linux Kernel 3.14 (baseline), Linux Kernel 3.10.37 (LSK), and Android 4.4.2.

More work has been done on ARMv8 support, and big.LITTLE for both the Linux kernel and Android, as well as work on member hardware platforms such as Origen, Arndale, Arndale Octa, Broadcom Capri, and Hisilicon D01 boards. GCC 4.8-2014.04 Linaro is said to include performance improvements. Linaro Android engineering builds for Nexus 7 and Nexus 10 have been setup, but I can’t quite find the images. They’ve also added the BeagleBone Black to member builds.

Here are the highlights of this release:

  • Linaro Stable Kernel (LSK) 3.10.37-2014.04
    • Updates to Android support (from Google and Linaro)
    • Added
      • Big endian for ARMv7 and ARMv8
      • Thermal framework DT support
      • Huge pages and transparent huge pages for ARMv8
      • Tagged pointers for ARMv8
      • Non-coherent DMA for ARMv8
    • Other Features
      • big.LITTLE support – ARM MP patch set, IKS (ARMv7 only)
      • Power efficient workqueue support
      • Android v3.10 patch set from AOSP
      • Interactive scheduler enhancements for big.LITTLE
      • Pinctrl groups support (CARD-1264)
      • GATOR
      • ARMv8 4xA57 4xA53 FVP support
      • Versatile Express TC2 support
  • Linux Linaro 3.14-2014.04
    • GATOR version 5.18 (new version)
    • Android topic (linaro-android-3.14-merge) updated to get the recent code from AOSP
    • added a new LLVM topic
    • updated builddeb topic to include a fix to add missing headers in linux-headers package on arm architecture
    • uprobes v7 topic
    • updated big-LITTLE-pmu topic from ARM LT
    • updated basic Capri board support from Broadcom LT (bcm281xx support updated, Broadcom BCM470X and BCM5301X SoCs support added)
    • updated Arndale Octa / Arndale / Origen patches from Samsung LT: CPU hotplug and BE fixes
    • updated Versatile Express patches from ARM LT
    • Versatile Express arm64 support (FVP Base and Foundation models) from ARM LT
    • more HiP0x Cortex A15 family updates from HiSilicon LT
    • cortex-strings-arm64 topic (same as in 2014.02)
    • config fragments changes: updated config fragments for ARMv8 boards
  • Linaro Toolchain Binaries 2014.04 – With Linaro GCC 4.8-2014.04, featuring performance improvements and bug fixes
  • Linaro Android 14.04
    • built with Linaro GCC 4.8-2014.04
    • LSK with Android for ARMv8 build has been setup
    • Nexus 7 and Nexus 10 Engineering builds have been setup
  • Linaro OpenEmbedded 2014.04
    • integrated Linaro GCC 4.8-2014.04
    • integrated Linaro EGLIBC 2014.04
    • added trace-cmd / kernelshark 2.3.2 recipe
    • updated ODP to 0.2 release
    • changed OpenJDK to track linaro git trees directly
    • updated GATOR to 5.18 release
    • upstreaming
      • added arm64 support to U-Boot architecture map
      • submitted trace-cmd / kernelshark recipe update
      • re-submitted GRUB build fixes
  • Linaro Ubuntu 14.04
    • added packages: trace-cmd 2.3.2 and trusted firmware binaries for a new ‘hidden’ ARMv8 board
    • updated packages: edk2-uefi, GATOR 5.18 and linux-linaro 3.14 kernels
    • initial developer rootfs based on Trusty
  • OpenEmbedded – included MongoDB on ARMv8
  • Arndale Octa – added thermal (TMU) driver support
  • CI bring up – BeagleBone Black member build
  • LSK with Mali support for Arndale build has been setup, contributed by Graphics WG.

You can visit https://wiki.linaro.org/Cycles/1403/Release for a list of known issues, and further release details about the LEB and community builds, Android, Kernel, Graphics, Multimedia, Landing Team, Platform, Power management and Toolchain (GCC / Qemu) components.

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

Linaro 14.03 Release with Linux Kernel 3.14 and Android 4.4.2

March 28th, 2014 No comments

Linaro 14.03 has just been released with Linux Kernel 3.14-rc7 (baseline), Linux Kernel 3.10.33 (LSK), and Android 4.4.2.

This month, I could not find any major changes or updates, but work has been performed on big.LITTLE, Samsung Arndale / Arndale-octa, HiSilicon K3V2 and D01 boards and Broadcom Capri hardware, as well as ARMv8 models.

Here are the highlights of this release:

  • Linaro Stable Kernel (LSK) 3.10.33-2014.03
    • big.LITTLE support – ARM MP patch set, IKS (ARMv7 only). Interactive scheduler enhancements
    • ARMv8 features – CPU frequency scaling, CPU topology, CPU suspend
    • Power efficient workqueue support
    • Android v3.10 patch set from AOSP
    • GATOR
    • ARMv8 4xA57 4xA53 FVP (Fixed Virtual Platform) and Versatile Express TC2 support
  • Linux Linaro 3.14-rc7-2014.03
    • GATOR version 5.17
    • Android topic (linaro-android-3.14-merge) updated to get the recent code from AOSP
    • uprobes v7 (new version)
    • Updated big-LITTLE-pmu topic from ARM LT (Landing team)
    • Updated basic Capri board support from Broadcom LT (bcm590xx pmu and regulator drivers, Kona PWM controller support, and bcm21664 board added)
    • Updated big endian topic
    • Updated Arndale_Octa/Arndale/Origen patches from Samsung LT.
      • proper fix for the data abort issue on Arndale-Octa added (“ARM: dts: Disable MDMA1 node for Arndale-octa board”)
      • drivers/thermal/samsung/exynos_tmu* code cleaned up, TMU support for Exynos5420 SoCs added
    • Updated Versatile Express patches from ARM LT
    • Versatile Express arm64 support (FVP Base and Foundation models) from ARM LT
    • Updated K3V2 board support from HiSilicon LT
    • HiSilicon HiP0x Cortex A15 family / D01 Dev Board support added by HiSilicon LT
    • cortex-strings-arm64 topic (same as in 2014.02)
    • config fragments changes – Thermal config for arndale and arndale_octa enabled
  • Linaro Toolchain Binaries 2014.03
    • updated to latest Linaro TCWG (Toolchain Working Group) releases – Linaro GCC 4.8-2013.03, Linaro binutils 2.24-2014.03
    • updated Android NDK to new upstream release r9d
  • Linaro Android 14.03 – Built with Linaro GCC 4.8-2014.03, mmtest failures in LAVA have been fixed
  • Linaro OpenEmbedded 2014.03
    • integrated Linaro GCC 4.8-2013.03 and Linaro binutils 2.24-2014.03
    • added extra ACPI tools to images
    • switched recipes using git.linaro.org from git to http protocol
    • upstreaming – updated git to 1.9.0, updated FWTS (Firmware Test Suite) to 14.02.00
  • Linaro Ubuntu 14.03 – new package: xf86-video-freedreno 1.0.0, updated packages: libdrm 2.4.52 and linux-linaro kernels
  • Initial HiSilicon D01 member build is delivered
  • Arndale Octa build based on LT kernel has been setup for SWG (Security Working Group)
  • Made good progress on integrating VPS build slaves into android-build.linaro.org

You can visit https://wiki.linaro.org/Cycles/1403/Release for a list of known issues, and further release details about the LEB and community builds, Android, Kernel, Graphics, Multimedia, Landing Team, Platform, Power management and Toolchain (GCC / Qemu) components.

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

OpenCL Accelerated SQL Database with ARM Mali GPU Compute Capabilities

March 20th, 2014 5 comments

We’ve previously seen GPU compute on ARM could improve performance for mobile, automotive and consumer electronics application. GPU compute offload CPU task that can be parallelized to the GPU using APIs such as OpenCL or RenderScript. Most applications that can leverage GPU compute are related to media processing (video decoding, picture processing, audio decoding, image reconigion, etc…), but one thing I did not suspect could be improve is database access. That’s what Tom Gall, Linaro, has achieved in a side project by using OpenCL to accelerate SQLite database operations by around 4 times for a given benchmark.

SQLite Architecture and "Attack Point" for OpenCL Implementation

SQLite Architecture and “Attack Point” for OpenCL Implementation

The hardware used was a Samsung Chromebook with an Exynos 5250 SoC featurig a dual core Cortex A15 processor and an ARM Mali T604 GPU. CPU compute is only possible on ARM Mali T6xx and greater, and won’t work on Mali 400 / 450 GPUs. Other GPU vendors such as Vivante and Imagination technologies also support GPU compute in their latest processors.

As a first implementation, he added an API to SQLite, but eventually the code may be merged inside SQLite, as it would also to accelerate existing applications using SQLite. This type of acceleration will work best with large tables, and parallel tasks.  For benchmark purpose, Tom used a 100,000 row database with 7 columns and ran the same query (select * from testdb) using the SQLite C API and his OpenCL accelerated API. Here are the results:

  • SQLite C API – 420.274 milliseconds
  • OpenCL accelerated SQLite API – 110.289 milliseconds

The first test ran fully on the Cortex A15 cores @ 1.7 GHz, whereas the OpenCL test mostly ran on the Mali-T604 GPU clocked at 533 MHz (TBC). The time includes both the running of the OpenCL kernel and the data transfer from the result buffer.

More work is needed, but that seems like an interesting application for GPU compute in some use cases. I would expect to see no gain for query performed in small tables for example. The modified OpenCL code does not appear to be available right now, but you may want to read GPGPU on ARM presentation at Linaro Connect Asia 2014 for a few more details about the implementation, and if you want to play around OpenCL 1.1 (or OpenGL ES) in Linux on a Chromebook, you can follow those instructions.

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