Optimizing HPC Applications with Intel Cluster Tools: Hunting Petaflops

Optimizing HPC Applications with Intel® Cluster Tools takes the reader on a tour of the fast-growing area of high performance computing and the optimization of hybrid programs. These programs typically combine distributed memory and shared memory programming models and use the Message Passing Interface (MPI) and OpenMP for multi-threading to achieve the ultimate goal of high performance at low power consumption on enterprise-class workstations and compute clusters.

The book focuses on optimization for clusters consisting of the Intel® Xeon processor, but the optimization methodologies also apply to the Intel® Xeon Phi™ coprocessor and heterogeneous clusters mixing both architectures. Besides the tutorial and reference content, the authors address and refute many myths and misconceptions surrounding the topic. The text is augmented and enriched by descriptions of real-life situations.

Read more
Collapse

About the author

Alexander Supalov, PhD, is Intel Cluster Tools Architect and a Senior Staff Engineer at Intel Corporation responsible for setting the direction of the Intel® Parallel Studio XE Cluster Edition and its components: Intel® MPI Library, Intel® Trace Analyzer and Collector, and Intel® MPI Benchmarks. Alexander spent most of the time since early 90’s designing various message passing libraries for different platforms and using them at system and application levels. He was on the team that developed PARMACS 6.0 in 1993, the first full MPI-2 implementation in 2000, and the first Intel® MPI Library in 2004 that became a truly desktop-to PetaFLOPs product by now. Alexander represents Intel Corporation at the MPI Forum, holds 16 patents, and sits on the EuroMPI programme committee.
Read more
Collapse
4.4
12 total
Loading...

Additional Information

Publisher
Apress
Read more
Collapse
Published on
Oct 9, 2014
Read more
Collapse
Pages
300
Read more
Collapse
ISBN
9781430264972
Read more
Collapse
Read more
Collapse
Read more
Collapse
Language
English
Read more
Collapse
Genres
Computers / Programming / General
Computers / Programming Languages / General
Computers / Software Development & Engineering / General
Read more
Collapse
Content Protection
This content is DRM protected.
Read more
Collapse
Read Aloud
Available on Android devices
Read more
Collapse

Reading information

Smartphones and Tablets

Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.

Laptops and Computers

You can read books purchased on Google Play using your computer's web browser.

eReaders and other devices

To read on e-ink devices like the Sony eReader or Barnes & Noble Nook, you'll need to download a file and transfer it to your device. Please follow the detailed Help center instructions to transfer the files to supported eReaders.
Using the C++ Standard Template Libraries is a contemporary treatment that teaches the generic programming capabilities that the C++ 14 Standard Library provides. In this book, author Ivor Horton explains what the class and function templates available with C++ 14 do, and how to use them in a practical context.

You'll learn how to create containers, and how iterators are used with them to access, modify, and extend the data elements they contain. You'll also learn about stream iterators that can transfer data between containers and streams, including file streams. The function templates that define algorithms are explained in detail, and you'll learn how to pass function objects or lambda expressions to them to customize their behavior. Many working examples are included to demonstrate how to apply the algorithms with different types of containers.

After reading this book, you will understand the scope and power of the templates that the C++ 14 Standard Library includes and how these can greatly reduce the coding and development time for many applications. You'll be able to combine the class and function templates to great effect in dealing with real-world problems.

The templates in the Standard Library provide you as a C++ programmer with a comprehensive set of efficiently implemented generic programming tools that you can use for most types of application.


How to use Standard Library templates with your C++ applications.Understand the different types of containers that are available and what they are used for.How to define your own class types to meet the requirements of use with containers.What iterators are, the characteristics of the various types of iterators, and how they allow algorithms to be applied to the data in different types of container.How you can define your own iterator types.What the templates that define algorithms do, and how you apply them to data stored in containers and arrays.How to access hardware clocks and use them for timing execution.How to use the templates available for compute-intensive numerical data processing.How to create and use pseudo-random number generators with distribution objects.

You Will Learn Python!

Zed Shaw has perfected the world's best system for learning Python. Follow it and you will succeed-just like the hundreds of thousands of beginners Zed has taught to date! You bring the discipline, commitment, and persistence; the author supplies everything else.

In Learn Python the Hard Way, Third Edition, you'll learn Python by working through 52 brilliantly crafted exercises. Read them. Type their code precisely. (No copying and pasting!) Fix your mistakes. Watch the programs run. As you do, you'll learn how software works; what good programs look like; how to read, write, and think about code; and how to find and fix your mistakes using tricks professional programmers use. Most importantly, you'll learn the following, which you need to start writing excellent Python software of your own:

Installing a complete Python environment Organizing and writing code Basic mathematics Variables Strings and text Interacting with users Working with files Looping and logic Data structures using lists and dictionaries Program design Object-oriented programming Inheritance and composition Modules, classes, and objects Python packaging Debugging Automated testing Basic game development Basic web development

It'll be hard at first. But soon, you'll just get it-and that will feel great!

This tutorial will reward you for every minute you put into it. Soon, you'll know one of the world's most powerful, popular programming languages. You'll be a Python programmer.

Watch Zed, too! The accompanying DVD contains 5+ hours of passionate, powerful teaching: a complete Python video course!

©2019 GoogleSite Terms of ServicePrivacyDevelopersArtistsAbout Google|Location: United StatesLanguage: English (United States)
By purchasing this item, you are transacting with Google Payments and agreeing to the Google Payments Terms of Service and Privacy Notice.