Desde el punto de vista arquitectónico, la CPU está compuesta por solo unos pocos núcleos con una gran cantidad de memoria caché que puede manejar algunos subprocesos de software a la vez. Por el contrario, una GPU está compuesta por cientos de núcleos que pueden manejar miles de subprocesos en simultáneo.
Las GPU ofrecen la tecnología de la computación en paralelo, algo mágico hasta hace poco.
Dask + NVIDIA: Impulsar el Análisis Acelerado y Accesible
NVIDIA entiende la potencia que las GPU ofrecen al análisis de datos. Es por eso que NVIDIA se ha empeñado en capacitar a los profesionales de ciencia de datos, machine learning e inteligencia artificial para que aprovechen al máximo sus datos. Al ver la potencia y la accesibilidad de Dask, NVIDIA comenzó a usarla en el proyecto RAPIDS con el objetivo de escalar horizontalmente cargas de trabajo de análisis de datos aceleradas a múltiples GPU y sistemas basados en GPU.

Debido a la interfaz y versatilidad de Python que son accesibles más allá de la ciencia de datos, Dask creció a lo largo de NVIDIA para convertirse en una opción natural en nuevas aplicaciones que van desde el análisis de JSON hasta la administración de workflows de deep learning integrales. Estos son algunos de los muchos proyectos y colaboraciones en curso de NVIDIA que utilizan Dask:
RAPIDS
RAPIDS es un conjunto de API y bibliotecas de software de código abierto para ejecutar procesos de ciencia de datos completamente en la GPU. Esto permite reducir los tiempos de entrenamiento de días a minutos. RAPIDS se basa en NVIDIA® CUDA-X AI™, y une años de desarrollo en gráficos, machine learning, computación de alto rendimiento (HPC) y más.

Si bien CUDA-X es increíblemente potente, la mayoría de los profesionales de análisis de datos prefieren experimentar, desarrollar y entrenar modelos con un conjunto de herramientas de Python, como numPy, Pandas y Scikit-learn mencionados anteriormente. Dask es un componente crítico del ecosistema RAPIDS, lo que les facilita aún más a los profesionales de datos aprovechar la computación acelerada a través de una cómoda experiencia de usuario basada en Python.

NVTabular
NVTabular es una biblioteca de preprocesamiento e ingeniería de funciones diseñada para manipular de forma rápida y sencilla terabytes de conjuntos de datos tabulares. Se basa en la biblioteca Dask-cuDF y proporciona una capa de abstracción de alto nivel, lo que simplifica la creación de operaciones ETL de alto rendimiento a gran escala. NVTabular puede escalar a miles de GPU aprovechando RAPIDS y Dask, lo que elimina el cuello de botella de esperar a que finalicen los procesos de ETL.
cuStreamz
De forma interna, en NVIDIA, usamos Dask para potenciar partes de nuestros productos y operaciones comerciales. Con Streamz, Dask y RAPIDS, hemos creado cuStreamz, una plataforma de datos de transmisión acelerada que utiliza Python de forma 100% nativa. Con cuStreamz, podemos realizar análisis en tiempo real para algunas de nuestras aplicaciones más exigentes, como GeForce NOW, NVIDIA GPU Cloud y NVIDIA Drive SIM. Si bien es un proyecto joven, notamos reducciones impresionantes en el costo total de propiedad en comparación con otras plataformas de datos de transmisión utilizando cuStreamz habilitado para Dask.