Universidad de Castilla-La Mancha
 
Escuela Superior de Ingeniería Informática

 

  cambiar a curso:   2022-23   2024-25



Grado en Ingeniería Informática


TRABAJOS FIN DE GRADO
curso: 2023-24

Aceleración de la aplicación HidroMORE mediante procesadores gráficos


Tecnologías Específicas

Ingeniería de Computadores
 


Descripcion y Objetivos

HidroMORE es un software desarrollado (Garrido-Rubio, 2021; Torres, 2010) por la Sección de Teledetección y Sistemas de Información Geográfica (TySIG), integrada en el Instituto de Desarrollo Regional (IDR) de la Universidad de Castilla-La Mancha (UCLM). HidroMORE implementa un modelo operativo de estimación de recarga y evapotranspiración de los cultivos a escala regional mediante teledetección y sistemas de información geográfica (SIG). Para ello, desarrolla a escala diaria y espacialmente distribuido el balance de agua en el suelo propuesto por FAO56 (Allen et al., 1998), pero asistido por teledetección gracias a que: asimila datos multiespectrales mediante índice de vegetación; y a la distribución espacial de dicho modelo al trabajarlo píxel a píxel. En consecuencia, la extensión espacial está únicamente limitada por el tamaño de las imágenes de satélite empleadas, mientras que la escala espacial depende de la resolución espacial de dichas imágenes. Los productos que genera consisten en una cartografía temática asociada al uso del agua de riego representada por variables de dicho balance tales como: la evapotranspiración de los cultivos o sus necesidades netas de agua de riego.

HidroMORE ha sido aplicado de manera continua con muy diversos objetivos: extender datos in-situ de sensores de humedad, modelar espacialmente la demanda hídrica de cultivos y vegetación natural, extender la metodología de nuevos coeficientes de cultivo basal en viñas en regadío o monitorizar las necesidades de agua de riego de cultivos en regadío. En consecuencia, actualmente es una herramienta operativa y validada a escala de parcela, comunidad de regantes (Garrido-Rubio et al., 2020b), acuífero (Garrido-Rubio et al., 2019) y demarcación hidrográfica (Garrido-Rubio et al., 2020a); y empleado por gestores hídricos públicos o privados.

Ahora bien, HidroMORE integra múltiples datos de entrada como imágenes de satélite, datos diarios agrometeorológicos, mapas y propiedades hídricas de los suelos, mapas de usos del suelo y una parametrización de los cultivos. Esto implica un elevado tiempo de procesamiento para obtener los resultados con lo que diferentes esfuerzos en versionado del programa o paralización de su procesado (Moreno et al., 2017) han sido abordados.

 

El objetivo de este Trabajo Fin de Grado (TFG) es intentar reducir el tiempo de ejecución de HidroMORE, utilizando la gran capacidad de cómputo que tienen los procesadores gráficos incluidos en las tarjetas gráficas. Así pues, para acelerar el código HidroMORE, se usará una plataforma hardware/software con una tarjeta gráfica y el software adecuado para obtener y ejecutar código paralelo de aquellas partes de HidroMORE que sean susceptibles de ser paralelizadas.

 


Metodología y Competencias

Este TFG se desarrollará siguiendo una metodología ágil, iterativa e incremental. Se mantendrán reuniones periódicas, en principio quincenales, con los tutores para realizar un adecuado seguimiento que garantice el éxito del trabajo, a la vez que sirva para una provechosa retro-alimentación del mismo.

Para conseguir el objetivo que persigue este TFG, se plantean las siguientes tareas principales:

1) Análisis del código HidroMORE. Esta tarea consiste en revisar el código HidroMORE, y localizar aquellas partes del mismo que puedan ser paralelizadas y signifiquen una reducción del tiempo de ejecución. Tras instalar, compilar y ejecutar la aplicación, se usará alguna herramienta de monitorización que ayude en esas decisiones. A esta tarea, que es costosa, se le dedicará al menos un mes.

2) Aprendizaje del uso de procesadores gráficos (GPUs) para acelerar aplicaciones. En esta tarea se estudiarán los aspectos básicos de los procesadores de las tarjetas gráficas, y de algunas de las herramientas disponibles para poder usarlos para ejecutar aplicaciones paralelas. En concreto, se usará una tarjeta gráfica de nvidia y CUDA para obtener código para ella. El tiempo estimado puede variar en función de los conocimientos que el alumno tenga de este tipo de hardware y software. Se estima entre medio mes y un mes para esta tarea.

3) Paralelización del código. Utilizando las herramientas disponibles para la programación de plataformas heterogéneas basadas en GPU, se creará el código paralelo de aquellas partes de HidroMORE que se hayan determinado en la tarea 1. Esta es una tarea principal de este TFG, y se emplearán al menos dos meses para completarla.

4) Evaluación de rendimiento. Se realizarán diversas pruebas, utilizando diversos datos de entrada, para comprobar el nivel de prestaciones alcanzado con el código elaborado, comparando con la versión de partida. Un mes más para realizar esta tarea.

5) Documentación de los resultados. Se elaborará la memoria del TFG, incluyendo toda la información que sea necesaria de acuerdo con la normativa y las características del trabajo. Dedicación aproximada de un mes.

El conocimiento de la arquitectura de las GPUs es importante para obtener un código más eficiente para ellas. Por ello, el trabajo puede ser realizado por alumnos de Ingeniería de Computadores, aunque también lo podrían abordar alumnos de otras Tecnologías. Así, para esta tecnología, las competencias que más se trabajarán son las siguientes:

[IC2] Capacidad de desarrollar procesadores específicos y sistemas empotrados, así como desarrollar y optimizar el software de dichos sistemas. Utilizando un procesador específico, como las GPUs (Unidad de procesamiento gráfico), se desarrollará software que se utilizará en este procesador, para conseguir una ganancia de tiempo de procesamiento significativa.

[IC7] Capacidad para analizar, evaluar, seleccionar y configurar plataformas hardware para el desarrollo y ejecución de aplicaciones y servicios informáticos. Se tendrá que analizar y evaluar qué plataforma y qué características utilizar para llegar a un buen rendimiento.

[IC3] Capacidad de analizar y evaluar arquitecturas de computadores, incluyendo plataformas paralelas y distribuidas, así como desarrollar y optimizar software para las mismas. Se analizará y evaluará la arquitectura de las GPUs para saber cómo obtener código óptimo, utilizando el toolkit dado para este tipo de procesadores.

 


Medios a utilizar

Si no dispone de ellos, se pondrán a disposición del alumno todos los medios necesarios para la realización de este trabajo, y que básicamente son:

- Ordenador compuesto por CPU y GPU.

- Sistema operativo Linux Ubuntu.

- NVIDIA CUDA Toolkit.

- C, C++

 


Bibliografía

Allen, R.G., Pereira, L.S., Raes, D., Smith, M., 1998. Crop evapotranspiration - Guidelines for computing crop water requirements (https://www.fao.org/3/x0490s/x0490s.pdf).

Garrido-Rubio, J., 2021. Teledetección aplicada a la contabilidad del agua de riego sobre diferentes escalas espaciales y temporales de gestión: desde la parcela hasta la demarcación hidrográfica. UCLM. https://doi.org/http://hdl.handle.net/10578/28728

Garrido-Rubio, J., Calera, A., Arellano, I., Belmonte, M., Fraile, L., Ortega, T., Bravo, R., González-Piqueras, J., 2020a. Evaluation of remote sensing-based irrigation water accounting at river basin district management scale. Remote Sens. 12, 3187. https://doi.org/10.3390/rs12193187

Garrido-Rubio, J., González-Piqueras, J., Campos, I., Osann, A., González-Gómez, L., Calera, A., 2020b. Remote sensing–based soil water balance for irrigation water accounting at plot and water user association management scale. Agric. Water Manag. 238. https://doi.org/10.1016/j.agwat.2020.106236

Garrido-Rubio, J., Sanz, D., González-Piqueras, J., Calera, A., 2019. Application of a remote sensing-based soil water balance for the accounting of groundwater abstractions in large irrigation areas. Irrig. Sci. 37, 709–724. https://doi.org/10.1007/s00271-019-00629-3

Moreno, R., Arias, E., Sanchez, J.L., Cazorla, D., Garrido, J., Gonzalez-Piqueras, J., 2017. HidroMORE 2: An optimized and parallel version of HidroMORE. 2017 8th Int. Conf. Inf. Commun. Syst. ICICS 2017 1–6. https://doi.org/10.1109/IACS.2017.7921936

Torres, E.A., 2010. El modelo FAO-56 asistido por satélite en la estimación de la evapotranspiración en un cultivo bajo estrés hídrico y suelo desnudo. Torres Prieto, E.A., 2010. UCLM. https://doi.org/https://www.educacion.gob.es/teseo/mostrarRef.do?ref=894945

CUDA C Best Practices Guide. http://docs.nvidia.com/cuda/ cuda-c-best-practices-guide/index.html#axzz466UPSr5y

CUDA C Programming Guide. http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#axzz466UPSr5y

D. Kirk, W.-M. Hwu. Programming massively parallel processors. Morgan Kaufman Publishers. 2013 2a edición

A. García, S. Orts, J.M. Cecilia, J. García. Programación de GPUs usando CUDA. Ra-Ma. 2020 1a edición

 


Tutores


SÁNCHEZ GARCÍA, JOSÉ LUIS
GARRIDO RUBIO, JESUS
 

Alumno




 

 

Sindicación  Sindicación  Sindicación  Sindicación

Curso: 2023-24
© Escuela Superior de Ingeniería Informática
Edificio Infante Don Juan Manuel
Avda. de España s/n
02071 Albacete

informatica.ab@uclm.es
aviso legal
generar código QR de la página