]> AND Private Git Repository - book_gpu.git/blob - BookGPU/frontmatter/preface.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
new
[book_gpu.git] / BookGPU / frontmatter / preface.tex
1
2 This book is intended to present the design of significant scientific
3 applications on GPUs. Scientific applications require more and more
4 computational power in a large vaariety of fields: biology, physics,
5 chemisty, phenomon model and prediction, simulation, mathematics, ...
6
7 In order to be able to handle more complex applications, the use of
8 parallel architectures is the solution to decrease the execution
9 times of theses applications. Using simulataneously many computing
10 cores can significantly speed up the processing time.
11
12 Nevertheless using parallel architectures is not so easy and has
13 always required an endeavor to parallelize an application. Nowadays
14 with general purpose graphics processing units (GPGPU), it is possible
15 to use either general graphic cards or dedicated graphic cards to benefit from
16 the computational power of all the cores available inside these
17 cards. The NVidia company introduced CUDA in 2007 to unify the
18 programming model to use their video card. CUDA is currently the most
19 used environment for designing GPU applications although some
20 alternatives are available, for example OpenCL. According to
21 applications and the GPU considered, a speed up from 5 up to 50 or even more can be
22 expected using a GPU instead of computing with a CPU.
23
24 The programming model of GPU is quite different from the one of
25 CPU. It is well adapted to data parallelism applications. Several
26 books present the CUDA programming models and multi-core applications
27 design. This book is only focused on scientific applications on GPUs. It
28 contains 19 chapters gathered in 5 parts.
29
30 The first part presents the GPUs. The second part focuses on two
31 significant image processing applications on GPUs. Part three presents
32 two general methodologies for software development on GPUs. Part four
33 describes three optmitization problems on GPUs. The fifth part, the
34 longuest one, presents 7 numerical applications. Finally part six
35 illustrates 3 other applications that are not included in the previous
36 parts.
37
38 Some codes presented in this book are available online on my webpage:
39 http://members.femto-st.fr/raphael-couturier/gpu-book/.