Heterogenous Computing with OpenCL
Material type:
TextPublication details: Waltham, MA ; Morgan Kaufmann; 2012Description: xvi, 277p. : ill; Includes indexISBN: - 978-0-12-387766-6
- C 005.2752 H45
| Item type | Current library | Call number | Status | Barcode | |
|---|---|---|---|---|---|
|
|
PCC CIRCULATION | C 005.2752 H45 (Browse shelf(Opens below)) | Available | 5171 |
Browsing PCC shelves, Shelving location: CIRCULATION Close shelf browser (Hides shelf browser)
| C 005.268 P94 Professional visual basic 2010 and .net 4 | C 005.2726 Sp1b Beginning ASP.Net 4 in C# and VB | C 005.2726 W46p PHP and MySQL web development | C 005.2752 H45 Heterogenous Computing with OpenCL | C 005.276 B38p The principles of beautiful web design | C 005.2762 B73p Programming in Visual Basic 2008 | C 005.2762 M51s Sams teach yourself PHP, MySQL and Apache all in one |
OUR HETEROGENEOUS WORLD Our world is heterogeneous in nature. This kind of diversity provides a richness and detail that is difficult to describe. At the same time, it provides a level of complexity and interaction in which a wide range of different entities are optimized for specific tasks and environments. In computing, heterogeneous computer systems also add richness by allowing the programmer to select the best architecture to execute the task at hand or to choose the right task to make optimal use of a given architecture. These two views of the flex-ibility of a heterogeneous system both become apparent when solving a computa-tional problem involves a variety of different tasks. Recently, there has been an upsurge in the computer design community experimenting with building heteroge-neous systems. We are seeing new systems on the market that combine a number of different classes of architectures. What has slowed this progression has been a lack of standardized programming environment that can manage the diverse set of resources in a common framework. OPENCL OpenCL has been developed specifically to ease the programming burden when writ-ing applications for heterogeneous systems. OpenCL also addresses the current trend to increase the number of cores on a given architecture. The OpenCL framework sup-ports execution on multi-core central processing units, digital signal processors, field programmable gate arrays, graphics processing units, and heterogeneous accelerated processing units. The architectures already supported cover a wide range of ap-proaches to extracting parallelism and efficiency from memory systems and instruc-tion streams. Such diversity in architectures allows the designer to provide an optimized solution to his or her problem a solution that, if designed within the OpenCL specification, can scale with the growth and breadth of available architec-tures. OpenCL's standard abstractions and interfaces allow the programmer to seam-lessly stitch together an application within which execution can occur on a rich set of heterogeneous devices from one or many manufacturers. THIS TEXT Until now, there has not been a single definitive text that can help programmers and software engineers leverage the power and flexibility of the OpenCL programming standard. This is our attempt to address this void. With this goal in mind, we have not attempted to create a syntax guide there are numerous good sources in which programmers can find a complete and up-to-date description of OpenCL syntax. Instead, this text is an attempt to show a developer or student how to leverage the OpenCL framework to build interesting and useful applications. We provide a number of examples of real applications to demonstrate the power of this program-ming standard. Our hope is that the reader will embrace this new programming framework and explore the full benefits of heterogeneous computing that it provides. We welcome comments on how to improve upon this text, and we hope that this text will help you build your next heterogeneous application.
There are no comments on this title.