|
In science, the atom is the fundamental unit of matter – the building blocks out of which all the elements are made, from the simplest to the most complex. In software development terms, the Intel Atom processor is also a fundamental unit, powering computers small and large. If you’re a scientist studying atoms, you’ve got a whole range of chemical and physics equipment to choose from – and your laboratory might be as massive as the Large Hadron Collider. On the other hand, if you’re a Linux developer building apps that target devices using the Atom, your workshop might be as small as a buffed-up notebook – running the Intel Application Software Development Suite for Intel Atom, along with a small laptop development host. The Tool Suite is not only more portable than the Large Hadron Collider, it’s also more user-friendly. The heart of the Tool Suite is its C++ optimizing compiler for Linux; the other major components include a set of code libraries, an application debugger, and Intel’s famous VTune performance analyzer. Let’s look at each of these core components in turn. Intel C++ Compiler for Linux If the heart of rock and roll is the beat, then the heart of native compiled applications is the compiler. (In a managed environment, like what you’d find in Java or .NET, the key is the quality of the runtime environment, such as the Java Virtual Machine or the .NET Common Language Runtime.) For Linux apps, performance is largely determined by the quality of the compiler optimizations. The Intel C++ Compiler has a justifiably earned reputation as the best commercial compiler for Linux developers for any Intel processor, and the Intel team has carried their quality over to the Atom processor. It’s fully compatible with the GNU compiler, or gcc, which makes it easy for anyone porting or reusing code. According to Intel, the compiler also offers about a 30% performance gain over gcc. This not only is good for the user experience, but it also extends the battery life of battery-powered devices. Why? Because faster execution of code lets the device go into idle mode sooner – and thus cuts overall power consumption. Also specific to the Atom processor optimizations is an in-order scheduler that takes advantage of the Atom chip’s architecture. Because the Atom processor’s architecture is tuned differently than other 32-bit chips, whereas other IA-32 (x86) architectures are out-of order. What this means is that the Atom processor executes instructions exactly in the order that the compiler feeds them to it. These optimizations can make a significant difference to your code. You can use the Intel C++ Compiler as a command-line tool, incorporate it into your favorite makefile or build tool, or integrate it into an IDE, such as Eclipse. Intel Integrated Performance Primitives Next to the compiler, arguably the second-most-important part of the software food chain is its library set. An essential part of the Tool Suite is Intel’s Integrated Performance Primitives, which is a huge library of highly optimized functions for digital media and other math-intensive functions and applications. There are literally thousands of functions in the Intel IPP library, covering everything from signal processing to image and video manipulation, from matrices to rendering, to advanced math and cryptography. Actually, the library is divided into 15 sections:
Intel has created a version of the IPP library with optimizations tuned for the Atom processor’s 32-bit architecture. The Atom-tuned library, included in the Tool Suite, appears outwardly identical, in terms of function calls and APIs, to all of the other versions of the IPP library – so you can have confidence in your cross-platform compatibility and enjoy full code ruse. That makes it easier than ever to port existing apps or algorithms to run on MIDs, netbooks and other Atom-based gear. A special benefit of using the Intel Integrated Performance Primitives is the exhaustive set of free code samples. Check them out! Intel Application Debugger The Intel Application Debugger – which is paired with the Intel C++ Compiler – is not your typical debugger. It’s a graphical tool (based on Eclipse) that can be run two ways. First, you can use it for development and testing of Linux applications running in a KVM (keyboard/video/mouse) environment on the developer’s workstation before it’s pushed out to the target device. When you’re ready to begin testing and tuning on the Atom-based hardware, you can use the debugger to do remote process debugging. A benefit of being able to do the initial testing on the developer’s workstation is that it can save time and simplify the development process – and of course, it’s really feasible when you’re targeting hardware that’s not yet available, or if you have some members of the dev team working remotely without access to the test hardware. The debugger also offers Linux-aware and thread-aware execution trace support that lets you look back to the history of an executed program without having set explicit instrumentation points, so you can see what’s going on – and what went wrong. Intel VTune Performance Analyzer And then there’s VTune – the brightest star, in my opinion, in the entire constellation. All the software mentioned earlier, from the compiler to the libraries to the debugger, will help you get your code written, and help you get the maximum performance out of the code that you’ve written. What’s special about the VTune Performance Analyzer http://software.intel.com/en-us/intel-vtune/} is that it’ll help you turn the good into great. By analyzing your running applications, VTune helps you identify performance bottlenecks that might not show up in code reviews, and that you might not unearth in a thousand years. Often, those problems might be in application logic; by finding out where there are slow spots in the design, you will identify code that you can optimize by changing algorithms or by refactoring. Equally importantly, however, VTune will help you understand when code is stalling or underperforming because it’s not optimized for the Atom processor’s architecture. You’ll then be able to remediate the problem – and in some cases, the improvements to the user experience can be breathtaking, turning multi-second pauses into a constant flow of software execution. What’s best is that you don’t have to make any changes to your application to use VTune. It’s hard to imagine a more powerful – or easier to use – tool in the developer’s toolbox. Learn more about VTune in “Getting Started with a Linux Software Development Toolchain,” {http://software.intel.com/en-us/articles/getting-started-with-a-linux-software-development-toolchain/} on the Intel Software Network. And it’s included in the Tool Suite. Hitting the Suite Spot Writing great software isn’t rocket science, and it’s not particle physics. In my opinion, it’s even more satisfying. After all, rocket scientists send things away, and particle physicists break things – but as applications developers, it’s our job to make things. In the case of mobile devices, we’re often building consumer applications that have the capability to delight our customer. I’ll take writing software on my workstation using the Intel Application Software Development Suite for Intel Atom over sitting around a tank of liquefied helium any day. * All names and brands are the property of their respective owners. Alan Zeichick is principal analyst at Camden Associates (http://www.camdenassociates.com), where he advises enterprises about technology challenges, writes for technology print and online publications and speaks at industry events on enterprise IT, networking, security, software engineering and consumer electronics. Meanwhile, as editorial director of BZ Media’s SD Times (http://www.sdtimes.com), Mr. Zeichick drives forward the industry newspaper for software development managers. A former mainframe developer and systems analyst, Mr. Zeichick became a technology analyst and journalist in 1984. He has authored more than 3,000 articles, worked with consulting groups, including PricewaterhouseCoopers, IDC and Anderson Consulting, and has spoken at numerous events such as COMDEX, Networld+Interop, Microsoft TechEd, JavaOne and the Software Development Conference. He is the Conference Chairman of the Enterprise Software Development Conference (http://www.go-esdc.com). For his writing on MoblinZone, Mr. Zeichick is an independent writer/reporter. MoblinZone is funded by Intel Corporation. Read Mr. Zeichick's personal blog at http://ztrek.blogspot.com, and follow him on Twitter at http://twitter.com/zeichick. |
Préparez-vous à l'arrivée des netbooks avec processeur Intel Atom N450, prévue l e 11 janvier 2010 Dec 05 2009
Moblin V2 : approche pratique May 09 2009