PRESENTATION OF GPUs: Presentation of the GPU Architecture and the Cuda Environment. Introduction to Cuda. IMAGE PROCESSING: Setting up the Environment. Implementing a Fast Median Filter. Implementing an Efficient Convolution Operation on GPU. SOFTWARE DEVELOPMENT: Development of Software Components for Heterogeneous Many-Core Architectures. Development Methodologies for GPU and Cluster of GPUs. OPTIMIZATION: GPU-Accelerated Tree-Based Exact Optimization Methods. Parallel GPU-Accelerated Metaheuristics. Linear Programming on a GPU: A Case Study. NUMERICAL APPLICATIONS: Fast Hydrodynamics on Heterogeneous Many-Core Hardware. Parallel Monotone Spline Interpolation and Approximation on GPUs. Solving Linear Systems with GMRES and CG Methods on GPU Clusters. Solving Sparse Nonlinear Systems of Obstacle Problems on GPU Clusters. Ludwig: Multiple GPUs for a Fluid Lattice Boltzmann Application. Numerical Validation and GPU Performance in Atomic Physics. GPU-Accelerated Envelope-Following Method. OTHER: Implementing Multi-Agent Systems on GPU. Pseudorandom Number Generator on GPU. Solving Large Sparse Linear Systems for Integer Factorization on GPUs. Index.