Listing 1 - 10 of 83 | << page >> |
Sort by
|
Choose an application
Parallel Programming with OpenACC is a modern, practical guide to implementing dependable computing systems. The book explains how anyone can use OpenACC to quickly ramp-up application performance using high-level code directives called pragmas. The OpenACC directive-based programming model is designed to provide a simple, yet powerful, approach to accelerators without significant programming effort. Author Rob Farber, working with a team of expert contributors, demonstrates how to turn existing applications into portable GPU accelerated programs that demonstrate immediate speedups. The book also helps users get the most from the latest NVIDIA and AMD GPU plus multicore CPU architectures (and soon for Intel® Xeon Phi™ as well). Downloadable example codes provide hands-on OpenACC experience for common problems in scientific, commercial, big-data, and real-time systems. Topics include writing reusable code, asynchronous capabilities, using libraries, multicore clusters, and much more. Each chapter explains how a specific aspect of OpenACC technology fits, how it works, and the pitfalls to avoid. Throughout, the book demonstrates how the use of simple working examples that can be adapted to solve application needs. Presents the simplest way to leverage GPUs to achieve application speedups Shows how OpenACC works, including working examples that can be adapted for application needs Allows readers to download source code and slides from the book's companion web page
Choose an application
The rapid and widespread acceptance of shared-memory multiprocessor architectures has created a pressing demand for an efficient way to program these systems. At the same time, developers of technical and scientific applications in industry and in government laboratories find they need to parallelize huge volumes of code in a portable fashion. OpenMP, developed jointly by several parallel computing vendors to address these issues, is an industry-wide standard for programming shared-memory and distributed shared-memory multiprocessors. It consists of a set of compiler directives and libr
Choose an application
Choose an application
"Recent developments in parallel computing mean that the use of machine learning techniques and intelligence to handle the huge volume of available data have brought the faster solutions offered by advanced technologies to various fields of application. This book presents the proceedings of the Virtual International Conference on Advances in Parallel Computing Technologies and Applications (ICAPTA 2021), hosted in Chennai, India, and held online as a virtual event on 15 and 16 April 2021.The aim of the conference was to provide a forum for sharing knowledge in various aspects of parallel computing in communications systems and networking, including cloud and virtualization solutions, management technologies, and vertical application areas. It also provided a platform for scientists, researchers, practitioners and academicians to present and discuss the most recent innovations and trends, as well as the concerns and practical challenges encountered in this field. Included here are 52 full length papers, accepted from over 100 submissions based on the reviews and comments of subject experts. Topics covered include parallel computing in communication, machine learning intelligence for parallel computing and parallel computing for software services in theoretical and practical aspects. Providing an overview of the latest developments in the field, the book will be of interest to all those whose work involves the use of parallel computing technologies"--
Choose an application
Enhance your enterprise application development skills by mastering parallel programming techniques in .NET and C# Key Features Write efficient, fine-grained, and scalable parallel code with C# and .NET Core Experience how parallel programming works by building a powerful application Learn the fundamentals of multithreading by working with IIS and Kestrel Book Description In today's world, every CPU has a multi-core processor. However, unless your application has implemented parallel programming, it will fail to utilize the hardware's full processing capacity. This book will show you how to write modern software on the optimized and high-performing .NET Core 3 framework using C# 8. Hands-On Parallel Programming with C# 8 and .NET Core 3 covers how to build multithreaded, concurrent, and optimized applications that harness the power of multi-core processors. Once you've understood the fundamentals of threading and concurrency, you'll gain insights into the data structure in .NET Core that supports parallelism. The book will then help you perform asynchronous programming in C# and diagnose and debug parallel code effectively. You'll also get to grips with the new Kestrel server and understand the difference between the IIS and Kestrel operating models. Finally, you'll learn best practices such as test-driven development, and run unit tests on your parallel code. By the end of the book, you'll have developed a deep understanding of the core concepts of concurrency and asynchrony to create responsive applications that are not CPU-intensive. What you will learn Analyze and break down a problem statement for parallelism Explore the APM and EAP patterns and how to move legacy code to Task Apply reduction techniques to get aggregated results Create PLINQ queries and study the factors that impact their performance Solve concurrency problems caused by producer-consumer race conditions Discover the synchronization primitives available in .NET Core Understand how the threading model works with IIS and Kestrel Find out how you can make the most of server resources Who this book is for If you want to learn how task parallelism is used to build robust and scalable enterprise architecture, this book is for you. Whether you are a beginner to parallelism in C# or an experienced architect, you'll find this book useful to gain insights into the different threading models supported in .NET Standard and .NET Core. Prior knowledge of C# is required to understand the...
Choose an application
If you need to learn CUDA but don't have experience with parallel computing, CUDA Programming: A Developer's Introduction offers a detailed guide to CUDA with a grounding in parallel fundamentals. It starts by introducing CUDA and bringing you up to speed on GPU parallelism and hardware, then delving into CUDA installation. Chapters on core concepts including threads, blocks, grids, and memory focus on both parallel and CUDA-specific issues. Later, the book demonstrates CUDA in practice for optimizing applications, adjusting to new hardware, and solving common problems.
Choose an application
This is an introduction to those aspects of parallel programming and parallel algorithms that relate to a single topic: the prefix problem. This approach provides intense development of a single computational tool used in many parallel computations, showing and discussing its techniques. This may be used for graduate courses, seminars and topics courses.
Choose an application
Choose an application
Choose an application
Die ersten Kapitel konzentrieren sich auf die Informatik und beinhalten informatische Grundbegriffe, Rechnerarchitekturen und ein Performancemodell, OpenMP als Programmierumgebung für Mehrkernrechner und MPI und PVM als Programmiermodelle für Rechner mit verteiltem Speicher. Anschließend werden mathematische Algorithmen, Performancebetrachtungen, Design paralleler Programme und Ausführungen zu Simulationsprogrammen aus den Ingenieur- und Naturwissenschaften gegenübergestellt. Die nächsten Kapitel sind Performancebetrachtungen und Parallelisierungsstrategien für mathematische Algorithmen gewidmet, bevor abschließend GPUs behandelt und Teile der zuvor erläuterten Algorithmen auf diese übertragen und diskutiert werden. Roter Faden durch das mit vielen Erläuterungen und Quelltextbeispielen angereicherte Buch ist die Performanceanalyse unterschiedlicher Speicherungstechniken von Feldern am Beispiel der algorithmischen Lösung linearer Gleichungssysteme. Dazu wird zunächst das Gaußsche Eliminationsverfahren auf ein Blockverfahren umgestellt und dieses mit sehr hoher Performance auf einem Mehrkernrechner parallelisiert. Bei der iterativen Lösung linearer Gleichungssysteme steht das konjugierte Gradienten-Verfahren und seine fein granulare Parallelisierung im Vordergrund. Besonderes Augenmerk richtet sich dabei auf die Matrix-Vektor-Multiplikation und die Abhängigkeit der Performance von der Speicherungstechnik der Matrix. Gebietszerlegungsmethoden zur Lösung linearer Gleichungssysteme bieten einen grob granularen Parallelisierungsansatz, der für das massiv parallele Rechnen der fein granularen Parallelisierung auf Schleifenebene überlegen ist.
Listing 1 - 10 of 83 | << page >> |
Sort by
|