Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
OpenMP Niveles de Paralelismo Tecnologías de HPC Aceleración y paralelización del procesamiento de datos y algoritmos. Hilo: unidad atómica de ejecución. Worker: hilos que trabajan bajo el modelo SIMD. Vector: hilos que trabajan al mismo tiempo síncronamente. Gang: Grupo de workers, donde cada gand trabaja independientemente. Emplea memoria compartida dividiendo una aplicación en tareas asignadas a hilos que comparten memoria. Simulación y análisis . Inteligencia Artificial. Optimización de código. RADIOSS para resistencia de diseños. Procesamiento de datos. Aplicaciones Del modelo Fork-Join con decoraciones en código fuente, llamadas y planificación de bibliotecas y conf. run-time. Ocultación de complejidad CUDA Tecnología desarrollada por NVIDIA para el desarrollo de aplicaciones paralelas eficientes en C++, permitiendo usar la GPU para los cálculos matemáticos complejos, es decir, para aquellas partes que para una CPU resultaría tardado de ejecutar. Implementada a nivel Hardware en sus GPUs. MPI API utilizada para entornos HPC que permite escribir programas ejecutables en múltiples procesos, proporcionando comunicación, sincronización y grupos de procesos. Aplicaciones Modelado de clima y predicción de tiempo. Análisis financiero de riesgos Simulaciones de Ingeniería Minería de Datos y Aprendizaje Auto. Operación Divide tareas en tareas fragmentadas por distintos procesos, los cuales se comunican por mensajes específicos para coordinar la ejecución de las tareas. Especificación de un conjunto de directivas de compiladores, bibliotecas y variables de entorno. Usable en C/C++/Fortran. Modelo Participan en su desarrollo Intel, IBM, Nvidia, Microsoft, ANSYS y MathWorks. Soportado por VSCode, Codeblocks... Empresas Representa un estándar "de facto" de comunicación para programación paralela con el fin de unificar bibliotecas de comunicación entre sistemas distribuidos heterogéneos. Propósito OpenACC Estándar de programación para la aceleración de aplicaciones con paralelismo implícito: directivas de compilación que aceleran la ejecución por medio de GPUs. Características De uso simple, códigos reducidos y con posibilidad de incrementar x10 el rendimiento de múltiples programas. Así mismo, es portable a distintas plataformas. Con compiladores libres como OpenARC y privativos como PGI y Cray. Aplicaciones Big Data en campos científicos como química, ciencia o matemáticas aplicadas. Análisis de Datos a gran escala. Optimización de software serial. Docencia de aplicaciones potenciadas por GPUs. CUDA se implementa a nivel hardware en las GPUs. En ellas, cada núcleo tiene recursos compartidos, registros y memoria. La memoris compartida integrada en los chips gráficos permite que cada núcleo comparta dtos sin pasar por un bus de memoria. Hardware Aplicaciones Inteligencia Artificial en algoritmos de ML, redes neuronales, visión computacional y procesamiento de lenguaje natural. Cómputo de alto rendimiento y simulaciones de Ingeniería de alta complejidad. Videojuegos y cálculo de físicas. La programación de cómputo de alto rendimiento consiste en la paralelización del software y hardware en entornos específicos que involucren cálculos complejos y procesamiento de volúmenes altos de datos. Estas tecnologías proveen herramientas de programación paralela (OpenMP, MPI, OpenACC y CUDA) para aprovechar de manera óptima la capacidad de procesamiento de múltiples núcleos de procesamiento y GPUs. El cómputo de alto rendimiento se utiliza para procesar grandes conjuntos de datos y realizar cálculos complejos de manera eficiente y rápida, lo que lo convierte en una herramienta esencial para la investigación científica, la resolución de problemas de ingeniería, la Minería de Datos y la programación de videojuegos.
Compartir