Scalable Molecular Dynamics on High-Performance Multi-GPU Systems

  1. Novalbos Mendiguchía, Marcos
Dirigida por:
  1. Alberto Sánchez Campos Director/a
  2. Miguel A. Otaduy Tristán Codirector/a

Universidad de defensa: Universidad Rey Juan Carlos

Fecha de defensa: 14 de diciembre de 2015

Tribunal:
  1. Luis Ignacio Pastor Pérez Presidente/a
  2. Susana Mata Fernandez Secretario/a
  3. María de los Santos Pérez Hernández Vocal
  4. Antonio Urbina Yeregui Vocal
  5. Vicente Martín Ayuso Vocal

Tipo: Tesis

Teseo: 424714 DIALNET

Resumen

Los sistemas de simulación de dinámica molecular aúnan los esfuerzos de distintas disciplinas para poder recrear fielmente las interacciones entre elementos a nivel atómico, en un entorno simulado. Estas simulaciones tienen en cuenta los movimientos y equilibrios de energía necesarios, imitando el movimiento real de los átomos y sus interacciones durante un espacio de tiempo finito. Estas simulaciones son necesarias para estudiar propiedades que serían imposibles de capturar de forma analítica, ayudando en la investigación de nuevas drogas y medicamentos. El hecho de poder predecir las interacciones y formas de ciertas proteínas usando programas informáticos permite a las empresas farmacéuticas ahorrar tiempo y dinero en sus investigaciones. Sin embargo, los sistemas de simulación molecular están limitados por la capacidad de cálculo de los ordenadores actuales. Las mediciones de tiempo de simulación se dan en el orden de “nanosegundos/día”, dando a entender que para obtener los movimientos durante un corto espacio de tiempo simulado es necesario mucho tiempo “real”. Es muy necesario reducir los tiempos de cómputo. Para poder dar una respuesta relativamente rápida, las simulaciones moleculares se llevan a cabo en entornos virtuales ejecutados en sistemas informáticos con gran capacidad de cálculo. Desde sus inicios se han desarrollado distintas técnicas para poder acelerar los cálculos aprovechando las características de los sistemas informáticos de alto rendimiento. Con la evolución de los sistemas de computadores paralelos como clústeres o multiprocesadores, se ha conseguido una gran reducción de los tiempos de simulación. En concreto, las arquitecturas de tarjetas gráficas o GPUs han proporcionado un gran incremento en el rendimiento de multitud de aplicaciones, gracias a sus características masivamente paralelas. La popularidad de las GPUs ha aumentado tanto que es fácil encontrar máquinas de altas prestaciones que tengan instaladas varias tarjetas gráficas programables para acelerar los cálculos. En concreto, resultan ser un gran apoyo hardware para los sistemas de simulación molecular, reduciendo drásticamente los tiempos de simulación para muchos de los algoritmos utilizados. El trabajo que aquí se presenta está centrado en la explotación de los sistemas multi GPU para acelerar el cálculo de las simulaciones de dinámica molecular. Entre otros objetivos, se pretende dar un enfoque en el uso de estas arquitecturas, explotando sus características como nodos de cómputo autónomos. Para poder llevar a cabo esta tarea se han desarrollado diversas herramientas y algoritmos nuevos. En concreto, se ha desarrollado un algoritmo de empaquetado de datos para comunicaciones directas entre GPUs. Éste algoritmo tiene la particularidad de que se ejecuta completamente en GPU, evitando perder tiempo moviendo datos entre CPU y GPU. También se han investigado distintas formas de partición espacial para sistemas moleculares, seleccionando el más adecuado para entornos multi GPU. Se han introducido mejoras para algoritmos de dinámica molecular de cálculo de fuerzas largas, optimizando el método Multigrid Summation Method (MSM). Por último, dado que los entornos con mayor cantidad de GPUs disponibles suelen ser sistemas tipo cluster de memoria distribuida, se ha portado el código a estos sistemas y se han realizado pruebas de encalabilidad con resultados ótpimos para simulación de moléculas de gran tamaño.