I’m on the Intel AppUp developer program marketing team. Over the past few months a few developers have reached out to us at events or through support asking for advice or clarification of rules for the Intel AppUp developer challenge. I’d like to thank those who have reached out to us and share some tips our team has provided with the broader AppUp developer community. 1. Enter the contest to get visibility for both you and your app. If you have apps in the store today, consider entering them into the contest. There is a one page web form. read more
Posts Tagged ‘Development’
The hidden performance cost of accessing thread-local variables
Ever finished parallelizing a code and discovered that the performance was not what you were expecting? I think that has happened to everyone. One of the tricks I’ve recently learned is that it is a good idea to start the code optimization by running Intel® VTune™ Amplifier XE Lightweight Hotspots analysis, which shows function hot spots of an application (shows clock ticks and instructions retired). Unlike precise call graph analysis, Intel® VTune™ Amplifier XE Lightweight Hotspots analysis is very fast, and does not instrument your application. Even if you think you know your application very well, you may find something surprising about your application behavior with Intel® VTune™ Amplifier XE Lightweight Hotspots analysis. That is exactly what happened when I finished parallelizing the fur shader for DreamWorks Animation. Fur shader generates millions of fur strands that are then tessellated and rasterized. It also uses a geometry library to evaluate fur geometry to calculate normals, derivatives, etc. This geometry library was developed over many years. When I profiled this code with Intel® VTune™ Amplifier XE I noticed that it was a pretty flat profile with the top hotspot function “__tls_get_addr” only taking 5% of the total CPU clock ticks. Since scenes with fur are common, and generating millions of fur consumes a large percentage of the render time, even small optimizations will have noticeable impact in render time. So, what is “__tls_get_addr” in the profile? It is a Linux kernel function to get the address of a thread-local variable. The cost of this function should be small. What happened here? In order to find the call sites of “__tls_get_addr”, I next used Intel® VTune™ Amplifier XE’s Hotspots feature which provides fast stack and call tree information. The call tree showed that most of the calls to “__tls_get_addr” came from DreamWorks Animation geometry library. These were accesses to a few of the global variables in that library. These global variables had recently been converted into thread-local variables when the library was made thread safe. Converting from global variables to thread-local variables is very easy; just add the key word “__thread” before the variable declaration. For example, “__thread int count”. This solution is very attractive to the developers who are writing parallel code accessing legacy libraries, and do not have the time to re-architect the legacy library for thread safety. The cost of using thread-local variable Usually the cost of using thread-local variables is very small and a programmer may not even notice it. However, if the thread-local variable is accessed very frequently, the cost may become an issue. In order to understand where the cost of accessing thread local variable comes from, I needed to understand how a compiler implements it. The compiler will assign a unique global ID to each thread-local variable (this ID is the same for each thread), and maintains a Thread Local Storage (TLS) lookup table for each thread. The global ID then used to find the address of any thread local variable. So the cost of using a thread-local variable includes the cost of a function call and a lookup in the indexed table. A simple example showing the cost of accessing thread-local variable Let us look at the following example (tlb.cpp). #include “stdio.h” #include “math.h” __thread double tlvar; //following line is needed so get_value() is not inlined by compiler double get_value() __attribute__ ((noinline)); double get_value() { return tlvar; } int test() { double f=0.0; tlvar = 1.0; for(int i=0; i
PLDI Tutorial on Intel® Array Building Blocks, a dynamic compiler for data-parallel heterogeneous systems
The Conference on Programming Language Design and Implementation (PLDI), June 4-8, 2011, in San Jose, CA features a half-day tutorial that I’ll be giving on Intel® Array Building Blocks, which is a dynamic compiler for data-parallel heterogeneous systems. The abstract for the tutorial may be found below. Half-day tutorial, presented in the afternoon of Sat, June 4, 2011: Intel Array Building Blocks: A dynamic compiler for data-parallel heterogeneous systems Chris J. Newburn (CJ) Abstract Hardware platforms are getting harder to program effectively, as they grow in complexity to include multiple cores, SIMD hardware, accelerators (e.g. GPUs and Intel’s Knights Ferry – formerly Larrabee) and even clustering support. The challenge is to provide an efficient means of exploiting parallel performance to the masses of novice programmers. At least two things are required to solve this problem: 1) a language interface that enables ease of use without the perils of parallel programming, and 2) a compiler infrastructure that takes a high-level specification of what to do, and portably maps it onto a variety of heterogeneous hardware targets. This tutorial uses newly-released Intel® Array Building Blocks (ArBB) to illustrate the challenges and potential solutions in this space. ArBB is a dynamic compiler infrastructure that can compile or JIT for both SIMD and thread parallelism on symmetric multi-processor, distributed, and accelerator targets. Parallelism is exposed to this infrastructure via an embedded language, e.g. a library-based C++ API, using aggregate data types and operators. It enables safety and debuggability by construction. It allows applications with kernels that are recoded with minimized effort to be compiled once using standard compilers, and then be dynamically retargeted to platforms that haven’t even been invented yet by simply switching runtime libraries. We put ArBB in the context with a variety of other programming models, including CUDA and OpenCL. This tutorial may be of practical interest to language experts who are interested in parallel language design, to educators who may want to leverage this material to teach parallel programming models for emerging architectures, and to practitioners who may benefit from our experience implementing compilers to address customer-driven concerns. The presentation of new language features, application examples, optimization techniques that enable efficient offload to accelerators, and the demonstration of speedup and debugging support are some of the aspects of this tutorial that could draw participation. We’ll show execution on both standard laptops and pre-production acceleration hardware. Outline Overview The objectives of this tutorial are several: – Highlight the need for new data-parallel APIs that offer features not currently available through current offerings or their extensions. – Highlight the need for a new generation of retargetable heterogeneous compilers. – Describe a specific compiler, based on ArBB, that meets those requirements, and that is a major part of Intel’s parallel, heterogeneous and accelerator platform enabling strategy. – Explore in detail ArBB’s compiler architecture, optimizations, phases, code generation strategies, and interactions with threading and heterogeneous runtimes. – Provide the audience with both an intuitive overview and substantive training in a product that’s been publicly released as a beta. – Show the relevance of this programming model to several application domains, and describe how it relates to and interacts with other programming models. – Demonstrate the product on both laptops and moderately parallel systems with Knights Ferry (formerly Larrabee) compute accelerators. Motivation Parallel programming and debugging is hard. The majority of today’s programmers prefer to think serially, and want to avoid the productivity pitfalls of data races and debugging of concurrent code. Those programmers that do pursue the last bit of performance by blocking for caches and targeting implementation-specific features in their code often end up with code that’s very difficult to port and maintain. In contrast, ArBB provides a higher-level abstraction through which programmers can expose data parallelism with a serial sequence of operators on aggregate data types. Only performance-sensitive kernels need to be modified, and features of the ArBB API, such as elemental functions, try to minimize the amount of code restructuring. ArBB’s abstraction allows programmers to focus on expressing the “what”, and leaves the “how” to the compiler infrastructure, by default. If expert programmers want exert more control, the hooks are there to do that. There’s an increase in thread and SIMD parallelism in today’s platforms. ArBB offers a means of being able to seamlessly harvest both of these, without having to mix programming models. But it does interoperate with other programming models, such as Threading Building Blocks (TBB), that enable use of thread parallelism. And there’s an increasing pace in architectural changes that are visible to software, such as the memory abstraction model in heterogeneous or distributed systems, the advent of new instruction sets, and increasing sizes and layers of cache hierarchy. Access to parallelizing compiler infrastructure should not be limited by the front end. Modern languages provide productivity improvements, e.g. through garbage collection and scripting. ArBB provides a virtual machine interface through which additional language front ends may be added, beyond the initial C++ offering. Details I’ll describe how ArBB works, using diagrams, application examples, and demonstrations. An application will by modified so that its kernels use ArBB, then the code will be compiled and debugged with a standard compiler in a stock integrated development environment (IDE). An overview of ArBB’s API will follow. Aggregate types and operators will be explained, and I’ll explain how data movement and synchronization works across disjoint data spaces. We’ll take a look under the hood at ArBB’s compiler architecture. We’ll examine its phases, optimizations, and code generation strategies. We’ll explore how dynamic compilation invoked, what code generation strategies are used, and how retargeting and cross-platform support works. And I’ll provide some details on the threading and heterogeneous runtimes work. ArBB is moving to provide an open standard for its virtual machine, allowing other frontends to be added, other than C++. We expect to illustrate this with Python, and perhaps other examples. ArBB’s first-class representations of code objects (closures) enable explicit manipulation of the code generation process. These apply to compiled objects at both the IR stage and final code generation phase. One section of the tutorial, that reflects a lot of thought and discussion within Intel’s tool groups, covers programming models. I’ll compare and contrast different programming models along several axes and show how they can be layered. I’ll cover common issues, like elemental functions, array notation, and perhaps the specification of ordering and locality. I’d like to wrap up with results of some performance analysis and a demonstration of ArBB’s applicability across several different application domains. I expect to demonstrate performance on both a laptop and (if logistics allow) also show execution on pre-production Intel accelerator hardware, called Knights Ferry, formerly known as Larrabee. References – Chris J. Newburn, Michael McCool, Byoungro So, Zhenying Liu, Anwar Ghuloum, Stefanus Du Toit, Zhi Gang Wang, Zhao Hui Du, Yongjian Chen, Gansha Wu, Peng Guo, Zhanglin Liu, Dan D. Zhang, Intel® Array Building Blocks: A Retargetable, Dynamic Compiler and Embedded Language, In Proceedings of Code Generation and Optimization, 2011 – Anwar Ghuloum, Eric Sprangle, Jesse Fang, Gansha Wu, and Xin Zhou. Ct: A Flexible Parallel Programming Model for Tera-scale Architectures. Technical Report White Paper, Intel Corporation, 2007 – Michael McCool, Data-Parallel Programming on the Cell BE and the GPU Using the RapidMind Development Platform, GSPx Multicore Applications Conference, 2006. Bio Chris (CJ) Newburn serves as a feature architect for Intel’s Intel64 platforms, and has contributed to a combination of hardware and software technologies that span heterogeneous compiler optimizations, middleware, JVM/JIT/GC optimization, acceleration hardware, ISA changes, microcode and microarchitecture over the last thirteen years. Performance analysis and tuning have figured prominently in the development and production readiness work that he’s done. At present, his primary responsibilities include serving as an architect of Array Building Blocks, and representing software tools’ interests in our many-core accelerator efforts. He likes to work on projects that span the hardware-software boundary, that span organizations, and that foster collaboration across organizations. He has submitted nearly twenty patents and has numerous journal and conference publications. He helped start CGO, has served on several program committees, as a journal editor, and as an NSF panelist. He wrote a binary-optimizing, multi-grained parallelizing compiler as part of his Ph.D. at Carnegie Mellon University. Before grad school, in the 80s, he did stints in a couple of start-ups, working on a voice recognizer and a VLIW mini-super computer. He’s glad to be working on volume products that his Mom uses. Tweet
Visualize this! Randy Trulson on Cortex and Megaloptura
Welcome to Visualize this! the show where we talk about game development. My guest is Randy Trulson CEO and founder of Neuron Games. . Download Link – High Quality MP4 Video File (Large) Community News : 1. We released the beta version of the Media SDK 3.0. You can check out its features and download it here 2. Fluid Simulation Part 9 is now available – this is the last part of the very popular whitepaper series 3. We continue to add new Sandy bridge related content. CHeck it out on the microsite Questions : 1. Tell us about yourself and Neuron games 2. Tell us about Cortex 3.1 which I believe is now complete. What does it bring to developers? How does it differentiate itself from other products on the market and how it is different from Super Cortex? 3. You mentioned this is for Windows phone too, tell us where you think the mobile platform is going for gaming? 4. Shifting gears to your new game Megaloptura, what inspired this game? 5. What are some of the challenges you face during your development process? Any tips for game developers? 6. Megaloptura is going to be available on both PC and XBOX 360. Any challenges in developing for 2 platforms? I am always looking for community feedback and questions. You can email them to visualizethis@intel.com or provide on twiter @artigupta You can watch Visualize This! live alternate Tuesdays at noon Pacific on Intel Software Network TV, our new 24/7 interactive video channel. Come chat with us, or browse the On Demand section to see past episodes of our shows. Tweet
CGO Talk and Tutorial on Intel(R) Array Building Blocks, a dynamic compiler for data-parallel heterogeneous systems
The International Symposium on Code Generation and Optimization (CGO), April 3-6, 2011, in Chamonix, France features a half-day tutorial and a paper presentation that I’ll be giving on Intel® Array Building Blocks, which is a dynamic compiler for data-parallel heterogeneous systems. The abstract for the paper, ArBB-CGO2011-paper , and the tutorial may be found below. Paper, presented in the morning of Wed, April 6, 2011: Intel’s Array Building Blocks: A Retargetable, Dynamic Compiler and Embedded Language Chris J. Newburn, Byoungro So, Zhenying Liu, Michael McCool, Anwar Ghuloum, Stefanus Du Toit, Zhi Gang Wang, Zhao Hui Du, Yongjian Chen, Gansha Wu, Peng Guo, Zhanglin Liu and Dan Zhang Performance and Productivity Libraries, Software and Services Group, Intel Corporation Abstract Our ability to create systems with large amount of hardware parallelism is exceeding the average software developer’s ability to effectively program them. This is a problem that plagues our industry. Since the vast majority of the world’s software developers are not parallel programming experts, making it easy to write, port, and debug applications with sufficient core and vector parallelism is essential to enabling the use of multi- and many-core processor architectures. However, hardware architectures and vector ISAs are also shifting and diversifying quickly, making it difficult for a single binary to run well on all possible targets. Because of this, retargetability and dynamic compilation are of growing relevance. This paper introduces Intel® Array Building Blocks (ArBB), which is a retargetable dynamic compilation framework. This system focuses on making it easier to write and port programs so that they can harvest data and thread parallelism on both multi-core and heterogeneous many-core architectures, while staying within standard C++. ArBB interoperates with other programming models to help meet the demands we hear from customers for a solution with both greater programmer productivity and good performance. This work makes contributions in language features, compiler architecture, code transformations and optimizations. It presents performance data from the current beta release of ArBB and quantitatively shows the impact of some key analyses, enabling transformations and optimizations for a variety of benchmarks that are of interest to our customers. Half-day tutorial, presented in the afternoon of Sun, April 3, 2011: Array Building Blocks: A dynamic compiler for data-parallel heterogeneous systems Chris J. Newburn (CJ) Abstract Hardware platforms are getting harder to program effectively, as they grow in complexity to include multiple cores, SIMD hardware, accelerators (e.g. GPUs and Intel’s Knights Ferry – formerly Larrabee) and even clustering support. The challenge is to provide an efficient means of exploiting parallel performance to the masses of novice programmers. At least two things are required to solve this problem: 1) a language interface that enables ease of use without the perils of parallel programming, and 2) a compiler infrastructure that takes a high-level specification of what to do, and portably maps it onto a variety of heterogeneous hardware targets. This tutorial uses Intel’s newly-released Array Building Blocks (ArBB) to illustrate the challenges and potential solutions in this space. ArBB is a dynamic compiler infrastructure that can compile or JIT for both SIMD and thread parallelism on symmetric multi-processor, distributed, and accelerator targets. Parallelism is exposed to this infrastructure via an embedded language, e.g. a library-based C++ API, using aggregate data types and operators. It enables safety and debuggability by construction. It allows applications with kernels that are recoded with minimized effort to be compiled once using standard compilers, and then be dynamically retargeted to platforms that haven’t even been invented yet by simply switching runtime libraries. We put ArBB in the context with a variety of other programming models, including CUDA and OpenCL. This tutorial may be of practical interest to language experts who are interested in parallel language design, to educators who may want to leverage this material to teach parallel programming models for emerging architectures, and to practitioners who may benefit from our experience implementing compilers to address customer-driven concerns. The presentation of new language features, application examples, optimization techniques that enable efficient offload to accelerators, and the demonstration of speedup and debugging support are some of the aspects of this tutorial that could draw participation. We’ll show execution on both standard laptops and pre-production acceleration hardware. Outline Overview The objectives of this tutorial are several: – Highlight the need for new data-parallel APIs that offer features not currently available through current offerings or their extensions. – Highlight the need for a new generation of retargetable heterogeneous compilers. – Describe a specific compiler, based on ArBB, that meets those requirements, and that is a major part of Intel’s parallel, heterogeneous and accelerator platform enabling strategy. – Explore in detail ArBB’s compiler architecture, optimizations, phases, code generation strategies, and interactions with threading and heterogeneous runtimes. – Provide the audience with both an intuitive overview and substantive training in a product that’s been publicly released as a beta. – Show the relevance of this programming model to several application domains, and describe how it relates to and interacts with other programming models. – Demonstrate the product on both laptops and moderately parallel systems with Knights Ferry (formerly Larrabee) compute accelerators. Motivation Parallel programming and debugging is hard. The majority of today’s programmers prefer to think serially, and want to avoid the productivity pitfalls of data races and debugging of concurrent code. Those programmers that do pursue the last bit of performance by blocking for caches and targeting implementation-specific features in their code often end up with code that’s very difficult to port and maintain. In contrast, ArBB provides a higher-level abstraction through which programmers can expose data parallelism with a serial sequence of operators on aggregate data types. Only performance-sensitive kernels need to be modified, and features of the ArBB API, such as elemental functions, try to minimize the amount of code restructuring. ArBB’s abstraction allows programmers to focus on expressing the “what”, and leaves the “how” to the compiler infrastructure, by default. If expert programmers want exert more control, the hooks are there to do that. There’s an increase in thread and SIMD parallelism in today’s platforms. ArBB offers a means of being able to seamlessly harvest both of these, without having to mix programming models. But it does interoperate with other programming models, such as Threading Building Blocks (TBB), that enable use of thread parallelism. And there’s an increasing pace in architectural changes that are visible to software, such as the memory abstraction model in heterogeneous or distributed systems, the advent of new instruction sets, and increasing sizes and layers of cache hierarchy. Access to parallelizing compiler infrastructure should not be limited by the front end. Modern languages provide productivity improvements, e.g. through garbage collection and scripting. ArBB provides a virtual machine interface through which additional language front ends may be added, beyond the initial C++ offering. Details I’ll describe how ArBB works, using diagrams, application examples, and demonstrations. An application will by modified so that its kernels use ArBB, then the code will be compiled and debugged with a standard compiler in a stock integrated development environment (IDE). An overview of ArBB’s API will follow. Aggregate types and operators will be explained, and I’ll explain how data movement and synchronization works across disjoint data spaces. We’ll take a look under the hood at ArBB’s compiler architecture. We’ll examine its phases, optimizations, and code generation strategies. We’ll explore how dynamic compilation invoked, what code generation strategies are used, and how retargeting and cross-platform support works. And I’ll provide some details on the threading and heterogeneous runtimes work. ArBB is moving to provide an open standard for its virtual machine, allowing other frontends to be added, other than C++. We expect to illustrate this with Python, and perhaps other examples. ArBB’s first-class representations of code objects (closures) enable explicit manipulation of the code generation process. These apply to compiled objects at both the IR stage and final code generation phase. One section of the tutorial, that reflects a lot of thought and discussion within Intel’s tool groups, covers programming models. I’ll compare and contrast different programming models along several axes and show how they can be layered. I’ll cover common issues, like elemental functions, array notation, and perhaps the specification of ordering and locality. I’d like to wrap up with results of some performance analysis and a demonstration of ArBB’s applicability across several different application domains. I expect to demonstrate performance on both a laptop and (if logistics allow) also show execution on pre-production Intel accelerator hardware, called Knights Ferry, formerly known as Larrabee. References – Chris J. Newburn, Michael McCool, Byoungro So, Zhenying Liu, Anwar Ghuloum, Stefanus Du Toit, Zhi Gang Wang, Zhao Hui Du, Yongjian Chen, Gansha Wu, Peng Guo, Zhanglin Liu, Dan D. Zhang, Intel® Array Building Blocks: A Retargetable, Dynamic Compiler and Embedded Language, In Proceedings of Code Generation and Optimization, 2011 – Anwar Ghuloum, Eric Sprangle, Jesse Fang, Gansha Wu, and Xin Zhou. Ct: A Flexible Parallel Programming Model for Tera-scale Architectures. Technical Report White Paper, Intel Corporation, 2007 – Michael McCool, Data-Parallel Programming on the Cell BE and the GPU Using the RapidMind Development Platform, GSPx Multicore Applications Conference, 2006. Bio Chris (CJ) Newburn serves as a feature architect for Intel’s Intel64 platforms, and has contributed to a combination of hardware and software technologies that span heterogeneous compiler optimizations, middleware, JVM/JIT/GC optimization, acceleration hardware, ISA changes, microcode and microarchitecture over the last thirteen years. Performance analysis and tuning have figured prominently in the development and production readiness work that he’s done. At present, his primary responsibilities include serving as an architect of Array Building Blocks, and representing software tools’ interests in our many-core accelerator efforts. He likes to work on projects that span the hardware-software boundary, that span organizations, and that foster collaboration across organizations. He has submitted nearly twenty patents and has numerous journal and conference publications. He helped start CGO, has served on several program committees, as a journal editor, and as an NSF panelist. He wrote a binary-optimizing, multi-grained parallelizing compiler as part of his Ph.D. at Carnegie Mellon University. Before grad school, in the 80s, he did stints in a couple of start-ups, working on a voice recognizer and a VLIW mini-super computer. He’s glad to be working on volume products that his Mom uses.
Distribution Release: Trisquel GNU/Linux 4.5
Rubén Rodríguez has announced the release of Trisquel GNU/Linux 4.5, an Ubuntu-based desktop distribution built from free (as defined by Free Software Foundation) components only: “Our latest version is ready for download. It includes a lot of updates, along with an overhaul of the development process which was….
Moodagent’s music app plays songs according to your mood
Moodagent has launched a new music app that picks songs according to your mood. The company feels that the concept of albums is lost as most of the songs are now hand picked. Keeping in mind this development, Moodagent has cashed on the fact that music lovers like specific tracks more than the entire albums. Thus they have created a music app that would handpick and play music from the users list of songs according to the mood he/she choose. The company has developed five basic categories of moods to begin with – tender, angry, tempo, sensual and happy. Steffensen and co-founder Michael Henderson have spent years developing a system that predicts the kind that a particular track will categorize in. The users of this app have to select a bar from their screen to tell the system their preferred mood and it will automatically create a Playlist with appropriate songs. Unlike other music apps, this software is entirely based on indexing engine. Thus, it can quickly and easily adapt to various Playlists. More than 5 million people have already downloaded its Android, iPhone and Nokia versions. The danish company, Moodagent is also trying “mood” based advertising to increase its revenue and popularity and another version of this music app is scheduled next week.
Visualize this! a talk with Emotional Robots @GDC 2011
Welcome to Visualize this! the show where we talk about game development. This is one of the interviews I recorded at GDC San Francisco this year. My guests are Zach Lehman Executive Producer and Joe Cleary – Game Designer @ Emotional Robots . Download Link – High Quality MP4 Video File (Large) Questions : 1. Tell us about your recent game Warm Gun(releasing May?), what was the most exciting part of working on this game? 2. What platforms is this game available on? 3. What was the most challenging part of working on this game? 4. You used the UDK, which we host on the Intel Software network too, how did this help? 5. Did you use Intel tools/hardware during your development? What was the advantage you gained here? 6. Your game will be available on multiple form factors, how did you scale? I am always looking for community feedback and questions. You can email them to visualizethis@intel.com or provide on twiter @artigupta You can watch Visualize This! live alternate Tuesdays at noon Pacific on Intel Software Network TV, our new 24/7 interactive video channel. Come chat with us, or browse the On Demand section to see past episodes of our shows.
Intel® AMT SDK 7.0 is here now!
I am very excited about our 2011 platforms that will include the 7th generation of Intel® AMT. We have made some major improvements to ease the activation of the platforms and enhanced the existing use cases. So you may be wondering how you can take advantage of these improvements. We have pacakged all of the necessary content for the developers to take advantage of the improvements in Intel® AMT SDK 7.0 version that can be downloaded here . So what is in the Release 7.0 of SDK? First, we added the support for the feature named “Host Based Configuration” aka HBC. HBC allows you to now easily activate the Intel® AMT system from the local OS interface. You have a choice of configuring the AMT clients in two modes – Client Control Mode (I call it the easy mode) or Admin Control Mode (the old way supported in previous generation platforms). Configuring systems in client control mode removes many of the restrictions that were present before and you can now configure even if the machine if it connected on wired or wireless or no network connection. SDK 7.0 includes detailed documentation of HBC feature, requirements for configuration and any limitations. SDK also includes samples to demonstrate the feature. Another big improvement in the SDK includes the restructuring of the use case flows. Instead of starting from CIM_ComputerSystem and traversing the associations to the desired object, we have updated the use case flows to include the direct path using keys/selectors to the desired objects. This approach will allow you to develop your application to access the desired objects in Intel AMT in an efficient way and is way more faster (trust me it is very fast this way). Next, I would like to talk about snippets. Snippet is a small set of code to demonstrate a single step. In the SDK, we have close to 300 snippets embedded in the Intel AMT Features use cases. Snippets are written in Powershell 2.0 and are dependent on the Intel vPro Module framework that is also available in the SDK. This new approach will provide a lot of clarity in understanding the use case flows and the code associated with the flows. We hope that you will find it useful in your development efforts. Another major shift in this year’s SDK includes the addition of source code for Intel vPro Enabled Gateway aka MPS. Previously, only the binary for the MPS module was included in the SDK. This time around, we have enhanced the MPS to add support for dynamic subscription to the notification events, option for consoles to query MPS for list of connected systems and keep alive mechanism to handle the disconnections of the connected AMT clients. All of these enhancements along with the features that were already present are now available in the SDK in the form of documentation, binary and source code. Last but not least, we have also enhanced our redirection libraries. For IDE Redirection, we have officially added support for DVD media in addition to CD and Floppy. Both KVM and IDE redirectin libraries are updated to support Kerberos authentication, Digest authentication. Redirection library now supports the link preference when operating on a wireless interface. There are many other improvements that were made in the SDK that I can list here
. SDK is now your one stop source for information about Intel AMT and if you have any questions about it, feel free to reach us on the manageability community forum .
Industry: MeeGo™ and Intel® Atom™ Processors a Winning Combo
At Mobile World Congress today the Intel MeeGo™ Pavilion opened to showcase the innovation and technologies now available through the MeeGo ecosystem. Just last year, the MeeGo open source operating system project was announced and since then we’ve been making great strides, issuing multiple code releases and building strong industry momentum. MeeGo targets multiple device categories, including netbooks, tablets, TVs, handhelds and in-vehicle infotainment systems, among others. Attendees at this year’s Mobile World Congress will see MeeGo-based products and technologies that are now available and others that will soon make their way into the marketplace. Today, Intel announced the following MeeGo advancements: • A tablet reference user experience that introduces an intuitive object-oriented interface with panels to display content and contacts – all geared to give consumers fingertip access to their digital life: social networks, people, videos and photos. • An expansion of the Intel AppUpSM center paired with a software development vehicle to support applications developed for MeeGo. • MeeGo support from Orange and Tencent. Last week, Fujitsu also announced a MeeGo-based netbook for distribution in Asia Pacific. Additionally, MeeGo has gain strong industry momentum with software vendors, system integrators, operators and manufacturers from around the world. But don’t just take my word for it. Below are the comments from leading ecosystem vendors who have embraced MeeGo. NETWORK OPERATORS CTC “China Telecom believes MeeGo on the Intel Atom processor is one of the most promising platforms for our multi-OS strategy, ensuring a broader choice of devices and operating systems for our customers. Through open innovation, MeeGo offers a very healthy ecosystem in mobile and converged Internet segments and with its cross-platform support MeeGo will benefit customers across an even wider range of mobile devices. China Telecom will work closely with Intel to create innovative devices and incubate diversified applications and services based on MeeGo.” – Yang Xiao-Wei, senior vice president, China Telecom Corporation Imagine “Imagine is very pleased to see the increased commercial traction of MeeGo at MWC 2011. Imagine believes that the diversity of platforms being commercialized will lead to a more robust telecoms ecosystem and a richer customer experience. MeeGo’s vendor neutral, cross-platform approach, combined with its open source nature, is clearly aligned with Imagines’ goals of delivering world class next-generation voice and data services to our customers over the fastest 4G network in Europe.” – Brian O’Donohoe, chief operating officer, Imagine Communications Group Orange “Orange is constantly looking at new ways to simplify the customer experience and bring real added value to their digital lives. As the customer’s digital coach, we want to make that journey simple, seamless and secure. The MeeGo software platform provides innovative opportunities to develop new ways for our customers to interact with the services they love. The real benefit of MeeGo is its openness, being both open-source and having an open governance model” – Yves Maitre, senior vice president, Devices, Orange Group Sprint “MeeGo’s cross-platform approach, combined with its focus on enabling rapid development of innovative applications, provides a strong complement to Sprint’s wide range of next-generation connected vehicle services and applications. Sprint is a leader in the connected car space, where wireless is critical to providing customers greater freedom and mobility, while also reducing complexity. Our collaboration with Intel is key in this strategic market and we view open source software platforms, like MeeGo running on Intel architecture, to be very important.” – Danny Bowman, president, Integrated Solutions, Sprint Tencent “As a leading service provider in China, with more than 600 million active user base, Tencent shares the same vision with Intel on the computing continuum. We believe MeeGo on Intel Atom processor provides the right platform that fully aligns with our one-stop lifestyle strategy spanning across multiple devices and form factors. Tencent is working with Intel to develop a comprehensive and integrated Tencent mobile platform based on MeeGo. With the leading technologies and services of both companies, Tencent is very excited to work with Intel to create the connected mobile life experience for our customers.” – Jeff Xiong, co-chief technical officer, Tencent ORIGINAL EQUIPMENT MANUFACTURERS Acer “Acer will be shipping MeeGo-based mobile devices in Q3 2011. Acer’s Next Generation Store, Alive, will include Intel AppUp center and will soon be available on MeeGo-based mobile devices to enable a mobile lifestyle. MeeGo’s open software stack will present our consumers with another choice of a user friendly, easy-to-use operating system.” Gianfranco Lanci, Chief Executive Officer and President Acer, Inc Amino “The smart TV market is dynamic and demanding – and Amino continues to innovate to ensure we deliver the products and services our customers need to maintain their competitive edge. Working with MeeGo on Intel Atom processors, we were able to bring our next generation over-the-top products to market three times faster with the performance and flexibility our customers need to deliver compelling and exciting entertainment experiences.” – Andrew Burke, CEO, Amino Communications Asus “Asus is the father of the netbook segment and continues to deliver innovation and ease-of-use to end-users. We are the first OEM to launch a store, asus app store, powered by Intel AppUpSM center in 2010 with Windows* and soon with MeeGo*-based netbooks in Q2 2011. MeeGo lowers complexity for Asus targeting multiple lifestyle segments like netbooks and tablets.” – Samson Hu, vice president, ASUS System Business Group and general manager, Eee System Business Group Fujitsu (from: Fujitsu introduces its First MeeGo™-Based Netbook in Asia Pacific; Unlocks Infinite Social Capabilities) “For our valued users, the MeeGo-based netbook’s human-centric nature not only transcends the boundaries of netbooks but also serves as the new standard for tomorrow’s computing experience. The netbook crystallizes these two best-of-breed products and MeeGo is part of Fujitsu and Intel’s combined efforts to take the industry a big step forward. For multimedia natives who long for enhanced interactivity and immediate multimedia access, the refreshed LIFEBOOK MH330 will definitely surpass their expectations.” – Lim Teck Sin, vice president, Engineering and Product Marketing, Fujitsu PC Asia Pacific Toshiba “Toshiba is enthusiastic to see the MeeGo making progress and future opportunities with richness of the supporting ecosystem. MeeGo’s open, flexible software environment and the Intel Atom processor offer an attractive platform for future products. Toshiba will work closely with Intel to create innovative devices delivering exciting experiences and more choice for our customers.” – Hidehito Murato, chief marketing executive, Digital Products and Network Company, Toshiba Corporation OPERATING SYSTEM VENDORS 4tiitoo “4tiitoo delivered WeTab, the first tablet-based on MeeGo and the Intel Atom processor, to the delight of our customers. MeeGo’s open and flexible software platform offers a great environment for developers to bring innovative and exciting apps and services to customers. We are excited to see the development progress as well as the robust and growing ecosystem forming around MeeGo.”– Silke Oberle, marketing manager, 4tiitoo CS2C “The openness and flexibility of MeeGo make it a great choice for CS2C’s netbook products and tablet devices. CS2C NeoLite (MeeGo OS) delivers the fantastic user experiences our customers demand. Intel and the developer community continue to make valuable contributions to MeeGo allowing us to concentrate on extending and delivering an exciting and differentiated experience to our customers and end-users. We are excited about the new MeeGo developments and we will bring those benefits to our OEM partners as soon as possible.” – said Bin Li, director, Business Development, CS2C Linpus “Linpus, for some time, has been focused on bringing user-friendly open source solutions to the Internet and consumer device market. We therefore identified immediately with the aims of the MeeGo project and have been a great supporter since its inception. More than two years ago we developed our Linpus Lite – Netbook Edition and then last year we invested significant resources in bringing the first tablet specific version of MeeGo to the market, Linpus Lite for MeeGo – Tablet Edition. We are excited about the new MeeGo developments and proud to be a leading innovator in this robust ecosystem.” – Rita Jing, vice president, Sales, Linpus Red Flag “Red Flag In-Vehicle Infotainment system, built upon Intel Atom processor and based on MeeGo, provides not only features like entertainment, telematics, GPS and location based service (LBS), but an outstanding system capability and flexibility. In adhering to the advantages of Red Flag embedded system’s high degree of perfection, strong stability and fast start-up speed, Red Flag IVI system also meets the rigorous requirements from automotive manufacturers for preinstall. With mobile devices completely connected to the network, Red Flag IVI can satisfy diverse demands for more applications and bring drivers fascinating user experiences.” – Jinshi Zhang, general manager, Embedded Business Division, Red Flag Software Splashtop (DeviceVM) “Sixty million Splashtop end-users and seven of the top ten computer OEMs already know the power of Splashtop. And, this year we’ll enter a whole new era of Linux tablets with MeeGo – let’s call it ‘Tablet 2.0′. Splashtop OS, based on MeeGo and running Intel Atom Processor powered devices, will deliver a fast, fun and visually rich tablet user experience. Coupled with Splashtop Remote Desktop, users will be able to bridge to their PCs and Macs, to enjoy all of their computers’ programs and content from their tablets.” – Mark Lee, CEO, Splashtop SYSTEM INTEGRATORS Accenture “Accenture is pleased to supply a range of embedded software services in support of our clients who are building innovative new products based on MeeGo. The growing momentum and excitement of the MeeGo developer community was palpable at the recent MeeGo conference in Dublin, and we look forward to deepening engagement as increasing numbers of new types of product pass through the development lifecycle from conception to market readiness.“ Darshini Perera, Global Marketing Director, Electronic and High Tech and Embedded Software, Accenture BLStream “We see MeeGo as one of the future proof platform choices for multiple different device families. We are truly excited in working with Intel on the frontlines of MeeGo to make it a leading technology platform and a commercial success.“ – Tom Jacobsson, CEO, BLStream Codethink “Codethink specializes in open source software for mobile devices – we’re proud to be working at the heart of the MeeGo stack.“ – Paul Sherwood, CEO, Codethink Limited Collabora “MeeGo is unique in its mission to bring the real benefits of collaborative open source development to a wider industry audience. We’re excited to participate in its development with several vendors, and look forward to seeing their first devices come on sale this year.” – Philippe Kalaf, director and co-founder, Collabora Cybercom “Since Cybercom is a leader in connected devices delivering solutions for the telecom, automotive and industry sectors, it is natural for us to play an active role in the MeeGo ecosystem.” – Martin Fridh, manager, Business Development, Cybercom Digia ”Digia’s experience in MeeGo software and mobile device co-creation is extensive and unique. We are excited to extend Digia’s Product Creation Services to reach the emerging MeeGo ecosystem encompassing mobile device, tablet and other consumer electronics market segments. For MeeGo device vendors, Digia can provide market-leading solutions with emphasis on areas that are critical for successful market entry: 1) powerful differentiation in product user experience using Digia’s world-class UX design services, and 2) timely market introduction based on experience in MeeGo platform and over ten years of experience in smartphone software programs,” – Jari-Pekka Heikkilä, vice president, Product Creation Services, Digia. Ixonos “Having an opportunity to showcase Ixonos, our MeeGo expertise and cooperation with Intel at the MeeGo Pavilion is a great pleasure. We are excited to demonstrate Intel Atom processor-based tablet prototypes running on MeeGo. Ixonos is a world leader in creating wireless technologies, software and solutions for mobile devices and services. Ixonos holds a unique skill set in delivering unparalleled solutions, user experiences and innovative devices on a multitude of devices.” – Kari Happonen, president and CEO, Ixonos Mobica “Mobica believes that MeeGo’s flexibility is its greatest strength. Out-of-the-box support for multiple computing device types enables the rapid deployment of OEM products. The open source nature of the platform helps ensure that innovative software solutions will be made available at all layers of the software stack from BSP, through middleware to applications. As part of our ongoing relationship with Intel, Mobica is committed to turning the technical benefits of MeeGo into cost savings and increased device differentiation for our customers and the wider MeeGo community.” – Mike Gibbons, managing director, Mobica Movial “MeeGo delivers an exciting development platform for open source device innovation. Leading mobile platform vendors and device manufacturers are already leveraging Movial’s MeeGo design and integration services – a testament to the platform’s growing popularity. We are pleased to support MeeGo and as the platform matures we expect to see continued strong demand for our end-to-end MeeGo services.” – Tomi Rauste, president, Movial Sasken “Sasken is pleased to be a part of the MeeGo community and with the industry leadership of its constituent partners, we are confident that MeeGo will continue to gain rapid acceptance in the industry and emerge as a ‘de facto’ standard for smart phones, tablets and other devices. The strong trends in convergence will position MeeGo as an ideal candidate to address the needs of a broad spectrum of industries including communication, computing, automotive electronics and consumer electronics making it an attractive opportunity for designers, developers and device manufacturers alike.” – Rajiv C. Mody, chairman and CEO, Sasken Symbio “MeeGo is a terrific developer platform, which offers excellent tools to create compelling products and services running on a wide variety of devices. The growing interest of Symbio’s clients in MeeGo is based on its excellent cross-platform porting capabilities as well as on its unlimited opportunities to develop unique user experiences across different devices.” – Markus Suomi, president and chief operating officer, Symbio Teleca “Teleca is delighted to be engaged with Intel in supporting the evolution of MeeGo and its related ecosystem. We see significant opportunities for MeeGo to deliver compelling leading-edge customer experiences across many different industry segments and are already actively working in many exciting projects.” – Andrew Till, chief technology officer and head, Solutions Development, Teleca Tieto “Tieto has been intimately involved with development of MeeGo and its ecosystem. MeeGo marks the collaboration among well-respected names in our industry and a convergence of some of the most exciting technologies. As an advocate of the open innovation, Tieto strongly believes in the collaborative model adopted by the MeeGo development community and is actively contributing to the advancement of the MeeGo ecosystem. We are truly excited with the possibilities that this platform represents in the computing and communication space.” – Mika Yletyinen, senior vice president, Connected Devices, Tieto Weego “Weego is truly excited to work with MeeGo as it takes advantage of the proven strength of open source and finally makes the benefits available to everyone. MeeGo gives the industry the freedom to develop innovative ways to create services for any embedded system, including smart phones, tablets, TVs and set-top boxes.” – Pas



Posted in
Tags: