Manycore real time constraint achievement using OpenMP and OpenCL to detect cancer cells

Jarrín Valencia, Jaime Leonardo (2016). Manycore real time constraint achievement using OpenMP and OpenCL to detect cancer cells. Tesis (Master), E.T.S.I. y Sistemas de Telecomunicación (UPM).

Descripción

Título: Manycore real time constraint achievement using OpenMP and OpenCL to detect cancer cells
Autor/es:
  • Jarrín Valencia, Jaime Leonardo
Director/es:
  • Juárez Martínez, Eduardo
Tipo de Documento: Tesis (Master)
Título del máster: Ingeniería de Sistemas y Servicios para la Sociedad de la Información
Fecha: 14 Diciembre 2016
Materias:
Escuela: E.T.S.I. y Sistemas de Telecomunicación (UPM)
Departamento: Ingeniería Telemática y Electrónica
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (5MB) | Vista Previa

Resumen

Nowadays, the fields of medical research and IT (Information Technology) work together, discovering and refining methods to determine the different types of diseases that affect humans. In this context, the present research work describes the application of hyperspectral images for the detection of tumors in brain tissue by implementing a processing toolchain divided into two phases: dimensional reduction - applying the Principal Component Analysis (PCA) - and classification - using Vector Support Machines (SVM). Considering that both procedures require a significant amount of processing, using the sequential implementation takes a long time to process it, making it impossible to use in a real-time system. To solve this problem, this work proposes the use of parallel programming in a multicore architecture to speed up the runtime. At present, it is not possible to find any proven methodology that automatically transforms a sequential code into parallel one. However, there are Application Programming Interfaces (APIs) that allow creating code capable of exploiting hardware parallelism, which can help to convert the sequential code into parallel one. Therefore, the main objective of this research is to study three different methods to exploit parallelism. (1) POSIX, based on concurrent threads to execute the parallel code. (2) OpenMP, which helps with the creation of threads as well as synchronization. And, (3) OpenCL, which provides a higher abstraction level defining methodologies for communications, memory access and queue instructions to be executed in parallel within a multicore device. These methods have been used to develop parallel implementations of SVM and PCA tested in a Kalray MPPA-256, a high-performance computing platform composed of 256 cores distributed in 16 clusters. The results show that the parallel version of SVM with OpenCL is 10.79 times faster than the sequential implementation. For the case of PCA algorithm, OpenMP reaches a speed-up of 2.52 times. These results suggest that the described processes allow to exploit the parallelism of the hardware properly and ease developer's work while creating parallel programs. RESUMEN En la actualidad, es frecuente que campos como la investigación médica y TI (Tecnologías de la Información) trabajen en conjunto, descubriendo y/o perfeccionando métodos para determinar diferentes tipos de enfermedades que se desarrollan en los seres humanos. En este contexto, el presente trabajo de investigación describe la aplicación de imágenes híper espectrales para la detección de tumores en el tejido cerebral mediante la implementación de una cadena de procesado dividida en dos fases: la reducción dimensional –aplicando el Análisis de Componentes Principales (PCA) – y la clasificación –utilizando Máquinas de Vectores Soporte (SVM). Como ambos procedimientos demandan una gran cantidad de procesamiento, su implementación secuencial requiere mucho tiempo para su ejecución, imposibilitando su utilización en un sistema de tiempo real. Para solucionar este problema, se plantea el uso de programación paralela sobre una arquitectura multinúcleo para poder acelerar el tiempo de ejecución. En estos momentos no es posible encontrar ningún método probado que transforme automáticamente un código secuencial en paralelo; sin embargo, existen interfaces de programación de aplicaciones (APIs) que permiten crear códigos capaces de explotar el paralelismo del hardware, lo que puede ayudar a convertir el código secuencial en paralelo. En consecuencia, el objetivo principal de esta investigación es estudiar tres métodos diferentes para explotar el paralelismo: (1) POSIX, basado en hilos concurrentes para ejecutar el código en paralelo; (2) OpenMP, que ayuda con la creación de hilos así como también con la sincronización; y, (3) OpenCL, el cual brinda un mayor nivel de abstracción, se encarga principalmente de las comunicaciones y accesos a memoria así como también de definir la forma en la cual las funciones se ejecutan en paralelo. Estos métodos han sido utilizados en implementaciones secuenciales de SVM y PCA para crear versiones paralelas del código, que han sido probadas en una MPPA-256 de Kalray, una plataforma de alta computación compuesta por 256 núcleos distribuidos en 16 clústeres. Los resultados muestran que la versión paralela de SVM con OpenCL es 10.79 veces más rápida que la implementación secuencial; mientras que, OpenMP funciona mejor con el algoritmo PCA, alcanzando una aceleración de 2.52. Estos resultados apuntan a que los procesos descritos permiten explotar adecuadamente el paralelismo del hardware y facilitan a los desarrolladores su trabajo al ejecutar las aplicaciones paralelas.

Más información

ID de Registro: 51177
Identificador DC: http://oa.upm.es/51177/
Identificador OAI: oai:oa.upm.es:51177
Depositado por: Biblioteca Universitaria Campus Sur
Depositado el: 08 Jun 2018 05:41
Ultima Modificación: 08 Jun 2018 05:41
  • GEO_UP4
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • InvestigaM
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM