Home | Amazing | Today | Tags | Publishers | Years | Account | Search 
An Introduction to Parallel Programming

Buy

Parallel hardware has been ubiquitous for some time now. It’s difficult to find a laptop, desktop, or server that doesn’t use a multicore processor. Beowulf clusters are nearly as common today as high-powered workstations were during the 1990s, and cloud computing could make distributed-memory systems as accessible as desktops. In spite of this, most computer science majors graduate with little or no experience in parallel programming. Many colleges and universities offer upper-division elective courses in parallel computing, but since most computer science majors have to take numerous required courses, many graduate without ever writing a multithreaded or multiprocess program.

It seems clear that this state of affairs needs to change. Although many programs can obtain satisfactory performance on a single core, computer scientists should be made aware of the potentially vast performance improvements that can be obtained with parallelism, and they should be able to exploit this potential when the need arises.

An Introduction to Parallel Programming was written to partially address this problem. It provides an introduction to writing parallel programs using MPI, Pthreads, and OpenMP—three of the most widely used application programming interfaces (APIs) for parallel programming. The intended audience is students and professionals who need to write parallel programs. The prerequisites are minimal: a college-level course in mathematics and the ability to write serial programs in C. They are minimal because we believe that students should be able to start programming parallel systems as early as possible.

At the University of San Francisco, computer science students can fulfill a requirement for the major by taking the course, on which this text is based, immediately after taking the “Introduction to Computer Science I” course that most majors take in the first semester of their freshman year. We’ve been offering this course in parallel computing for six years now, and it has been our experience that there really is no reason for students to defer writing parallel programs until their junior or senior year. To the contrary, the course is popular, and students have found that using concurrency in other courses is much easier after having taken the Introduction course.

If second-semester freshmen can learn to write parallel programs by taking a class, then motivated computing professionals should be able to learn to write parallel programs through self-study.We hope this book will prove to be a useful resource for them.

(HTML tags aren't allowed.)

Fire Safety Engineering, Second Edition: Design of Structures
Fire Safety Engineering, Second Edition: Design of Structures
.Design methods based on the fire sections of the new Structural Eurocodes

.Worked calculations and examples clearly illustrate the effect of temperature rise and structural performance of structural elements

.Essential reading for Structural Engineers, Building Designers, Architects, Fire Engineers and Building Control
...
Network+ Exam Cram 2 (Exam Cram N10-003) (2nd Edition) (Exam Cram 2)
Network+ Exam Cram 2 (Exam Cram N10-003) (2nd Edition) (Exam Cram 2)
Attention Network + Candidates: Stop spending valuable study time sorting through confusing study aids. Network + Exam Cram 2 is the second edition of a best-selling Network + study guide that gives you unique insight into exam concepts. Packed with test-taking strategies, time-saving tips and Exam Notes, only the...
Cisco Wireless LAN Security
Cisco Wireless LAN Security

Cisco Wireless LAN Security is an in-depth guide to wireless LAN technology and security, introducing the key aspects of 802.11 security by illustrating major wireless LAN (WLAN) standards that can protect the entire network. Because a WLAN is less effective as an isolated piece of the...


Patterns of Software: Tales from the Software Community
Patterns of Software: Tales from the Software Community
"This is a clear, insightful book that takes an alternative look at some of the broader issues surrounding software development.... The commentary on the work of Christopher Alexander, currently being taken up so fervently by the software architecture community, is particularly appealing."--Sanjiv Gossain, Associate Director, Cambridge...
Bead Stitching Handbook
Bead Stitching Handbook
Bead stitchers looking for information and instructions for the major bead stitches will find it all in Bead Stitching Handbook. This complete reference to bead stitching techniques ? the only one of its kind just for stitching ? includes clear, step-by-step illustrations and instructions for 15 different bead stitches, plus variations and lots...
Beginning Mac OS X Snow Leopard Server: From Solo Install to Enterprise Integration
Beginning Mac OS X Snow Leopard Server: From Solo Install to Enterprise Integration

This book is intended for those who need to get things done with Mac OS X Server 10.6. As such, you can use this book two ways. Those new to Mac OS X Server can read straight through the entire book, and by the end should feel competent to administer any Mac server thrown their way. For those with some knowledge of Mac OS X Server, or perhaps...

©2021 LearnIT (support@pdfchm.net) - Privacy Policy