دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: 2nd edition نویسندگان: Mistry, Perhaad, Kaeli, David R., Howes, Lee, Schaa, Dana, Gaster, Benedict & Lee Howes & David R. Kaeli & Perhaad Mistry & Dana Schaa سری: ISBN (شابک) : 9780124058941, 9780124055209 ناشر: Elsevier Science سال نشر: 2012 تعداد صفحات: 0 زبان: English فرمت فایل : EPUB (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 5 مگابایت
کلمات کلیدی مربوط به کتاب محاسبات ناهمگن با OpenCL،: رایانش ابری، مهندسی نرم افزار
در صورت تبدیل فایل کتاب Heterogeneous Computing with OpenCL, به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب محاسبات ناهمگن با OpenCL، نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
محاسبات ناهمگن با OpenCL، نسخه دوم، OpenCL و برنامه نویسی
موازی را برای سیستم های پیچیده آموزش می دهد که ممکن است شامل
انواع معماری دستگاه باشد: CPU های چند هسته ای، GPU ها و واحدهای
پردازش شتاب دهنده (APU) کاملاً یکپارچه مانند فناوری AMD Fusion.
این اولین کتاب درسی است که برنامه نویسی OpenCL را برای کلاس درس
ارائه می کند و برای پشتیبانی از دوره برنامه نویسی موازی
در نظر گرفته شده
است. دانش آموزان با تجربه عملی و دانش قابل توجهی از نحو و
استفاده از OpenCL برای پرداختن به طیف وسیعی از الگوریتم های
موازی اساسی از این متن دور خواهند شد. OpenCL که برای کار بر روی
چندین پلتفرم و با پشتیبانی صنعتی گسترده طراحی شده است، به شما
کمک می کند تا برای آینده ای ناهمگن برنامه ریزی موثرتری داشته
باشید. نوشته شده توسط رهبران در محاسبات موازی و جوامع OpenCL،
محاسبات ناهمگن با OpenCL فضاهای حافظه، تکنیک های بهینه سازی،
قابلیت همکاری گرافیکی، برنامه های افزودنی، و اشکال زدایی و
پروفایل را بررسی می کند. این کتاب شامل مثالهای دقیق، بهعلاوه
تمرینهای آنلاین اضافی و سایر مطالب پشتیبانی است که میتوانید
در http://www.heterogeneouscompute.org/?page_id=7 دانلود کنید.
دانش آموزان. اصول و استراتژی های یادگیری برنامه نویسی موازی با
OpenCL، از درک چهار مدل انتزاعی تا آزمایش کامل و اشکال زدایی
برنامه های کاربردی کامل را توضیح می دهد. پردازش تصویر، پلاگین
های وب، شبیه سازی ذرات، ویرایش ویدئو، بهینه سازی عملکرد و موارد
دیگر را پوشش می دهد. نشان میدهد که چگونه OpenCL به یک معماری
هدف نمونه نقشه میدهد و برخی از معاوضههای مرتبط با نگاشت به
معماریهای مختلف را توضیح میدهد. طیفی از تکنیکهای
برنامهنویسی اساسی را با مثالها و مطالعات موردی متعدد نشان
میدهد که پسوندهای OpenCL را برای انواع پلتفرمهای سختافزاری
نشان میدهد. ادامه
مطلب...
چکیده: محاسبات ناهمگن با OpenCL، نسخه دوم به آموزش OpenCL و
برنامه نویسی موازی برای سیستم های پیچیده می پردازد. ممکن است
شامل انواع معماری دستگاه باشد: پردازندههای چند هستهای،
پردازندههای گرافیکی، و واحدهای پردازش تسریع شده (APU) کاملاً
یکپارچه مانند فناوری AMD Fusion. این اولین کتاب درسی است که
برنامه نویسی OpenCL را برای کلاس درس ارائه می دهد و برای
پشتیبانی از یک دوره برنامه نویسی موازی در نظر گرفته شده است.
دانش آموزان با تجربه عملی و دانش قابل توجهی از نحو و استفاده از
OpenCL برای پرداختن به طیف وسیعی از الگوریتم های موازی اساسی از
این متن دور خواهند شد. OpenCL که برای کار بر روی چندین پلتفرم و
با پشتیبانی صنعتی گسترده طراحی شده است، به شما کمک می کند تا
برای آینده ای ناهمگن برنامه ریزی موثرتری داشته باشید. نوشته شده
توسط رهبران در محاسبات موازی و جوامع OpenCL، محاسبات ناهمگن با
OpenCL فضاهای حافظه، تکنیک های بهینه سازی، قابلیت همکاری
گرافیکی، برنامه های افزودنی، و اشکال زدایی و پروفایل را بررسی
می کند. این کتاب شامل مثالهای دقیق، بهعلاوه تمرینهای آنلاین
اضافی و سایر مطالب پشتیبانی است که میتوانید در
http://www.heterogeneouscompute.org/?page_id=7 دانلود کنید.
دانش آموزان. اصول و استراتژی های یادگیری برنامه نویسی موازی با
OpenCL، از درک چهار مدل انتزاعی تا آزمایش کامل و اشکال زدایی
برنامه های کاربردی کامل را توضیح می دهد. پردازش تصویر، پلاگین
های وب، شبیه سازی ذرات، ویرایش ویدئو، بهینه سازی عملکرد و موارد
دیگر را پوشش می دهد. نشان میدهد که چگونه OpenCL به یک معماری
هدف نمونه نقشه میدهد و برخی از معاوضههای مرتبط با نگاشت به
معماریهای مختلف را توضیح میدهد. به طیفی از تکنیکهای
برنامهنویسی اساسی، با مثالها و مطالعات موردی متعدد که
پسوندهای OpenCL را برای انواع پلتفرمهای سختافزاری نشان
میدهد، میپردازد.
Heterogeneous Computing with OpenCL, Second Edition teaches
OpenCL and parallel programming for complex systems that may
include a variety of device architectures: multi-core CPUs,
GPUs, and fully-integrated Accelerated Processing Units (APUs)
such as AMD Fusion technology. It is the first textbook that
presents OpenCL programming appropriate for the classroom and
is intended to support a parallel programming course. Students will come away
from this text with hands-on experience and significant
knowledge of the syntax and use of OpenCL to address a range of
fundamental parallel algorithms. Designed to work on multiple
platforms and with wide industry support, OpenCL will help you
more effectively program for a heterogeneous future. Written by
leaders in the parallel computing and OpenCL communities,
Heterogeneous Computing with OpenCL explores memory spaces,
optimization techniques, graphics interoperability, extensions,
and debugging and profiling. It includes detailed examples
throughout, plus additional online exercises and other
supporting materials that can be downloaded at
http://www.heterogeneouscompute.org/?page_id=7 This book will
appeal to software engineers, programmers, hardware engineers,
and students/advanced students. Explains principles and
strategies to learn parallel programming with OpenCL, from
understanding the four abstraction models to thoroughly testing
and debugging complete applications. Covers image processing,
web plugins, particle simulations, video editing, performance
optimization, and more. Shows how OpenCL maps to an example
target architecture and explains some of the tradeoffs
associated with mapping to various architectures Addresses a
range of fundamental programming techniques, with multiple
examples and case studies that demonstrate OpenCL extensions
for a variety of hardware platforms. Read
more...
Abstract: Heterogeneous Computing with OpenCL, Second Edition
teaches OpenCL and parallel programming for complex systems
that may include a variety of device architectures: multi-core
CPUs, GPUs, and fully-integrated Accelerated Processing Units
(APUs) such as AMD Fusion technology. It is the first textbook
that presents OpenCL programming appropriate for the classroom
and is intended to support a parallel programming course.
Students will come away from this text with hands-on experience
and significant knowledge of the syntax and use of OpenCL to
address a range of fundamental parallel algorithms. Designed to
work on multiple platforms and with wide industry support,
OpenCL will help you more effectively program for a
heterogeneous future. Written by leaders in the parallel
computing and OpenCL communities, Heterogeneous Computing with
OpenCL explores memory spaces, optimization techniques,
graphics interoperability, extensions, and debugging and
profiling. It includes detailed examples throughout, plus
additional online exercises and other supporting materials that
can be downloaded at
http://www.heterogeneouscompute.org/?page_id=7 This book will
appeal to software engineers, programmers, hardware engineers,
and students/advanced students. Explains principles and
strategies to learn parallel programming with OpenCL, from
understanding the four abstraction models to thoroughly testing
and debugging complete applications. Covers image processing,
web plugins, particle simulations, video editing, performance
optimization, and more. Shows how OpenCL maps to an example
target architecture and explains some of the tradeoffs
associated with mapping to various architectures Addresses a
range of fundamental programming techniques, with multiple
examples and case studies that demonstrate OpenCL extensions
for a variety of hardware platforms
Front Cover......Page 1
HeterogeneousComputing withOpenCL......Page 4
Copyright......Page 5
Contents......Page 6
Foreword to the RevisedOpenCL 1.2 Edition......Page 7
Foreword to the First Edition......Page 9
This Text......Page 12
Acknowledgments......Page 14
About the Authors......Page 15
OpenCL......Page 18
Thinking Parallel......Page 19
Concurrency and Parallel Programming Models......Page 23
Message-Passing Communication......Page 26
Different Grains of Parallelism......Page 27
Structure......Page 28
Further Reading and Relevant Websites......Page 30
The OpenCL Specification......Page 32
Kernels and the OpenCL Execution Model......Page 33
Host-Device Interaction......Page 36
Command Queues......Page 39
Events......Page 40
Buffers......Page 41
Images......Page 42
Creating an OpenCL Program Object......Page 43
The OpenCL Kernel......Page 44
Memory Model......Page 46
Writing Kernels......Page 48
Full Source Code Example for Vector Addition......Page 49
Vector Addition with C++ Wrapper......Page 52
Reference......Page 55
Hardware trade-offs......Page 56
Performance Increase by Frequency, and Its Limitations......Page 58
VLIW......Page 59
SIMD and Vector Processing......Page 62
Hardware Multithreading......Page 63
Multi-Core Architectures......Page 66
Integration: Systems-on-Chip and the APU......Page 68
Cache Hierarchies and Memory Systems......Page 69
The architectural design space......Page 70
Low-Power CPUs......Page 71
Mainstream Desktop CPUs......Page 73
Niagara......Page 74
Handheld GPUs......Page 75
At the High End: AMD Radeon HD7970 and NVIDIA GTX580......Page 76
APU and APU-Like Designs......Page 78
Summary......Page 80
References......Page 81
Simple Matrix Multiplication Example......Page 82
Step 1: Set Up Environment......Page 84
Step 2: Declare Buffers and Move Data......Page 85
Step 4: Run the Program......Page 87
Image Rotation Example......Page 88
Step 3: Runtime Kernel Compilation......Page 91
Image Convolution Example......Page 92
Step 1: Create Image and Buffer Objects......Page 93
Step 2: Write the Input Data......Page 96
Step 5: Read the Result......Page 97
The Convolution Kernel......Page 98
Compiling OpenCL Host Applications......Page 99
Summary......Page 100
Kernels, Work-Items, Workgroups, and the Execution Domain......Page 102
OpenCL Synchronization: Kernels, Fences, and Barriers......Page 105
Queuing and Global Synchronization......Page 109
Events......Page 111
Command Queues to Multiple Devices......Page 114
User Events......Page 118
Event Callbacks......Page 119
Native Kernels......Page 122
Command Barriers and Markers......Page 123
The Host-Side Memory Model......Page 124
Buffers......Page 125
Manipulating Buffer Objects......Page 126
Images......Page 128
The Device-Side Memory Model......Page 130
Device-Side Relaxed Consistency......Page 131
Global Memory......Page 132
Local Memory......Page 134
Constant Memory......Page 136
Summary......Page 137
OpenCL on an AMD Bulldozer CPU......Page 138
OpenCL on the AMD Radeon HD7970 GPU......Page 143
Threading and the Memory System......Page 145
Instruction Execution on the HD7970 Architecture......Page 147
The Shift from VLIW Execution......Page 151
Resource Allocation......Page 152
OpenCL Global Memory......Page 153
Local Memory as a Software-Managed Cache......Page 157
References......Page 163
Memory management......Page 164
Optimizations......Page 166
Zero-Copy Buffers......Page 167
Data placement in a shared-memory environment......Page 168
Local Memory......Page 170
Uncached System Memory......Page 171
Example application-work group reduction......Page 172
Using a Discrete GPU Device......Page 173
Case4 Combination......Page 174
Case1 Using local memory buffers......Page 175
References......Page 176
Selecting Workgroup Sizes......Page 178
Caching Data to Local Memory......Page 181
Aligning for Memory Accesses......Page 183
Improving Efficiency with Vector Reads......Page 185
Improving Performance with Loop Unrolling......Page 187
Conclusions......Page 188
Host Code......Page 189
Kernel Code......Page 193
Reference......Page 198
Choosing the Number of Workgroups......Page 200
Choosing the Optimal Workgroup Size......Page 201
Optimizing Global Memory Data Access Patterns......Page 202
Using Atomics to Perform Local Histogram......Page 204
Optimizing Local Memory Access......Page 205
Local Histogram Reduction......Page 207
Full Kernel Code......Page 208
Performance and Summary......Page 211
Introduction......Page 212
Overview of the Computation......Page 213
Buffer Creation......Page 215
Computing Collisions......Page 216
CPU Implementation......Page 217
Load Balancing......Page 218
Performance and Summary......Page 219
Kernel for Uniform Grid Creation......Page 220
Kernels for Simulation......Page 221
Overview of Extension Mechanism......Page 226
Device Fission......Page 229
Double Precision......Page 240
References......Page 248
Beyond C and C++......Page 250
Haskell OpenCL......Page 252
Reference Counting......Page 254
Platform and Devices......Page 255
Buffers......Page 256
Full Source Code Example for Vector Addition......Page 257
References......Page 258
Introduction......Page 260
Profiling with Events......Page 261
AMD Accelerated Parallel Processing Profiler......Page 263
Collecting OpenCL Application Trace......Page 264
Summary Pages View......Page 266
Collecting OpenCL GPU Kernel Performance Counters......Page 267
AMD Accelerated Parallel Processing KernelAnalyzer......Page 268
Using the Application Trace to Find the Application Bottleneck......Page 270
Using the GPU Performance Counters to Find the Bottleneck in the Kernel......Page 272
Debugging OpenCL Applications......Page 273
Debugging Parallel OpenCL Applications with gDEBugger......Page 274
API-Level Debugging......Page 275
AMD Printf Extension......Page 276
Conclusion......Page 278
Introduction......Page 280
Description of the algorithm......Page 281
Migrating multithreaded CPU implementation to OpenCL......Page 283
Hotspot Analysis......Page 284
Kernel Development and Static Analysis......Page 286
Performance optimization......Page 287
Kernel Occupancy for AMD Radeon HD5000/6000 Series......Page 288
Kernel Occupancy for AMD Radeon HD 7000......Page 291
Impact of Workgroup Size......Page 292
Impact of VGPR and LDS......Page 298
Power and performance analysis......Page 300
References......Page 301