How to use the Android NDK and NEON SIMD made easier
Google's Android™ Native Development Kit (NDK) is a tool that lets you build C/C++ and assembly libraries for your Android applications. You might use this to improve performance for process intensive portions of game, video or augmented reality apps or simply improve battery performance on a mobile device. The NDK is not as polished as the Android SDK. In this presentation, we'll cover how to get started with the NDK from installation, building, Java Native Interface (JNI) binding and other tips and tricks for utilization, debugging and locating performance critical sections of your native code. Finally, we'll introduce you to Ne10, an open source, optimized library for developers who don't have the time to learn NEON™, the ARM® SIMD architecture, or need best-practice examples of NEON intrinsics or would like to contribute to an open source project targeting Android.
Who should attend:
Anyone who wants to develop for Android and perhaps is new to ARM or wants to learn about the latest tips, tricks and tools for improving your app's performance.
Walk away points:
- Learn the basics of setting up and using the Android NDK to accelerate your applications, program completely in C/C++ or re-use existing C/C++ code.
- Learn about a new, free tool for developing, debugging and analyzing Native code.
- Discover a new, open source project that demonstrates best-practice implementations of NEON SIMD functions
Matt DuPuy, Staff Software Engineer, ARM
Matt is a computer engineer who's been working with embedded software and system integration for over a decade. He started using Linux in college, in the late 90's, and has more than a few lines of code in the USB stacks and drivers, as well as many consumer devices from iPods to TVs to navigation systems. After a sabbatical in 2009 to climb Mt. Everest, he returned to engineering contracting till summer of 2011. He had a keen interest in Android and Google's 'release first and iterate fast' designs and was hired by ARM as a developer evangelist to both improve our tools, libraries and compiler technologies as they relate to Android internally and to solicit developer input from independent applications developers, as well as major device manufactures. Matt is very interested in hearing what developers consider a priority to get the best performance and user experience from ARM-powered® devices and happy to share some of the tools and projects ARM has been working on.