High Performance Computiong: Definition and Motivation (2h). Measurement of a computer's performance and software execution time (2h). Supercomputer evolution history (3h). Moore's law and subsequent refinements (1h). Graphics processors (GPUs) and CUDA environment: GPU parallelism (2h). The General Purpose GPU, Multiprocessor Array (2h). GPU Computing Units: Host and Device, the Kernel Concept, Grid and Blocks, the pitch and the concept of coalescence (6h). The CUDA architecture, Memory organization (4h). Parallel programming with CUDA and the C language (2h). The main CUDA routines: allocation, de-allocation and data exchange host/device (2h). Invocation and declaration of a kernel, memory management API, mapping process (4h). 2D data management: Picth routines, Error handling, Timing (4h). Allocation and management of data structures in the shared memory (3h). Thread synchronization routines and Device management (3h). The CUDAprof toolkit and its graphic versione CUDAprofiler (2h). The CUBLAS library of CUDA for matrix and vector basic operations (3h). Default routines for data transfer between host and device, creation of the CUBLAS environment, Error Managing and routines for basic operations (3h).