Computational Science – ICCS 2008

Computational Science – ICCS 2008

Author: Marian Bubak

Publisher: Springer Science & Business Media

Published: 2008-06-11

Total Pages: 769

ISBN-13: 3540693882

DOWNLOAD EBOOK

The three-volume set LNCS 5101-5103 constitutes the refereed proceedings of the 8th International Conference on Computational Science, ICCS 2008, held in Krakow, Poland in June 2008. The 167 revised papers of the main conference track presented together with the abstracts of 7 keynote talks and the 100 revised papers from 14 workshops were carefully reviewed and selected for inclusion in the three volumes. The main conference track was divided into approximately 20 parallel sessions addressing topics such as e-science applications and systems, scheduling and load balancing, software services and tools, new hardware and its applications, computer networks, simulation of complex systems, image processing and visualization, optimization techniques, numerical linear algebra, and numerical algorithms. The second volume contains workshop papers related to various computational research areas, e.g.: computer graphics and geometric modeling, simulation of multiphysics multiscale systems, computational chemistry and its applications, computational finance and business intelligence, physical, biological and social networks, geocomputation, and teaching computational science. The third volume is mostly related to computer science topics such as bioinformatics' challenges to computer science, tools for program development and analysis in computational science, software engineering for large-scale computing, collaborative and cooperative environments, applications of workflows in computational science, as well as intelligent agents and evolvable systems.


Programming Massively Parallel Processors

Programming Massively Parallel Processors

Author: David B. Kirk

Publisher: Newnes

Published: 2012-12-31

Total Pages: 519

ISBN-13: 0123914183

DOWNLOAD EBOOK

Programming Massively Parallel Processors: A Hands-on Approach, Second Edition, teaches students how to program massively parallel processors. It offers a detailed discussion of various techniques for constructing parallel programs. Case studies are used to demonstrate the development process, which begins with computational thinking and ends with effective and efficient parallel programs. This guide shows both student and professional alike the basic concepts of parallel programming and GPU architecture. Topics of performance, floating-point format, parallel patterns, and dynamic parallelism are covered in depth. This revised edition contains more parallel programming examples, commonly-used libraries such as Thrust, and explanations of the latest tools. It also provides new coverage of CUDA 5.0, improved performance, enhanced development tools, increased hardware support, and more; increased coverage of related technology, OpenCL and new material on algorithm patterns, GPU clusters, host programming, and data parallelism; and two new case studies (on MRI reconstruction and molecular visualization) that explore the latest applications of CUDA and GPUs for scientific research and high-performance computing. This book should be a valuable resource for advanced students, software engineers, programmers, and hardware engineers. - New coverage of CUDA 5.0, improved performance, enhanced development tools, increased hardware support, and more - Increased coverage of related technology, OpenCL and new material on algorithm patterns, GPU clusters, host programming, and data parallelism - Two new case studies (on MRI reconstruction and molecular visualization) explore the latest applications of CUDA and GPUs for scientific research and high-performance computing


并行程序设计

并行程序设计

Author: Foster

Publisher:

Published: 2002

Total Pages: 381

ISBN-13: 9787115103475

DOWNLOAD EBOOK

国外著名高等院校信息科学与技术优秀教材


Shared-Memory Parallelism Can Be Simple, Fast, and Scalable

Shared-Memory Parallelism Can Be Simple, Fast, and Scalable

Author: Julian Shun

Publisher: ACM Books

Published: 2017

Total Pages: 426

ISBN-13: 9781970001914

DOWNLOAD EBOOK

Parallelism is the key to achieving high performance in computing. However, writing efficient and scalable parallel programs is notoriously difficult, and often requires significant expertise. To address this challenge, it is crucial to provide programmers with high-level tools to enable them to develop solutions easily, and at the same time emphasize the theoretical and practical aspects of algorithm design to allow the solutions developed to run efficiently under many different settings. This thesis addresses this challenge using a three-pronged approach consisting of the design of shared-memory programming techniques, frameworks, and algorithms for important problems in computing. The thesis provides evidence that with appropriate programming techniques, frameworks, and algorithms, shared-memory programs can be simple, fast, and scalable, both in theory and in practice. The results developed in this thesis serve to ease the transition into the multicore era. The first part of this thesis introduces tools and techniques for deterministic parallel programming, including means for encapsulating nondeterminism via powerful commutative building blocks, as well as a novel framework for executing sequential iterative loops in parallel, which lead to deterministic parallel algorithms that are efficient both in theory and in practice. The second part of this thesis introduces Ligra, the first high-level shared memory framework for parallel graph traversal algorithms. The framework allows programmers to express graph traversal algorithms using very short and concise code, delivers performance competitive with that of highly-optimized code, and is up to orders of magnitude faster than existing systems designed for distributed memory. This part of the thesis also introduces Ligra+, which extends Ligra with graph compression techniques to reduce space usage and improve parallel performance at the same time, and is also the first graph processing system to support in-memory graph compression. The third and fourth parts of this thesis bridge the gap between theory and practice in parallel algorithm design by introducing the first algorithms for a variety of important problems on graphs and strings that are efficient both in theory and in practice. For example, the thesis develops the first linear-work and polylogarithmic-depth algorithms for suffix tree construction and graph connectivity that are also practical, as well as a work-efficient, polylogarithmic-depth, and cache-efficient shared-memory algorithm for triangle computations that achieves a 2-5x speedup over the best existing algorithms on 40 cores. This is a revised version of the thesis that won the 2015 ACM Doctoral Dissertation Award.


Introduction to Parallel Computing

Introduction to Parallel Computing

Author: Ananth Grama

Publisher: Pearson Education

Published: 2003

Total Pages: 664

ISBN-13: 9780201648652

DOWNLOAD EBOOK

A complete source of information on almost all aspects of parallel computing from introduction, to architectures, to programming paradigms, to algorithms, to programming standards. It covers traditional Computer Science algorithms, scientific computing algorithms and data intensive algorithms.


Introduction to High Performance Computing for Scientists and Engineers

Introduction to High Performance Computing for Scientists and Engineers

Author: Georg Hager

Publisher: CRC Press

Published: 2010-07-02

Total Pages: 350

ISBN-13: 1439811938

DOWNLOAD EBOOK

Written by high performance computing (HPC) experts, Introduction to High Performance Computing for Scientists and Engineers provides a solid introduction to current mainstream computer architecture, dominant parallel programming models, and useful optimization strategies for scientific HPC. From working in a scientific computing center, the author


Mastering Cloud Computing

Mastering Cloud Computing

Author: Rajkumar Buyya

Publisher: Newnes

Published: 2013-04-05

Total Pages: 469

ISBN-13: 0124095399

DOWNLOAD EBOOK

Mastering Cloud Computing is designed for undergraduate students learning to develop cloud computing applications. Tomorrow's applications won't live on a single computer but will be deployed from and reside on a virtual server, accessible anywhere, any time. Tomorrow's application developers need to understand the requirements of building apps for these virtual systems, including concurrent programming, high-performance computing, and data-intensive systems. The book introduces the principles of distributed and parallel computing underlying cloud architectures and specifically focuses on virtualization, thread programming, task programming, and map-reduce programming. There are examples demonstrating all of these and more, with exercises and labs throughout. - Explains how to make design choices and tradeoffs to consider when building applications to run in a virtual cloud environment - Real-world case studies include scientific, business, and energy-efficiency considerations


Patterns for Parallel Programming

Patterns for Parallel Programming

Author: Timothy G. Mattson

Publisher: Pearson Education

Published: 2004-09-15

Total Pages: 786

ISBN-13: 0321630033

DOWNLOAD EBOOK

The Parallel Programming Guide for Every Software Developer From grids and clusters to next-generation game consoles, parallel computing is going mainstream. Innovations such as Hyper-Threading Technology, HyperTransport Technology, and multicore microprocessors from IBM, Intel, and Sun are accelerating the movement's growth. Only one thing is missing: programmers with the skills to meet the soaring demand for parallel software. That's where Patterns for Parallel Programming comes in. It's the first parallel programming guide written specifically to serve working software developers, not just computer scientists. The authors introduce a complete, highly accessible pattern language that will help any experienced developer "think parallel"-and start writing effective parallel code almost immediately. Instead of formal theory, they deliver proven solutions to the challenges faced by parallel programmers, and pragmatic guidance for using today's parallel APIs in the real world. Coverage includes: Understanding the parallel computing landscape and the challenges faced by parallel developers Finding the concurrency in a software design problem and decomposing it into concurrent tasks Managing the use of data across tasks Creating an algorithm structure that effectively exploits the concurrency you've identified Connecting your algorithmic structures to the APIs needed to implement them Specific software constructs for implementing parallel programs Working with today's leading parallel programming environments: OpenMP, MPI, and Java Patterns have helped thousands of programmers master object-oriented development and other complex programming technologies. With this book, you will learn that they're the best way to master parallel programming too.