GPU Education Center

Desde 2014, la Universidad de Córdoba es GPU Education Center gracias a la impartición de contenidos relacionados con la arquitectura y la programación de las unidades de procesamiento gráfico (GPU) para propósito general en las asignaturas Técnicas de Optimización (Grado en Ingeniería Informática) y Optimizaciones para Computación de Alto Rendimiento (Máster en Informática).

Seminarios organizados en el marco del GPU Education Center:

GPU Programming Models and their Combinations
Antonio J. Peña (Barcelona Supercomputing Center, Spain)
21 de abril de 2017 - 16:00, Sala S1 (Edificio Ramón y Cajal, Campus de Rabanales)

    While OpenACC focuses on coding productivity and portability, CUDA enables extracting the maximum performance from NVIDIA GPUs. OmpSs, on the other hand, is a GPU-aware task-based programming model which may be combined with CUDA, and recently with OpenACC as well. Using OpenACC we will start benefiting from GPU computing, obtaining great coding productivity and nice performance improvements. We can next fine-tune the critical application parts developing CUDA kernels to hand-optimize the problem. OmpSs combined with either OpenACC or CUDA will enable seamless task parallelism leveraging all system devices.

    Antonio J. Peña holds a BS + MS degree in Computer Engineering (2006), and MS and PhD degrees in Advanced Computer Systems (2010, 2013), from Jaume I University of Castellón, Spain. He is currently a Senior Researcher at Barcelona Supercomputing Center (BSC), Computer Sciences Department, where he holds a Juan de la Cierva Fellowship. At BSC, Antonio works within the Programming Models group in topics related with OmpSs. He is also the Manager of the BSC/UPC NVIDIA GPU Center of Excellence and member of the Outreach Working Group. His research interests in the area of runtime systems and programming models for high performance computing include resource heterogeneity, communications, and resilience.

Enhancing Metaheuristic-based Virtual Screening Methods on Massively Parallel and Heterogeneous Systems
José María Cecilia (Universidad Católica de Murcia, Spain)
13 de mayo de 2016 - 17:00, Laboratorio AC-1 (Edificio Leonardo, Campus de Rabanales)

    Molecular docking through Virtual Screening is an optimization problem which can be approached with metaheuristic methods. The interaction between two chemical compounds (typically a protein or receptor and small molecule or ligand) is measured with computationally very demanding scoring functions and can, moreover, be measured at several spots throughout the receptor. For the simulation of large molecules, it is necessary to scale to large clusters to deal with memory and computational requirements. In this paper, we analyze the current landscape of computation, where massive parallelism and heterogeneity are today the main ingredients in large-scale computing systems, to enhance metaheuristic-based virtual screening methods, and thus facilitate the analysis of large molecules. We provide a parallelization strategy aimed at leveraging these features. Our solution finds a good workload balance via dynamic assignment of jobs to heterogeneous resources which perform independent metaheuristic executions under different molecular interactions. A cooperative scheduling of jobs optimizes the quality of the solution and the overall performance of the simulation, so opening a new path for further developments of Virtual Screening methods on high-performance contemporary heterogeneous platforms.

    José M. Cecilia received his B.S. degree in Computer Science from the University of Murcia (Spain, 2005), his M.S. degree in Computer Science from the University of Cranfield (United Kingdom, 2007), and his Ph.D. degree in Computer Science from the University of Murcia (Spain, 2011). Dr. Cecilia was predoctoral researcher at Manchester Metropolitan University (United Kingdom, 2010), supported by a collaboration grant from the European Network of Excellence on High Performance and Embedded Architecture and Compilation (HiPEAC) and visiting professor at the Impact group leaded by Professor Wen-Mei Hwu at University of Illinois (Urbana, IL, USA). He has published several papers in international peer-reviewed journals and conferences. His research interest includes heterogeneous architecture as well as bio-inspired algorithms for evaluating the newest frontiers of computing. He is also working in applying these techniques to challenging problems in the fields of Science and Engineering. Now, he is working as Assistant Professor at the Computer Science Department in the Catholic University of Murcia. He is teaching several lectures such as Introduction to Parallel Computing, Object-Oriented Programming, Operative System, Computer Architecture, Computer Graphics; all of them are part of the Computer Science degree.

GPU Computing for Planning and Navigation in Surgery
Rafael Palomar (Oslo University Hospital, Norway)
8 de abril de 2015 - 13:00, Laboratorio AC-1 (Edificio Leonardo, Campus de Rabanales)

    Surgery is irreversibly shifting towards minimally invasive interventions. In this context, computer systems for planning and navigation of surgical procedures have been increasingly used. These systems rely on models generated by computed tomography or magnetic resonance imaging. As these models grow in complexity, the real-time performance gets compromised. In this lecture, we described and analyzed the computation of Bézier surfaces and point-to-point distances, with the focus on parallelization and application to surgery systems. Parallel CPU versions of the algorithms were presented, highlighting the performance problems in complex models. Finally, GPU parallelization strategies were discussed.

    Rafael Palomar received the B.S. (2007) and M.S. (2010) degree in computer science from University of Córdoba, Córdoba, Spain. From 2010 to 2013, he has been software engineer for The Intervention Centre at Oslo University Hospital (Oslo, Norway), developing software for planning and navigation in image-guided surgery. He is currently working towards the Ph.D. degree at Gjøvik University College (Gjøvik, Norway).

GPUs and atomic operations: Software and hardware improvements
Gert-Jan van den Braak (Technical University of Eindhoven, The Netherlands)
27 de mayo de 2014 - 10:00, Laboratorio AC-1 (Edificio Leonardo, Campus de Rabanales)

    In the last couple of years GPUs have emerged as energy efficient compute accelerators. With their large number of cores they manage to achieve large speed-ups for a many parallel workloads. Other workloads containing atomic operations (e.g. histogram and Hough transform), have proven to be hard to implement efficiently on a GPU.
    A first solution is to modify and optimize the GPU's program. Using software techniques, performance of atomic operations on GPUs can be improved significantly. Despite these optimizations, atomic operations are still relatively time consuming compared to other operations. Therefore as a second solution, hardware improvements are proposed. By introducing a hash function in the addressing of the scratchpad memory, the performance atomic operations can be improved even further. A final solution is to re-think the GPU architecture altogether. In the GPU-CC architecture the GPU's cores communicate directly with each other. This does not only improve performance, but also reduces power consumption, making the GPU even more energy efficient.

    Gert-Jan is a fourth year PhD student in the Electronic Systems group at the Eindhoven University of Technology. His research interests are mainly focused on GPUs, especially GPU architecture and programmability. Other research activities include the histogram and Hough transform algorithms and their (efficient) implementation on a GPU.

El reto de la memoria en GPUs: Más fácil y más rápido en generaciones futuras
Manuel Ujaldón (Universidad de Málaga)
16 de mayo de 2014 - 10:30, Sala Manuel Medina (Campus de Rabanales)

    El procesador gráfico (GPU) ha mostrado en la última década una extraordinaria capacidad para acelerar algoritmos científicos de todo tipo. Con todo ello, el acceso a memoria sigue siendo su gran debilidad: Una mayoría de códigos CUDA son "memory-bound" localizando ahí su cuello de botella, y además, dedican el mayor esfuerzo de programación al uso de la memoria.
    A lo largo de esta charla describiremos las ideas que se están desarrollando en Nvidia para mejorar las prestaciones y la usabilidad de la memoria en las generaciones futuras de CUDA. A nivel de programación, CUDA 6.0 unifica la memoria entre CPU y GPU, lo que permite compartir punteros y espacios de memoria, simplificando extraordinariamente la implementación. A nivel de arquitectura, la memoria 3D aporta notables mejoras en ancho de banda, consumo y espacio ocupado, y todo ello de forma escalable a varias decenas de Gigabytes. Algunos fabricantes como Micron o Viking tienen ya a la venta chips de memoria 3D, y para el próximo año se espera que formen ya parte de las tarjetas gráficas domésticas.
    Tras presentar estas dos innovaciones, la charla mostrará una serie de ejemplos de uso y un análisis de rendimiento en las futuras arquitecturas recientemente anunciadas en la hoja de ruta de Nvidia, como Maxwell (que permite ya trabajar con memoria unificada) y Pascal (que integrará memoria 3D).

    Manuel Ujaldón comenzó su trayectoria investigadora hace 20 años, desarrollando su tesis doctoral sobre compiladores de paralelismo de datos para aplicaciones irregulares, período en el que también formó parte de los estándares HPF y MPI. En 1996 y 1997 continuó con esta labor desde su post-doc en la Universidad de Maryland. Entre 1998 y 2003 escribió una saga de 7 libros sobre la arquitectura del PC y se integró en el equipo directivo de la ETSI Informática de la Universidad de Málaga, logrando una plaza de Profesor Titular en 1999. A finales de 2003 se unió al movimiento GPGPU utilizando Cg, publicando en 2005 el primer libro en castellano sobre programación de la GPU para propósito general. Desde entonces, ha centrado su investigación en la aceleración de aplicaciones biomédicas e irregulares, áreas en las que ha publicado más de 50 artículos científicos en los últimos 5 años para un total de más de 85 en su carrera profesional. En 2008 inicia su colaboración con Nvidia como Academic Partnership, logrando en 2011 los CUDA Teaching Center y CUDA Research Center que conserva en la actualidad en la Universidad de Málaga. En 2012, Nvidia le nombró CUDA Fellow, habiendo intensificado desde entonces su labor como instructor de más de 40 seminarios y tutoriales ligados a la programación de CUDA en universidades y congresos ACM/IEEE. Manuel mantuvo entre 2004 y 2008 una posición adjunta en Ohio State University (Estados Unidos), y desde 2012 compagina su plaza en la Universidad de Málaga con la de Conjoint Senior Lecturer en la Universidad de Newcastle (Australia). Finalmente, en 2013 ha logrado la acreditación de la ANECA a Catedrático de Universidad.

Estrategias de optimización y paralelización en análisis de secuencias de vídeo para la captura de movimiento sin marcas
Alberto Cano (Universidad de Córdoba)
14 de mayo de 2014 - 13:00, Laboratorio AC-1 (Edificio Leonardo, Campus de Rabanales)

    El problema de la captura de movimiento sin marcas en secuencias de vídeo consiste en determinar la pose de una persona a partir de imágenes obtenidas por múltiples cámaras simultáneamente sin emplear marcadores especiales. La evaluación de la calidad de las soluciones es habitualmente una tarea que requiere un elevado tiempo computacional, impidiendo su aplicación a problemas con restricciones en tiempo real. En esta presentación analizaremos las oportunidades de optimización y paralelización de código en CPU y GPU para acelerar el cálculo en la evaluación de las soluciones. Aprovecharemos las posibilidades de los procesadores multi-núcleo y sus instrucciones SSE, el paralelismo en la GPU y sus instrucciones SIMD, y la escalabilidad a múltiples GPUs para acelerar el rendimiento desde 0.16 FPS hasta 15 FPS.

    Alberto Cano es Doctor por la Universidad de Granada en 2014, Máster en Sistemas Inteligentes por la Universidad de Córdoba en 2013, Máster en Soft Computing por la Universidad de Granada en 2011, e Ingeniero en Informática por la Universidad de Córdoba en 2010. Su labor investigadora se desarrolla como miembro del grupo de investigación Knowledge Discovery and Intelligent Systems (KDIS) de la Universidad de Córdoba, y se centra en Soft Computing, Machine Learning, Data Mining, y computación en GPUS. Actualmente disfruta de una beca de formación e investigación del Ministerio de Educación bajo el programa de formación del profesorado universitario (FPU).