Although multicore is now a mainstream architecture, there are few textbooks that cover parallel multicore architectures. Filling this gap, Fundamentals of Parallel Multicore Architecture provides all the material for a graduate or senior undergraduate course that focuses on the architecture of multicore processors. The book is also useful as a reference for professionals who deal with programming on multicore or designing multicore chips.
The text's coverage of fundamental topics prepares students to study research papers in the multicore architecture area....
Although multicore is now a mainstream architecture, there are few textbooks that cover parallel multicore architectures. Filling this gap,
Written by one of the foremost experts in high-performance computing and the inventor of Gustafson s Law, The End of Error: Unum Computing explains a new approach to computer arithmetic: the universal number (unum). The unum encompasses all IEEE floating-point formats as well as fixed-point and exact integer arithmetic. This new number type obtains more accurate answers than floating-point arithmetic yet uses fewer bits in many cases, saving memory, bandwidth, energy, and power.
A Complete Revamp of...
The Future of Numerical Computing
Written by one of the foremost experts in high-performance computing and the inventor of ...
HPC is used to solve a number of complex questions in computational and data-intensive sciences. These questions include the simulation and modeling of physical phenomena, such as climate change, energy production, drug design, global security, and materials design; the analysis of large data sets such as those in genome sequencing, astronomical observation, and cybersecurity; and the intricate design of engineered products, such as airplanes and automobiles.
This second volume of Contemporary High Performance Computing: From Petascale toward Exascale continues to document...
HPC is used to solve a number of complex questions in computational and data-intensive sciences. These questions include the simulation and modelin...
This book provides a hands-on, class-tested introduction to CUDA and GPU programming. It begins by introducing CPU programming and the concepts of P-threads, thread programming, multi-tasking, and parallelism, and then interweaves those concepts into an introduction of GPU programming. Using Nvidia's new platform, based on Amazon EC2 and Web GPU, the book uses a standardized architecture, while also exploring other architectures and their differences. The book also covers GPU multi-threading and Global Memory, CUDA atomics and the use of libraries on GPUs. Example applications in image...
This book provides a hands-on, class-tested introduction to CUDA and GPU programming. It begins by introducing CPU programming and the concepts of ...
Software Engineering for Science provides an in-depth collection of peer-reviewed chapters that describe experiences with applying software engineering practices to the development of scientific software. It provides a better understanding of how software engineering is and should be practiced, and which software engineering practices are effective for scientific software.
The book starts with a detailed overview of the Scientific Software Lifecycle, and a general overview of the scientific software development process. It highlights key issues commonly arising...
Software Engineering for Science provides an in-depth collection of peer-reviewed chapters that describe experiences with applying...
Designed for introductory parallel computing courses at the advanced undergraduate or beginning graduate level, Elements of Parallel Computing presents the fundamental concepts of parallel computing not from the point of view of hardware, but from a more abstract view of algorithmic and implementation patterns. The aim is to facilitate the teaching of parallel programming by surveying some key algorithmic structures and programming models, together with an abstract representation of the underlying hardware. The presentation is friendly and informal. The content of the book...
Designed for introductory parallel computing courses at the advanced undergraduate or beginning graduate level, Elements of Parallel Computi...
Visualization and analysis tools, techniques, and algorithms have undergone a rapid evolution in recent decades to accommodate explosive growth in data size and complexity and to exploit emerging multi- and many-core computational platforms. High Performance Visualization: Enabling Extreme-Scale Scientific Insight focuses on the subset of scientific visualization concerned with algorithm design, implementation, and optimization for use on today s largest computational platforms.
The book collects some of the most seminal work in the field, including...
Visualization and analysis tools, techniques, and algorithms have undergone a rapid evolution in recent decades to accommodate explosive growth in ...
Data-intensive science has the potential to transform scientific research and quickly translate scientific progress into complete solutions, policies, and economic success. But this collaborative science is still lacking the effective access and exchange of knowledge among scientists, researchers, and policy makers across a range of disciplines. Bringing together leaders from multiple scientific disciplines, Data-Intensive Science shows how a comprehensive integration of various techniques and technological advances can effectively harness the vast amount of data being...
Data-intensive science has the potential to transform scientific research and quickly translate scientific progress into complete solutions, polici...
This book will focus on the development of scalable and performance portable scientific applications for future exascale computer systems. The main body of the book will be a series of chapters that center on the programming practices of application developers to achieve scalability on high-end computer systems while at the same time maintain architectural and performance portability for different computer technologies. Scientific application developers learn best by example, and this book will be designed to provide a wide range of examples of what developers have done and are doing to...
This book will focus on the development of scalable and performance portable scientific applications for future exascale computer systems. The main...