Energy and performance modeling of NVIDIA Jetson TX1 embedded GPU in hyperspectral image classification tasks for cancer detection using Machine Learning
Jaime Sancho · 2018
En los ultimos anos la inteligencia artificial se ha convertido en una de las ramas mas importantes de la ciencia de la computacion. Su uso se ha extendido no solo a diversos campos de investigacion sino que tambien se encuentra ya como componente fundamental de multitud de aplicaciones y servicios tanto en la nube como cada vez mas en sistemas empotrados. Un campo de aplicacion con grandes repercusiones sociales es el de la medicina, donde se pueden explotar los algoritmos de inteligencia artificial para encontrar patrones de enfermedades y detectarlas automaticamente mediante el procesamiento de diversos tipos de imagenes y pruebas clinicas. Este trabajo esta enmarcado en el proyecto europeo HELICoiD, en el que se hace uso de imagenes hiper espectrales junto con algoritmos de aprendizaje automatico para detectar tejido canceroso en cerebros humanos durante operaciones de reseccion de tumores. La gran cantidad de informacion disponible en este tipo de imagenes ofrece la posibilidad de clasificar sus pixeles entre tejido sano o tejido canceroso. Sin embargo, precisamente ese gran volumen de datos contenido en las imagenes hiper espectrales asi como la carga computacional de los algoritmos utilizados en el proyecto: Principal Component Analysis (PCA), Support Vector Machine (SVM) y K-Nearest Neighbours (KNN), requieren una capacidad de computo que impide el procesamiento en tiempo real con un procesador de proposito general. Por este motivo, se hace uso de un acelerador basado en una GPU empotrada: el sistema Jetson TX1 de NVIDIA. En este documento se recogen el analisis de los algoritmos, la plataforma y el lenguaje de programacion de NVIDIA CUDA C/C++ para proponer una implementacion que cumpla los requerimientos de la aplicacion. Ademas, se incluye una implementacion alternativa a la original que obtiene resultados funcionales semejantes (con cierto error) a los originales y un tiempo de ejecucion mucho menor. Esta idea, basada en el algoritmo SVM y un filtro espacial, esta recogida en el trabajo fin de grado de Guillermo Bermejo. Este trabajo tiene como objetivo no solo la implementacion de la cadena de procesamiento de HELICoiD sino tambien evaluar la idoneidad de este tipo de plataformas para el desarrollo futuro de sistemas de clasificacion de bajo coste en aplicaciones de medicina personalizada. Por ello, se recoge tambien una caracterizacion de la plataforma en terminos de rendimiento y eficiencia energetica para este tipo de aplicaciones. Para ello se ha desarrollado un metodo para medir la energia consumida por la plataforma basado en el medidor de voltaje integrado INA3221. Utilizando este metodo, se desarrollan dos aplicaciones: un monitor grafico para medir la potencia consumida en tiempo real y una biblioteca de funciones de C para medir la energia consumida durante la ejecucion de una aplicacion (basada en C). Finalmente, utilizando las bibliotecas proporcionadas por CUDA y la desarrollada para medir energia, se aborda la caracterizacion de la plataforma y se ofrecen resultados de rendimiento y eficiencia energetica para los dos proyectos y los algoritmos que los forman. Por ultimo se concluye con una discusion de los resultados donde se extraen las conclusiones de este trabajo y se plantean algunas posibles lineas futuras de trabajo. Abstract: The last few years the artificial intelligence has emerged as one of the most important branches in computing science. It is being currently used not only in very different research fields but also as a key component in a lot of cloud applications, services and embedded systems. Medicine is an area of application with high social impact where artificial intelligence can contribute to automatic medical diagnosis through the processing of diverse images and clinical tests. This work is framed within the European project HELICoiD, in which hyperspectral images and machine learning algorithms are used to detect cancerous tissue in human brains during tumour resection operations. The huge amount of information available in this type of images enables automatic pixel classification between healthy or cancerous tissue. Nevertheless, it is indeed this huge data volume and the computational load required by the involved algorithms; Principal Component Analysis (PCA), Support Vector Machine (SVM) and K-Nearest Neighbours (KNN) that require a processing power unattainable in real time by a general purpose processor. As a consequence, an embedded GPU-based accelerator is used in this work: the NVIDIA Jetson TX1 system. This document tackles the algorithm, platform and NVIDIA CUDA C/C++ programming language analysis and an implementation proposal that achieves the application requirements. In addition, an alternative implementation, which obtains similar functional results (with a certain level of error) to the original, is included. This idea, based on the SVM and an spatial filter, is proposed in the final degree project of Guillermo Bermejo. This work aims not only at implementing the HELICoiD processing chain but also at evaluating the suitability of this type of platforms for future embedded, low-cost classification systems in personalised medicine applications. Therefore, this work also tackles the platform characterisation in terms of throughput and energy efficiency for this kind of applications. To do so, a method to measure the energy consumed by the platform based on the integrated voltage sensor INA3221, is developed in this work. With the method, two applications are created: a graphical monitor for real time power monitoring and a C library for energy consumption measurement of C-based applications. Finally, using CUDA libraries and the energy measurement library developed in this work, the platform is characterised obtaining throughput and energy efficiency results for both projects and the algorithms involved. Lastly, a final discussion on the obtained results is included, and possible future lines of work are sketched.