COURSE 2021/22


Office Hours

Office hours will be arranged by contacting first by email. They will preferably take place online, depending on the pandemics situation. The preferred slots for appointments are:

  • Thursday 09:30-13:30
  • Thursday 16:00-18:00

Depending on availability, appointments may be considered outside the hours defined above.


First Semester


Second Semester

PAST COURSES


2020/21


2019/20


2018/19


2017/18


2013/14


2012/13


2011/12


2010/11

INTERN OFFERS

If you are interested on some of my research topics, feel free to contact me in order to see the possibility to apply for a collaboration internship (if you are a bachelor student), an introduction to research internship (if you are a bachelor or a master student), or a pre-doctoral fellowship (if you are a master student or you hold a master diploma). Next, a list of students which I have supervised with fellowships/internships:

  • Javier Hernández Tello, contract with an R&D project (MABICAP), May - September 2021. Working with the parallelization of a new Spiking Neural P system simulator, and improving the parallel simulator of PDP systems.
  • Antonio Torres Moríñigo, initialization to research internship, September - November 2020, and contract with an R&D project (VICTORY), May - September 2020. Working with the parallelization of multi-agent systems and the graphical engine and interface of NIN with Lua programming language.

Moreover, if you are interested in working at Fraunhofer IIS (Germany), there are several options. Get in touch with me for orientation:

PHD STUDENTS


Advising


Advised

MSC AND BSC THESES / FINAL PROJECTS


Advising

  • Application of Ray Tracing techniques for the RICH subdetector at LHCb, by Roberto Hueso. Co-advised with Daniel Campora. MSc thesis (MULCIA).
  • System for detecting pneumonia applying deep learning techniques, by Alberto Carmona López. Co-advised by Juan M. Ortiz de Lazcano (Univ. Málaga). MSc thesis (MULCIA).
  • Application of deep learning generative models, by Rafael Barea Hidalgo and Martin González López. MSc thesis (MII).
  • Extending an environment for multi-agent simulation based on Lua, by Francisco José Campos Castro. Co-advised with Fernando Sancho Caparrini. MSc thesis (MII).
  • Creation of content by means of deep learning generative models, by Julio Valverde Nuñez. MSc thesis (MII).
  • VulnHunterAI - Static analysis of source code for vulnerability search, by Francisco Pineda. Co-advised by Fernando Sancho-Caparrini. BSc thesis (computer engineering).
  • Accelerated simulation of membrane systems on GPUs with CUDA, by Javier Hernandez Tello. BSc thesis (computer engineering - IT).
  • Up-scaling and texture generation, by José Manuel Villegas. Co-advised by Fernando Sancho-Caparrini. BSc thesis (software engineering).


Advised

  • Machine Learning application for aerial manipulation, by Manuel Jesús Fernández. Co-advised by Gillermo Heredia. MSc thesis (MULCIA).
  • Movie automatic classification with Deep Learning, by Suriel Aido Teruel. MSc thesis (MULCIA).
  • Analysis of RAPIDS, an environment for Data Science and Machine Learning on GPUs, by Gonzalo Delgado. BSc thesis (computer engineering - software engineering). July 2021.
  • Car accident detection on CCTV with Deep Learning and Computer Vision, by Javier Advani. Co-advised with I. Pérez-Hurtado. MSc thesis (MULCIA). December 2020.
  • Automatic classification of videos for recommendation systems with Deep Learning, by Daniel González. BSc thesis (computer engineering - information technologies). December 2020.
  • Analysis of advance models of Deep Learning (Deep Belief Neural Networks and Capsule Networks) for weapon classification, by Sergio Andrés Pérez Zárate. MSc thesis (MULCIA). September 2020.
  • Topological compression of color images - Topological Contour Compression (TCC), by Javier Castillo Delgado. Co-advised with Pedro Real. MSc thesis (MULCIA). July 2020. Distinction.
  • Classification of human activities in video, by Emre Tatbak. MSc thesis (MULCIA). July 2020.
  • Crowd simulation with open standards of graphics and parallel computing on GPUs, by Antonio Torres Moríñigo. Co-advised with Fernando Sancho-Caparrini. BSc thesis (computer engineering). June 2020. Distinction. Resultado de imagen de gitlab
  • Mathematical principles of Bootstrap aggregation, by Julia Alcántara Romero. Co-advised with Miguel A. Gutiérrez. BSc thesis (Mathematics). June 2020.
  • Study and Application of Convolutional Neural Networks to the Problem of Detection and Classification of Violent Scenes on Video, by Rafael Fernández González. MSc thesis (MULCIA). December 2019.
  • Reconstruction of the VELO Subdetector using the Hough Transform, by Alejandro López Fernández. Co-advised with Daniel H. Campora-Pérez. BSc thesis (computer engineering). December 2019.
  • Semantic analysis of video by using Deep Learning, by Aliaksei Kandratsenka. MSc thesis (MULCIA). September 2019.
  • Accelerated Simulation of Population Dynamics P Systems with GPU, by Andrés Doncel Ramírez. Co-advised with Daniel H. Campora-Pérez. MSc thesis (MULCIA). July 2018.
  • A Study of a Parallel Implementation for the Pixel VELO Subdetector, by Daniel H. Campora Pérez. Co-advised with Fernando Sancho-Caparrini and Niko Neufeld, in collaboration with CERN. MSc thesis (MULCIA). September 2013. Extraordinary Award of Master Thesis Universidad de Sevilla.
  • Simulation of probabilistic P systems on GPUs, by Adolfo Gastalver-Rubio. Co-advised with Ignacio Pérez-Hurtado. Final project (computer engineering). September 2012.
  • Acceleration of membrane system simulations on solutions to SAT using GPUs, by Jesús Pérez-Carrasco. Final project (computer engineering). July 2012. Distinction.
  • Web analyzer of P-Lingua, by José González Pareja. Co-advised with IgnacioFinal project computer engineering Pérez-Hurtado. Final project (computer engineering). July 2012.
  • A generic compiler for P-Lingua, by Francisco González Cordero. Co-advised with Ignacio Pérez-Hurtado. Final project (computer engineering). September 2011.
  • Multi-agent systems on CUDA, by Daniel H. Campora Pérez. Co-advised with Fernando Sancho-Caparrini. Final project (computer engineering). July 2010. Distinction.


Proposals

Find next a list of proposed master and bachelor thesis topics. If you feel interested in one of them, or something similar, just get in touch with me.


Membrane Computing Topics

  • Accelerated Simulation of PDP Systems on CUDA. PDP systems are a formal computational modeling framework for population dynamics that has been successfully employed with real ecosystems, such as the Bearded Vulture in the Catalan Pyrenees and the Zebra Mussel in the Ribarroja Reservoir. Experts in these ecosystems conduct virtual experiments using the MeCoSim tool, which in turn makes use of pLinguaCore as a simulation engine for PDP systems. However, this simulator is inefficient for certain models and ecosystems, so another PDP system simulator was developed that makes use of massively parallel devices such as graphics cards, called ABCD-GPU. CUDA technology is used for this purpose, which leverages the thousands of cores found in today's GPUs and has been adopted worldwide for supercomputing. The ABCD-GPU simulator is a tool that is still in beta phase and not connected to P-Lingua (and therefore not MeCoSim). The aim of this proposal is to implement improvements in the simulator and the development of an extension of the P-Lingua simulation framework so that it can be connected to ABCD-GPU in the tasks that require this potential. Requirements: Theoretical knowledge of Membrane Computing. Knowledge of Java and C/C++, and basic knowledge of parallel programming.
  • Analysis and design of membrane systems for its simulation on GPUs. Membrane cell systems are bioinspired devices that have applications at both theoretical (theory of computability) and practical level (modelling of biological systems, ecosystems, etc.). Simulation of these systems is a very active research topic, and the first software applications available are relatively inefficient. It is therefore necessary to accelerate simulators using parallel technology. GPU computing opens up a whole new range of possibilities with CUDA and OpenCL technologies. However, some current GPU-based simulators do not achieve a noticeable improvement in efficiency. A new avenue is to study which models fit best with the GPU architecture. This master thesis aims to develop a CUDA simulator for various P-system models (e.g., Kernel P systems) and analyze those ingredients that are properly simulated on the GPU. Requirements: Theoretical knowledge of Membrane Computing. Basic knowledge of parallel programming and C/C++ or Python language.
  • Accelerated simulation of bio-inspired systems with SYCL. Membrane cell systems are bioinspired devices that have applications at both theoretical (theory of computability, complexity, etc.) and practical level (modelling of biological systems, ecosystems, etc.). The simulation of these systems is still under development, and the first software applications available are relatively inefficient. It is therefore necessary to accelerate simulators using parallel technology. GPU computing opens up a whole new range of possibilities with CUDA and SYCL technologies. The first GPU-based simulators were developed on CUDA, a technology specific to NVIDIA. Therefore, in this proposal, the aim is to study these simulators and analyze a new development using SYCL technology, which offers a standard platform that serves both GPU technology of AMD, Intel multiprocessors, FPGAs, etc. Requirements: Optional Theoretical knowledge of Membrane Computing. Basic knowledge of parallel programming and C/C++ language.
  • Optimized simulation of cellular systems in CUDA. The new generation of GPUs (graphics processors) offer great computing power at lower cost and energy consumption. General-purpose computing techniques (GPGPU) and programming languages such as CUDA and OpenCL are used for this purpose. The use of these massively parallel processors opens up new avenues for the efficient simulation of cellular systems. This proposal aims to improve the performance of a P system simulator with active membranes written in CUDA, using techniques such as sparse matrix or tailing, and optimizing the code with the improved architecture of the newest NVIDIA cards (Turing, Ampere...). Requirements: Basic knowledge of parallel programming and C/C++ language
  • Simulation of membrane systems in Python. Membrane systems are bio-inspired devices that currently have applications both on a theoretical level (computability theory) and on a practical level (modeling biological systems, ecosystems, etc.). The simulation of these systems is a very active research topic and requires efficient and flexible environments. In this sense, P-Lingua 5 is an environment being developed in C++ for the generic simulation of these bio-inspired devices. In this project, a programmatic simulation environment will be developed from Python using P-Lingua 5 as engine. Requirements: Advanced knowledge of Python and C/C++


Deep Learning Topics

  • Semantic analysis of videos through Deep Learning. Thousands of movies are produced each year, and therefore automatic understanding of content is important for developing film recommendation systems, efficient storage, censorship assistance, scene extraction systems, etc. This is why we have begun to develop Deep Learning-based algorithms for automatic extraction of video tags, intelligent segmentation of scenes, and automatic categorization of scenes and beat events. The aim of this proposal is to extend these algorithms, providing improvements in the convolutional networks used through transfer learning, expanding the categories and types of studio films, and/or processing other types of multimedia in addition to frames, such as audio and text. Requirements: Theoretical knowledge of Machine Learning and Neural Networks. Python language
  • Video compression with Deep Learning. The main idea of this proposal is to develop an algorithm to compress video of an specific domain (such as movies) by using semantic information, and/or predicting compression losses ahead of time. Requirements: Theoretical knowledge of Machine Learning, Understanding of Image Compression Algorithms, Python language
  • Application generative models. This proposal aims at using generative models (e.g. pix2pix, transformers, etc.) for certain real-life applications (action recognition, video processing, biology imaging, medical imaging, etc.). Requirements: Theoretical knowledge of Machine Learning and of the specific domain of the application, Python language
  • Application generative models. This proposal aims at using generative models (e.g. pix2pix, transformers, etc.) for certain real-life applications (action recognition, video processing, biology imaging, medical imaging, etc.). Requirements: Theoretical knowledge of Machine Learning and of the specific domain of the application, Python language


Complex Systems and GPU computing Topics

  • Open source simulation of multi-agent systems in Lua. This project is a collaboration named Selenitas, and aims at developing a multi-agent simulation framework in Lua, an open source scripting language based on C, which is being used for videogames. The proposal aims at accelerating some parts of the code by using GPU computing. Requirements: Basic knowledge of parallel programming and C/C++ language.
  • Analysis of RAPIDS, an environment for data science and machine learning on GPUs. There are several programming environments to configure workflows in machine learning. In this sense, numpy and scikit-learn using Python are the most used. Although these environments have some optimization for processors (CPUs), its performance is no the best when working with datasets of a considerable size. Therefore, GPUs are being used as accelerators for machine learning algorithms, especially those related to Deep Learning. Recently, NVIDIA announced RAPIDS, an environment for data science and machine learning completely accelerated on GPUs, where part of the API of numpy and scikit-learn are replicated. This work aims to analyze this tool and make a comprehensive comparison with other classic environments and attempts to accelerate on GPUs. Requirements: Knowledge of Python programming. Knowledge of artificial intelligence and machine learning. Basic knowledge of databases. Basic knowledge of parallel programming.
  • Functional parallel programming on GPUs. The objective of this proposal is the analysis of languages and environments of parallel functional programming on GPUs. This analysis will include the implementation of machine learning algorithms to test them. Requirements: Functional programming knowledge (such as those acquired in the subject of declarative programming), and parallel programming knowledge.


LHCb Topics (availability depends on our collaborators at LHCb)

  • Development of intelligent and parallel algorithms for the LHC. LHCb is one of the four main experiments at LHC, CERN's large hadron collider in Geneva. This project is part of a collaboration with CERN to develop intelligent algorithms and its parallel implementation in CUDA for processing data generated in the LHCb particle detector. Requirements: Basic knowledge of parallel programming and C/C++ language.
  • Contributions to Allen project at LHCb. LHCb is one of the four main experiments at LHC, CERN's large hadron collider in Geneva. This project is part of a collaboration with the LHCb through PhD. Daniel Campora. It aims at extending the GPU-based trigger framework which has been selected for LHCb collision detector, named Allen, by improving some parts of developing new algorithms. Requirements: Advance knowledge of parallel programming and C/C++ language.
  • From HTC to HPC on the Barcelona Supercomputer Center. This project is part of a collaboration with CERN, LHCb and Unversity of Ramon LLull. LHCb is one of the four main experiments at LHC, CERN's large hadron collider in Geneva. The calculation requirements of this type of experiment are very large, from the simulation of the experiment to the analysis of data. So far, the approach has been based on a GRID architecture, for which specific frameworks have been developed at LHCb, with an HTC philosophy. The use of large Supercomputing infrastructures, with HPC architecture to cover calculation needs, is currently being studied. Requirements: Advance knowledge of parallel programming and C/C++ language.

NVIDIA DLI AMBASSADOR


I am an University Ambassador of NVIDIA Deep Learning Institute (DLI). Moreover, I am a certified DLI instructor for the following courses:

  • Fundamentals of Deep Learning (June 2021).
  • Fundamentals of Accelerated Data Science with RAPIDS (April 2020).
  • Fundamentals of Accelerated Computing with CUDA C/C++ (February 2019).
  • (Extincted) Fundamentals of Deep Learning for Computer Vision (October 2018-December 2020).

Moreover, I have been a Teaching Assistant at the following training sessions:

  • Fundamentals of Accelerated Data Science with RAPIDS, GTC, April 2021, Online.
  • Fundamentals of Deep Learning for Computer Vision, GTC Europe, October 2018, Munich, Germany.
  • Deep Learning for Healthcare Image Analysis, MICCAI, September 2018, Granada, Spain

I organized the following workshops:

  • Fundamentals of Accelerated Data Science with RAPIDS on April 23 & 28, 2021, at the University of Seville within the Master of Data Science and Big Data.
  • Fundamentals of Accelerated Data Science with RAPIDS on February 25, 2021, inside SATELEC 2021, at Polytechnic University of Madrid.
  • Fundamentals of Accelerated Computing with CUDA C/C++ on June 8-10, 2020, at the University of Seville within the GPU days Universidad de Sevilla.
  • Fundamentals of Accelerated Data Science with RAPIDS on May 12-13, 2020, at the University of Seville within the Master of Data Science and Big Data.
  • Fundamentals of Accelerated Computing with CUDA C/C++ on October 7-8, 2019, inside the 1st COMCHA school at the University of Ramon Llull (Barcelona).
  • Fundamentals of Accelerated Computing with CUDA C/C++ on May 22, 2019, at the University of Seville.

OTHER ACTIVITIES

  • Instructor of the workshop "NVIDIA: Fundamentals of Accelerated Data Science with RAPIDS", at SATELEC 2021, Polytechnic University of Madrid (February 25, 2021).
  • Instructor of the course "Introduction to Deep Learning with Python", organized by ICE (Institute of Educational Sciences) of the University of Seville (November 17 and 19, 2020).
  • I gave two webinars on Deep Learning introduction for the student branch of IEEE at University of Seville, during the COVID-19 lockdown. April 10 (recording ) and April 17 (recording ), 2020.
  • Instructor of the GPU computing block at 1st COMCHA school, University of Ramón Llull, Barcelona, October 7-9, 2019.
  • Assistant Teacher briefly collaborating on the project Artificial Intelligence... ¡Naturally! of the Summer Science Campus (for outstanding high school students), teaching an introduction to AI and Deep Learning. Organized by the Spanish government and FECYT (Seville, July 2018).
  • Assistant Teacher in the project Artificial Life... ¿Intelligent? of the Summer Science Campus (for outstanding high school students), teaching an introduction to GPU computing. Organized by the Spanish government and FECYT (Seville, July 2013 and July 2014).
  • Assistant Teacher in the project Intelligent Computing with Living Organisms of the Summer Science Campus (for outstanding high school students), teaching an introduction to GPU computing. Organized by the Spanish government and FECYT (Seville, July 2011 and July 2012).
  • Invited speaker:
    • Course Bio-inspired Computing, of the Master in Logic, Computing and Artificial Intelligence, University of Seville (year 2013).
    • Course Teaching Innovation and Introduction to Educational Research, specialty in computer information, of the Master in Secondary Education and Professional Formation, University of Seville (years 2013-2014, 2012-13, 2011-12 and 2010-11). Proposal of research projects about teaching GPU computing and CUDA in high schools.
    • Course Computational Simulation and Analysis in Systems Biology, of the Master in Logic, Computing and Artificial Intelligence, University of Seville (years 2011, 2012, 2013, 2014).
    • Course Nature, a source of computational inspiration, organized by Institute of Educational Sciences of the University of Lleida (year 2010).