Uso eficiente de tarjetas gráficas para la visualización volumétrica de campos escalares

Documentos relacionados
CÓMPUTO DE ALTO RENDIMIENTO EN MEMORIA COMPARTIDA Y PROCESADORES GRÁFICOS

Guía docente de la asignatura

Plan 95 Adecuado DEPARTAMENTO: ELECTRÓNICA CLASE: ELECTIVA DE ESPECIALIDAD ÁREA: TÉCNICAS DIGITALES HORAS SEM.: 4 HS. HORAS / AÑO: 64 HS.

Programación Paralela

Guía docente de la asignatura

PAP - Programación y Arquitecturas Paralelas

Alejandro Molina Zarca

PROGRAMACIÓN PARALELA

Tema 3 GPUs: Introducción

Licenciatura en Química PROGRAMA DE ESTUDIO

Introducción a la Arquitectura y Plataforma de Programación de Cómputo Paralelo CUDA (36 hrs) Instructor M. en C. Cristhian Alejandro Ávila-Sánchez

Formación de Recursos Humanos a nivel de Operación de GRIDS

Cómputo de Alto Rendimiento: Oportunidades para el Instituto de Ingeniería

PROGRAMA DE CURSO. CC1001 Computación I MA2601 Ecuaciones Diferenciales Ordinarias

UNIVERSIDAD AUTÓNOMA METROPOLITANA IZTAPALAPA

PROGRAMACIÓN PARALELA

UNIVERSIDAD DE GUANAJUATO

1 10 Asignatura Clave Semestre Créditos INGENIERÍA EN COMPUTACIÓN. INGENIERÍA EN COMPUTACIÓN División Departamento Licenciatura

Guía docente de la asignatura Computación Paralela

Guía Docente 2017/2018

PROGRAMA DE CURSO. Código Nombre CC7515 Computación en GPU Nombre en Inglés Gpu Computing SCT

Seriación implícita Fundamentos de programación, conocimientos básicos de organización y de arquitectura de computadoras.

Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU. Clase 0 Lanzamiento del Curso. Motivación

Introducción a Cómputo Paralelo con CUDA C/C++

Guía docente de la asignatura

Introducción al Computo Distribuido

ACTIVIDAD CURRICULAR DE FORMACIÓN

MÓDULO MATERIA CURSO SEMESTRE CRÉDITOS TIPO BREVE DESCRIPCIÓN DE CONTENIDOS (SEGÚN MEMORIA DE VERIFICACIÓN DEL GRADO)

Arquitecturas GPU v. 2015

EXTRACCIÓN DE CONOCIMIENTO EN REDES SOCIALES MEDIANTE HERRAMIENTAS DE SOFTWARE LIBRE Y PLATAFORMAS DE HARDWARE PARALELO-DISTRIBUIDAS

Guía Docente 2018/2019

UNIVERSIDAD DE GUADALAJARA

PROGRAMA DE CURSO. Código Nombre CC7515 Computación en GPU Nombre en Inglés Gpu Computing SCT Auxiliar. Personal

INGENIERÍA EN COMPUTACIÓN. INGENIERÍA EN COMPUTACIÓN División Departamento Licenciatura

y OPT./ OBL. Obligatoria

UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS MISIÓN

Santos Torres Fecha de elaboración: 28 de Mayo de 2010 Fecha de última actualización:

SIMULACIÓN COMPUTACIONAL DE EXPERIENCIAS DE FÍSICA MODERNA 12

Universidad Autónoma de San Luis Potosí Facultad de Ingeniería Programas Analíticos del Área Mecánica y Eléctrica 5727 PROGRAMACION EN PARALELO

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS QUÍMICAS LICENCIATURA: QUÍMICO FARMACOBIÓLOGO ÁREA ESPECÍFICA DE: FISICO-QUIMICA

Hoja de respuestas. Examen tipo A

DESCRIPCIÓN Y HORARIO DE CURSOS I-2018

ASIGNATURA Inteligencia Artificial en los sistemas de control autónomo

Física Computacional en el Grupo de Teoría de la Materia Condensada de Bariloche

CAR. Responsable : María del Carmen Heras Sánchez. Asesores Técnicos : Daniel Mendoza Camacho Yessica Vidal Quintanar.

Curso de actualización docente: Cómputo científico con Python

UNIVERSIDAD DE GUADALAJARA

Perfil Profesional en formato de la SETEC

PROTOCOLO. Plan de estudios del que forma parte: Ingeniería en Sistemas Energéticos

Unidad de Competencia I Elementos de Competencia Requerimientos de información

GPGPU ( GENERAL PURPOSE COMPUTING ON GRAPHICS PROCESSING UNITS)

Presentación de la Asignatura. Química. Ing. Susana Arcos

Capítulo 2. Descripción del sistema propuesto

Todo es cuestión de preferencias

PARADIGMA y LENGUAJES DE PROGRAMACIÓN

ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA GRADO DE INGENIERÍA INFORMÁTICA. Curso 2016/17. Asignatura: TÉCNICAS DE OPTIMIZACIÓN DATOS DE LA ASIGNATURA

PROGRAMA DE ESTUDIO Área de Formación : Fecha de elaboración: 28 de mayo de 2010 Fecha de última actualización:

MAESTRÍA EN INGENIERÍA DE SOFTWARE PLAN DE ESTUDIOS 2015

UNIVERSIDAD DE GUADALAJARA

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI

TEMA 10 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS. Introducción Hardware Software Aspectos de diseño

COMPUTACIÓN DISTRIBUIDA Y APLICACIONES

Javier Baeza, Oscar Alberto Chávez Bosquez Fecha de elaboración: 28 de mayo de 2010 Fecha de última actualización:

TEMA 9. SISTEMAS OPERATIVOS DISTRIBUIDOS

CUDA 5.5 y Visual Studio Express 2012 para Escritorio. Primeros pasos.

CUDA: MODELO DE PROGRAMACIÓN

PROGRAMA DE ESTUDIO POR COMPETENCIAS LENGUAJE ENSAMBLADOR

Francisco J. Hernández López

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE. Herramientas y técnicas de profiling

FUNDAMENTOS DE PROGRAMACIÓN. Ing. Karina García Morales

UNIVERSIDAD DE GUADALAJARA

Computación 1. Roles en la interconexión

PRÁCTICA N 1 INTRODUCCIÒN A MATLAB Y UTILIZACIÓN DE LAS MATEMÁTICAS COMO HERRAMIENTAS PRIMORDIAL EN EL ANÁLISIS DE SISTEMAS DE CONTROL

PROTOCOLO. Carácter Modalidad Horas de estudio semestral (16 semanas)

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ACATLÁN HORAS SEMANA

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE. Programación a bajo nivel

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ACATLÁN HORAS SEMANA

Ingeniería en Informática. Clave de la Asignatura: SACTA 3 2-5

GUÍA DE APRENDIZAJE SISTEMAS OPERATIVOS

FACULTAD DE CIENCIAS NATURALES DEPARTAMENTO DE CIENCIAS QUÍMICAS

Fecha de elaboración: Agosto de 2004 Fecha de última actualización: Julio de 2010

Programación Docente: Ingeniería de Protocolos de Comunicaciones.

Unidad Académica Responsable: Departamento de Informática y Ciencias de la Computación CARRERA a las que se imparte: Ingeniería Civil Informática

Fecha de elaboración: Julio de 2010 Fecha de última actualización:

TEMA: CONCEPTOS BASICOS DE REDES MATERIA: Las tic en la educación NOMBRE DE LA ALUMNA: Melissa Ibeth Chávez Villela NOMBRE DEL MAESTRO: Genaro Israel

Aplicaciones de Gran Ancho de Banda

CARTA DESCRIPTIVA (FORMATO MODELO EDUCATIVO UACJ VISIÓN 2020)

UNIVERSIDAD AUTÓNOMA DE CHIAPAS Facultad de Contaduría y Administración, Campus I

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS QUÍMICAS LICENCIATURA: QUÍMICO

PAP - Programación y Arquitecturas Paralelas

COMPUTACIÓN PARALELA EN PYTHON SOBRE UN CLUSTER DE ALTO RENDIMIENTO

CARTA DESCRIPTIVA (FORMATO MODELO EDUCATIVO UACJ VISIÓN 2020)

Francisco Javier Hernández López

PROGRAMA DE ESTÍMULOS A LA INNOVACIÓN

Representantes de la academia de sistemas y computación del I.T La Paz. Asignaturas Temas Asignaturas Temas

Transcripción:

Uso eficiente de tarjetas gráficas para la visualización volumétrica de campos escalares Responsables M. en I. Oscar Yañez Suárez (yaso@xanum.uam.mx) Dr. Jorge Garza Olguín (jgo@xanum.uam.mx) Perfil deseable del alumno El alumno debe tener conocimientos de programación en C, C++, CUDA y OpenGL para hacer aplicaciones gráficas de alto rendimiento, así como del manejo del entorno de desarrollo de aplicaciones Qt. Presentación del contexto e identificación de la problemática El despliegue gráfico de campos escalares ha estado dominado por el uso intensivo del CPU al tiempo que mediante el uso de bibliotecas gráficas se hace uso básico de la tarjeta gráfica. Algunos de los pasos cruciales para el despliegue gráfico de campos escalares donde interviene el CPU son: a) generación de la malla dde evaluación (dominio), b) evaluación del campo escalar sobre la malla, c) paso de los datos generados a la tarjeta gráfica. 1,2 En años recientes la industria de las tarjetas gráficas ha diversificado su uso. Por ejemplo, en estos días existen tarjetas gráficas que contienen millones de procesadores que ejecutan concurrentemente programas para efectuar operaciones de punto flotante (en precisión simple o precisión doble) que pueden competir con servidores, o agregados de servidores, que contengan un número grande de CPUs. Por supuesto que esta cualidad de las tarjetas gráficas ha sido un blanco para los centros de supercómputo. 3 Una limitante de las tarjetas gráficas para su uso en cómputo de alto rendimiento es la memoria física de la que disponen estos dispositivos ya que no pueden compartir la memoria del sistema a la que tiene acceso el CPU. 4 Por el lado de la visualización se recurre comúnmente al esquema de evaluar campos escalares, o vectoriales, en el CPU (o en un conjunto de CPUs) y después transferir el campo generado para su visualización en un servidor. En este sentido se está perdiendo la cualidad de la tarjeta gráfica de hacer operaciones de punto flotante, además es

necesario hacer transferencia de datos del CPU a la tarjeta gráfica para generar el despliegue gráfico. Naturalmente, la memoria física de la tarjeta gráfica será una limitante y es ahí donde se tienen que explorar los diversos esquemas de uso de memoria de la tarjeta gráfica lo cual implica también una manera eficiente de transferencia de datos entre la tarjeta gráfica y el CPU. En el contexto de las aplicaciones, la química teórica es uno de los campos del conocimiento donde cotidianamente se hace uso de recursos de CPU en un centro de supercómputo para generar campos escalares y analizarlos con software libre o comercial en una estación de trabajo. Por mala fortuna, es realmente escaso el uso de estaciones de trabajo que contengan tarjetas gráficas -con la capacidad de efectuar operaciones de punto flotante- para explotar simultáneamente sus capacidades de cómputo científico y de visualización. He aquí la necesidad de contar con el software adecuado para explotar todas las facetas de una tarjeta gráfica de última generación. Objetivos generales del proyecto de investigación Generar una aplicación que permita evaluar campos escalares sobre una tarjeta gráfica y visualizar en tiempo real el campo escalar generado. Objetivos Específicos 1 Distribución eficiente de una malla tridimensional sobre los hilos contenidos en una tarjeta gráfica. 2 Evaluación de la densidad electrónica de una molécula de tamaño mediano sobre la malla generada en el punto 1. 3 Producción de isosuperficies de densidad para su visualización. 4 Generación de una interfaz de programación de aplicaciones para generar el despliegue gráfico de las isosuperficies del campo escalar del punto 3. Metodología propuesta Uno de los aspectos importantes dentro de este proyecto es el de distribuir de manera eficiente la información sobre los hilos de la tarjeta gráfica, con lo cual el uso de la memoria de la tarjeta gráfica es crucial. Por lo tanto, es necesario que la interfaz de programación de aplicaciones planteada en el objetivo 3 considere diferentes niveles de acceso a la memoria: memoria global, compartida o constante. Así, la metodología que se usará en este proyecto contempla el ajuste necesario de las diferentes memorias

disponibles en la generación de la malla, la evaluación del campo escalar y el despliegue gráfico. Es importante mencionar que se ha generado una tesis de maestría donde se plantea la distribución de la malla sobre tarjetas gráficas usando CUDA C y por lo tanto se evaluará si es pertinente tal algoritmo o se requerirá diseñar uno adicional. 5 Además, existe una tesis de licenciatura donde se evalúa a la densidad electrónica sobre tarjetas gráficas. 6 Naturalmente, se utilizará ese conocimiento como punto de partida para construir los algoritmos de visualización así como el enlace con la interfaz gráfica. Resultados esperados Se reconocen dos productos principales de este proyecto. Por una parte, un usuario final verá una aplicación para el despliegue gráfico de campos escalares en general, y de aquellos que surjan del modelado molecular en particular. No tenemos conocimiento de alguna aplicación de este tipo generada en nuestro país, por lo que se generará conocimiento sobre nuevas tecnologías que den como producto aplicaciones de amplio uso. Naturalmente, este proyecto generará artículos de investigación y participaciones en congresos especializados. Resultados trimestrales Al finalizar el proyecto el alumno habrá construido una aplicación para la visualización tridimensional de campos escalares acompañado de su documentación completa. Asimismo, habrá completado un conjunto de pruebas de funcionamiento que le permitirán evaluar la efectividad de su propuesta. Al término del primer trimestre el alumno generará su protocolo de investigación que, al menos, contendrá una descripción del estado del conocimiento, la problemática que se abordará y la metodología de solución que se sustente en el procesamiento y despliegue de iso-superficies en tarjetas de procesamiento gráfico. Al término del segundo trimestre el alumno entregará un reporte de los avances del proyecto de investigación. El reporte describirá los hitos y avances realizados por el alumno. Entre los avances se presentará una primera versión de la aplicación.

En el tercer trimestre el alumno se centrará en la ejecución de pruebas que le permitan retroalimentar la propuesta y al finalizar entregará la versión final de su idónea comunicación de resultados. Calendarización de actividades 1 Revisión de la literatura y dominar la programación en CUDA C y OpenGL. 2 Evaluar la pertinencia de la malla propuesta en la tesis de maestría de la referencia 5. 3 Adaptar un código escrito en CUDA C donde ya se evalúa la densidad electrónica obtenida de un cálculo de la teoría de funcionales de la densidad para usarlo como campo escalar de prueba. 4 Generar la parte básica de visualización que tendrá como interfaz un usuario. 5 Evaluar diferentes accesos de la memoria en la tarjeta gráfica en el despliegue gráfico de campos escalares modelo. 6 Finalizar la aplicación que permita visualizar un campo escalar generado por técnicas de estructura electrónica de átomos y moléculas. 7 Comunicación idónea de resultados

Actividad Trimestre 1 Trimestre 2 Trimestre 3 1 2 3 4 5 6 7 Infraestructura necesaria y disponible Toda la infraestructura para desarrollar este proyecto está instalada en la Universidad Autónoma Metropolitana-Iztapalapa. Se cuenta con dos servidores que contienen cada uno de ellos 8 cores y dos tarjetas gráfica NVIDIA Quadro 5000. Dos servidores con 12 cores, cada uno de ellos, conectados a un gabinete que contiene 6 tarjetas NVIDIA M2090. Lugar(es) de realización Laboratorio de Neuroimagenología, T.227 Fisicoquímica Teórica, AT-248 Laboratorio de Supercómputo y Visualización en Paralelo Referencias 1. Humphrey, H.; Dalke, A.; Shulten, K. J. Mol. Graph. 14, 33 (1996). 2. Stone, J. E.; Hardy, D. J.; Saam, J.; Vandivort, K. L.; Schulten, K. Chapter 1 in GPU Computing Gems: Emerald Edition. Editor Wen-Mei W. Hwu. Morgan Kaufmann (New York, 2011). 3. Sanders, J.; Kandrot, E. CUDA by example: an introduction to general-purpose GPU programming. Addison-Wesley. (New York, 2011). 4. Ufimtsev, S.; Martínez, T. J. Journal of Chemical Theory and Computation. 4, 222 (2008). 5. Alcalde Segundo, Isaías. Tesis de maestría Evaluación de campos escalares de la química cuántica sobre unidades de procesamiento gráfico. Universidad Autónoma del Estado de México. Enero, 2013.

6. Hernández Esparza, Raymundo. Tesis de licenciatura Análisis del enlace de hidrógeno con la matriz de densidad de orden uno: aplicación sobre tarjetas gráficas. Benemérita Universidad Autónoma de Puebla. Noviembre, 2011.