没有合适的资源?快使用搜索试试~ 我知道了~
The OpenCL Programming Book
5星 · 超过95%的资源 需积分: 10 55 下载量 105 浏览量
2012-01-05
17:19:18
上传
评论 1
收藏 3.25MB PDF 举报
温馨提示
试读
246页
[PDF]非常适合入门理解的opencl蓝宝书---The OpenCL Programming Book 原文是日本人写的日文书,再由日本人翻译为英文。 作者是貌似参加了opencl规范的编写和制定。记忆模糊,作者名字貌似在哪看到过(opencl的标准文档?),兄弟姐妹们可以去求证一下。 完美书签,非扫描版,原生态图文混编的safari电子书。
资源推荐
资源详情
资源评论
The OpenCL Programming Book
2
The OpenCL Programming Book. Copyright © 2010 Fixstars Corporation. All rights reserved.
Based on The Impress Japan Corporation publication "The OpenCL Programming Book
(OpenCL Nyumon) " by Fixstars Corporation.
Printed edition copyright © 2009 Fixstars Corporation and Impress Japan Corporation. All
rights reserved.
The company names, product names, and service names are registered trademarks, or
trademarks that belong to the corresponding companies. The ®, ™, and © marks are however
not included in course of the text.
Fixstars Corporations may not be held responsible for any damages caused from usage of the
book content.
The content of the book is up to date as of March, 2010. The product/service names
introduced in the book may potentially change over time.
The OpenCL Programming Book
3
Contents
Foreword 4
Foreword 6
Acknowledgment 7
Abou the Authors 8
Introduction to Parallelization 10
Why Parallel 10
Parallel Computing (Hardware) 10
Parallel Computing (Software) 15
Conclusion 30
OpenCL 31
What is OpenCL? 31
Historical Background 31
An Overview of OpenCL 34
Why OpenCL? 36
Applicable Platforms 37
OpenCL Setup 41
Available OpenCL Environments 41
Developing Environment Setup 44
First OpenCL Program 51
Basic OpenCL 59
Basic Program Flow 59
Online/Offline Compilation 67
Calling the Kernel 77
Advanced OpenCL 98
OpenCL C 98
OpenCL Programming Practice 131
Case Study 164
FFT (Fast Fourier Transform) 164
Mersenne Twister 200
Notes 245
The OpenCL Programming Book
4
Foreword
“The free lunch is over.”
The history of computing has entered a new era. Until a few years ago, the CPU clock speed
determined how fast a program will run. I vividly recall having a discussion on the topic of
software performance optimization with a System Engineer back in 2000, to which his stance was,
“the passing of time will take care of it all,” due to the improving technology. However, with the
CPU clock speed leveling off at around 2005, it is now solely up to the programmer to make the
software run faster. The free lunch is over. The processor venders have given up on increasing
CPU clock speed, and are now taking the approach of raising the number of cores per processor in
order to gain performance capability.
In recent years, many multi-core processors were born, and many developing methods were
proposed. Programmers were forced to grudgingly learn a new language for every new type of
processor architecture. Naturally, this caused a rise in demand for one language capable of
handling any architecture types, and finally, an open standard was recently established. The
standard is now known as “OpenCL”.
With the khronos group leading the way (known for their management of the OpenGL standard),
numerous vendors are now working together to create a standard framework for the multi-core
era.
Will this new specification become standardized? Will it truly be able to get the most out of
multi-core systems? Will it help take some weight off the programmer’s shoulders? Will it
allow for compatible programs to be written for various architectures? Whether the answers to
these questions become “Yes” or “No” depends on the efforts of everyone involved. The
framework must be designed to support various architectures. Many new tools and libraries
must be developed. It must also be well-received by many programmers. This is no easy task,
as evidenced by the fact that countless programming languages continually appear and disappear.
However, one sure fact is that a new standard developing method is necessary for the new
multi-core era. Another sure fact is that “OpenCL” is currently in the closest position to
becoming that new standard.
The Fixstars Corporation, who authors this book, has been developing softwares for the Cell
The OpenCL Programming Book
5
Broadband Engine co-developed by Sony, Toshiba, and IBM, since 2004. We have been awed
by the innovative idea of the Cell B.E. enough to battle its infamously difficult hardware design,
in order to see the performance capability of the processor in action. We have also been amazed
by the capability of the GPU, when its full power is unleashed by efficient usage of the hundreds
of cores that exist within. Meanwhile, many of our clients had been expressing their distaste for
the lack of standards between the different architectures, leading us to want an open framework.
Therefore, “OpenCL” is a framework that developed solely out of need.
OpenCL is still in its infancy, and thus not every need can be fulfilled. We write this book in
hopes that the readers of this book learns, uses, and contribute to the development of OpenCL,
and thus become part of the ongoing evolution that is this multi-core era.
Fixstars Corporation
Chief Executive Officer
Satoshi Miki
剩余245页未读,继续阅读
crystal_avast
- 粉丝: 50
- 资源: 29
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页