Nota: Puede convertir fácilmente este archivo Markdown a un PDF en VSCode utilizando esta práctica extensión Markdown PDF.
Cómo funcionan juntas la CPU y la GPU cuando se ejecuta el código de la aplicación.
Arquitectura de memoria unificada
Recursos de aprendizaje sobre GPU
Carga eléctrica, campo y potencial.
Carga y fuerza eléctrica (ley de Coulomb): carga eléctrica, campo y potencial
Campo eléctrico: carga eléctrica, campo y potencial.
Energía potencial eléctrica, potencial eléctrico y voltaje: carga eléctrica, campo y potencial.
Circuitos
Ley de Ohm y circuitos con resistencias: Circuitos
Circuitos con condensadores: Circuitos
Fuerzas magnéticas, campos magnéticos y ley de Faraday.
Imanes y fuerza magnética: fuerzas magnéticas, campos magnéticos y ley de Faraday
Campo magnético creado por una corriente: fuerzas magnéticas, campos magnéticos y ley de Faraday.
Motores eléctricos: fuerzas magnéticas, campos magnéticos y ley de Faraday.
Flujo magnético y ley de Faraday.
Ondas electromagnéticas e interferencias.
Introducción a las ondas electromagnéticas: Ondas electromagnéticas e interferencias.
Interferencia de ondas electromagnéticas.
Óptica geométrica
Reflexión y refracción: Óptica geométrica
Espejos: Óptica geométrica
Lentes
Álgebra lineal
Virtualización
Computación paralela
Desarrollo OpenCL
Desarrollo CUDA
Algoritmos
Aprendizaje automático
Desarrollo de aprendizaje profundo
Desarrollo de visión por computadora
Juego de azar
Desarrollo de juegos
Desarrollo OpenGL
Desarrollo Vulcano
Desarrollo DirectX
Desarrollo de audio/vídeo profesional
Gráficos y diseño 3D
Silicio de manzana
Desarrollo central de aprendizaje automático
Desarrollo de metales
DesarrolloMATLAB
Desarrollo C/C++
Desarrollo de Python
Desarrollo R
Desarrollo Julia
Volver a la cima
La Unidad de procesamiento de gráficos (GPU) es un circuito compuesto por cientos de núcleos que pueden manejar miles de subprocesos simultáneamente. GPUS puede manipular y alterar rápidamente la memoria para acelerar la creación de imágenes en un búfer de fotogramas destinado a su salida a un dispositivo de visualización. Se utilizan en sistemas integrados, teléfonos móviles, ordenadores personales, estaciones de trabajo profesionales y consolas de juegos.
La memoria de acceso aleatorio (RAM) es una forma de memoria de computadora que se puede leer y cambiar en cualquier orden y generalmente se usa para almacenar datos de trabajo y código de máquina. Un dispositivo de memoria de acceso aleatorio permite leer o escribir elementos de datos casi en la misma cantidad de tiempo, independientemente de la ubicación física de los datos dentro de la memoria, a diferencia de otros medios de almacenamiento de datos de acceso directo.
La memoria de acceso aleatorio de vídeo (VRAM) es la RAM asignada para almacenar datos relacionados con imágenes o gráficos. Funciona de la misma manera que la RAM, almacenando datos específicos para facilitar el acceso y el rendimiento. El procesador primero lee los datos de la imagen y los escribe en la VRAM. Luego se convierte mediante un RAMDAC o un convertidor de digital a analógico de RAM y se muestra como salida de gráficos.
La SDRAM de velocidad de datos doble de gráficos (GDDR) es un tipo de memoria de acceso aleatorio de gráficos síncronos (SGRAM) con una interfaz de alto ancho de banda ("velocidad de datos doble") diseñada para su uso en tarjetas gráficas, consolas de juegos e informática de alto rendimiento.
La Unidad de procesamiento de gráficos integrado (IGPU) es un componente construido en el mismo chip (circuito integrado) con la CPU (AMD Ryzen APU o Intel HD Graphics) que utiliza una parte de la RAM del sistema de la computadora en lugar de la memoria de gráficos dedicada.
Tensor es un objeto algebraico que describe una relación multilineal entre conjuntos de objetos algebraicos relacionados con un espacio vectorial. Objetos que los tensores pueden asignar entre vectores, escalares y otros tensores.
Los tensores son matrices multidimensionales con un tipo uniforme (llamado tipo d).
Tensor Cores es un acelerador de inferencia de IA en las GPU NVIDIA que proporciona un rendimiento superior en un orden de magnitud con precisiones reducidas como TF32, bfloat16, FP16, INT8, INT4 y FP64, para acelerar la computación científica con la mayor precisión necesaria.
Los núcleos RT (trazado de rayos en tiempo real) son una aceleración de trazado de rayos basada en hardware que acelera las funciones de prueba de intersección de rayos/triángulos (ray casting) transversal y de jerarquía de volumen delimitador (BVH). RT Cores realiza pruebas de visibilidad en nombre de los subprocesos que se ejecutan en SM, lo que le permite manejar otro trabajo de sombreado de cálculo, vértice y píxel.
La Unidad Central de Procesamiento (CPU) es un circuito compuesto por múltiples núcleos que ejecuta instrucciones que componen un programa de computadora. La CPU realiza operaciones aritméticas, lógicas, de control y de entrada/salida (E/S) básicas especificadas por las instrucciones del programa. Esto es diferente de otros componentes externos como la memoria principal, los circuitos de E/S y las unidades de procesamiento de gráficos (GPU).
Unidad de procesamiento acelerado (APU) de AMD, una serie de microprocesadores de 64 bits de Advanced Micro Devices (AMD), diseñados para actuar como una unidad central de procesamiento (CPU) y una unidad de procesamiento de gráficos (GPU) en un solo chip.
Vector Processor es una unidad central de procesamiento (CPU) que implementa un conjunto de instrucciones donde sus instrucciones están diseñadas para operar de manera eficiente y efectiva en grandes conjuntos unidimensionales de datos llamados vectores.
El procesamiento de señales digitales (DSP) es la aplicación de una computadora digital para modificar una señal analógica o digital. Se utiliza ampliamente en muchas aplicaciones, incluidas comunicaciones y redes de video/audio/datos, imágenes médicas y visión por computadora, síntesis y codificación de voz, audio y video digitales y control de sistemas complejos y procesos industriales.
El procesamiento de señales de imagen (ISP) son los procesos de convertir una imagen a formato digital mediante la realización de operaciones como reducción de ruido, exposición automática, enfoque automático, balance de blancos automático, corrección HDR y nitidez de imagen con un tipo de procesador de medios especializado.
Los circuitos integrados de aplicaciones específicas (ASIC) son un chip de circuito integrado (IC) personalizado para un uso particular en sistemas integrados, teléfonos móviles, computadoras personales y estaciones de trabajo profesionales, en lugar de estar destinados a un uso general.
Instrucción única, datos múltiples (SIMD) es un tipo de procesamiento paralelo que describe computadoras con múltiples elementos de procesamiento que realizan la misma operación en múltiples puntos de datos simultáneamente.
¿Qué es una GPU? Unidades de procesamiento de gráficos definidas | Intel
Instituto de aprendizaje profundo y soluciones de formación | Nvidia
Cursos en línea de aprendizaje profundo | Nvidia
Cursos universitarios existentes | Desarrollador NVIDIA
Uso de GPU para escalar y acelerar el aprendizaje profundo | edX
Mejores cursos de GPU en línea | Coursera
Programación CUDA GPU de principiante a avanzado | Udemy
Computación GPU en Vulkan | Udemy
Curso de Arquitecturas GPU | Universidad de Washington
Volver a la cima
- Charge and electric force (Coulomb's law): Electric charge, field, and potential - Electric field: Electric charge, field, and potential - Electric potential energy, electric potential, and voltage: Electric charge, field, and potential
Energía Potencial Eléctrica. Fuente: chispafun
Volver a la cima
- Ohm's law and circuits with resistors: Circuits - Circuits with capacitors: Circuits
Circuitos Eléctricos. Fuente: sdsu-física
Símbolos de circuitos. Fuente: andrewpover.co.uk
Volver a la cima
- Magnets and Magnetic Force: Magnetic forces, magnetic fields, and Faraday's law - Magnetic field created by a current: Magnetic forces, magnetic fields, and Faraday's law - Electric motors: Magnetic forces, magnetic fields, and Faraday's law - Magnetic flux and Faraday's law
Campo magnético. Fuente: vecteezy
Ley de Amfera. Fuente: sdsu-física
La ley de Farady. Fuente: sdsu-física
Volver a la cima
- Introduction to electromagnetic waves: Electromagnetic waves and interference - Interference of electromagnetic waves
Onda electromagnética. Fuente: diferencia entre
Espectro EMI. Fuente: electric4u
Volver a la cima
- Reflection and refraction: Geometric optics - Mirrors: Geometric optics - Lenses
Óptica Geométrica - Raytracing. Fuente: sdsu-física
Óptica Geométrica - Reflexión. Fuente: sdsu-física
Volver a la cima
El álgebra lineal es la matemática de vectores y matrices. El único requisito previo para esta guía es una comprensión básica de los conceptos matemáticos de la escuela secundaria, como números, variables, ecuaciones y las operaciones aritméticas fundamentales con números reales: suma (denotada +), resta (denotada -), multiplicación (denotada implícitamente) y división (fracciones). Además, también debes estar familiarizado con funciones que toman números reales como entradas y dan números reales como salidas, f : R → R.
Álgebra lineal - Cursos en línea | Universidad de Harvard
Álgebra lineal | Biblioteca de aprendizaje abierto del MIT
Álgebra lineal - Khan Academy
Los mejores cursos de álgebra lineal en Coursera
Matemáticas para el aprendizaje automático: álgebra lineal en Coursera
Los mejores cursos de álgebra lineal en Udemy
Aprenda álgebra lineal con cursos y clases en línea en edX
Las matemáticas de la ciencia de datos: curso de álgebra lineal en edX
Álgebra lineal en veinticinco conferencias | Universidad de Davis
Álgebra lineal | Extensión de la Universidad de California en San Diego
Álgebra lineal para aprendizaje automático | Extensión de la Universidad de California en San Diego
Introducción al álgebra lineal, vídeo interactivo en línea | wolframio
Recursos de álgebra lineal | Dartmouth
Ahora definimos las operaciones matemáticas para vectores. Las operaciones que podemos realizar sobre los vectores ~u = (u1, u2, u3) y ~v = (v1, v2, v3) son: suma, resta, escala, norma (longitud), producto escalar y producto cruz:
El producto escalar y el producto vectorial de dos vectores también se pueden describir en términos del ángulo θ entre los dos vectores.
Operaciones vectoriales. Fuente: slideserve
Operaciones vectoriales. Fuente: pinterest
Denotamos por A la matriz en su conjunto y nos referimos a sus entradas como aij. Las operaciones matemáticas definidas para matrices son las siguientes:
• determinante (denotado det(A) o |A|) Tenga en cuenta que el producto matricial no es una operación conmutativa.
Operaciones matriciales. Fuente: Física SDSU
Busque módulos que permitan Matrix Operations. Fuente: Conceptos DPS
El producto matriz-vector es un caso especial importante del producto matricial.
Hay dos formas fundamentalmente diferentes pero equivalentes de interpretar el producto matriz-vector. En la imagen de la columna, (C), la multiplicación de la matriz A por el vector ~x produce una combinación lineal de las columnas de la matriz: y = A x = x1A[:,1] + x2A[:,2], donde A[:,1] y A[:,2] son la primera y segunda columnas de la matriz A. En la imagen de la fila, (R), la multiplicación de la matriz A por el vector ~x produce un vector de columna con coeficientes igual a los productos escalares de las filas de la matriz con el vector ~x.
Producto matriz-vector. Fuente: wikimedia
Producto matriz-vectorial. Fuente: mathisfun
El producto matriz-vector se utiliza para definir la noción de transformación lineal, que es una de las nociones clave en el estudio del álgebra lineal. Se puede considerar que la multiplicación por una matriz A ∈ R m×n calcula una transformación lineal TA que toma n-vectores como entradas y produce m-vectores como salidas:
Transformaciones lineales. Fuente: slideserve
Matrices elementales para transformaciones lineales en R^2. Fuente: Quora
Teorema fundamental del álgebra lineal para espacios vectoriales. Fuente: wikimedia
Teorema fundamental del álgebra lineal. Fuente: wolframio
Sistema de ecuaciones lineales mediante gráficas. Fuente: diapositiva compartida
Sistemas de ecuaciones como ecuaciones matriciales. Fuente: mathisfun
En esta sección veremos varios enfoques diferentes para calcular la inversa de una matriz. La inversa de la matriz es única, por lo que no importa qué método usemos para encontrar la inversa, siempre obtendremos la misma respuesta.
Inversa de la Matriz 2x2. Fuente: pinterest
Un método para calcular la inversa es utilizar el procedimiento de eliminación de Gauss-Jordan.
Operaciones de fila de Elementray. Fuente: Youtube
Cada operación de fila que realizamos en una matriz equivale a una multiplicación por la izquierda por una matriz elemental.
Matrices elementales. Fuente: Física SDSU
Encontrar la inversa de una matriz es utilizar el método de transposición.
Transpuesta de una matriz. Fuente: slideserve
En esta sección se analizan otros temas importantes del álgebra lineal.
Intuitivamente, una base es cualquier conjunto de vectores que puede usarse como sistema de coordenadas para un espacio vectorial. Seguramente estás familiarizado con la base estándar del plano xy, que se compone de dos ejes ortogonales: el eje x y el eje y.
Base. Fuente: wikimedia
Cambio de Base. Fuente: wikimedia
Representaciones matriciales de transformaciones lineales. Fuente: slideserve
La dimensión de un espacio vectorial se define como el número de vectores en una base para ese espacio vectorial. Considere el siguiente espacio vectorial S = span{(1, 0, 0),(0, 1, 0),(1, 1, 0)}. Viendo que el espacio está descrito por tres vectores, podríamos pensar que S es tridimensional. Sin embargo, este no es el caso, ya que los tres vectores no son linealmente independientes, por lo que no forman una base para S. Dos vectores son suficientes para describir cualquier vector en S; podemos escribir S = span{(1, 0, 0),(0, 1, 0)}, y vemos que estos dos vectores son linealmente independientes por lo que forman una base y dim(S) = 2. Hay una Procedimiento para encontrar una base para un espacio vectorial. Supongamos que se le proporciona una descripción de un espacio vectorial en términos de m vectores V = span{~v1, ~v2, . . . , ~vm} y se le pide que encuentre una base para V y la dimensión de V. Para encontrar una base para V, debe encontrar un conjunto de vectores linealmente independientes que abarquen V. Podemos usar el procedimiento de eliminación de Gauss-Jordan para realizar esta tarea. Escriba los vectores ~vi como las filas de una matriz M. El espacio vectorial V corresponde al espacio de filas de la matriz M. A continuación, use operaciones de fila para encontrar la forma escalonada reducida de filas (RREF) de la matriz M. Dado que las operaciones de fila no cambie el espacio de filas de la matriz, el espacio de filas de la forma escalonada reducida de la matriz M es el mismo que el espacio de filas del conjunto original de vectores. Las filas distintas de cero en el RREF de la matriz forman una base para el espacio vectorial V y el número de filas distintas de cero es la dimensión de V.
Base y Dimensión. Fuente: sliderserve
Recuerde los espacios vectoriales fundamentales para matrices que definimos en la Sección II-E: el espacio columna C(A), el espacio nulo N (A) y el espacio fila R(A). Una pregunta estándar del examen de álgebra lineal consiste en proporcionarle una determinada matriz A y pedirle que encuentre la dimensión y una base para cada uno de sus espacios fundamentales. En la sección anterior describimos un procedimiento basado en la eliminación de Gauss-Jordan que se puede utilizar para "destilar" un conjunto de vectores linealmente independientes que forman una base para el espacio de filas R(A). Ahora ilustraremos este procedimiento con un ejemplo y también mostraremos cómo usar el RREF de la matriz A para encontrar bases para C(A) y N (A).
Espacio de fila y espacio de columna. Fuente: diapositiva compartida
Espacio de fila y espacio de columna. Fuente: diapositiva compartida
Rango y Nulidad. Fuente: diapositiva compartida
Existe una distinción importante entre matrices que son invertibles y aquellas que no están tan formalizadas por el siguiente teorema. Teorema. Para una matriz A de n×n, las siguientes afirmaciones son equivalentes:
Teorema de la matriz invertible. Fuente: Física SDSU
El determinante de una matriz, denotado det(A) o |A|, es una forma especial de combinar las entradas de una matriz que sirve para comprobar si una matriz es invertible o no.
Determinante de una matriz cuadrada. Fuente: intercambio de pila
Determinante de la matriz. Fuente: aprendizaje de matemáticas en línea
El conjunto de vectores propios de una matriz es un conjunto especial de vectores de entrada para los cuales la acción de la matriz se describe como un simple escalamiento. Cuando una matriz se multiplica por uno de sus vectores propios, la salida es el mismo vector propio multiplicado por una constante A eλ = λ eλ. La constante λ se llama valor propio de A.
Vectores propios generalizados. Fuente: Youtube
La regresión lineal es un enfoque para modelar la relación entre dos variables ajustando una ecuación lineal a los datos observados. Una variable se considera una variable explicativa y la otra se considera una variable dependiente.
Regresión lineal múltiple. Fuente: Medio
Volver a la cima
HVM (Hardware Virtual Machine) es un tipo de virtualización que brinda la capacidad de ejecutar un sistema operativo directamente sobre una máquina virtual sin ninguna modificación, como si se ejecutara en hardware básico.
PV (ParaVirtualización) es una técnica de virtualización eficiente y liviana introducida por el equipo del Proyecto Xen, posteriormente adoptada por otras soluciones de virtualización. PV no requiere extensiones de virtualización de la CPU del host y, por lo tanto, permite la virtualización en arquitecturas de hardware que no admiten la virtualización asistida por hardware.
La virtualización de funciones de red (NFV) es la sustitución del hardware de los dispositivos de red por máquinas virtuales. Las máquinas virtuales utilizan un hipervisor para ejecutar software y procesos de red, como enrutamiento y equilibrio de carga. NFV permite separar los servicios de comunicación del hardware dedicado, como enrutadores y firewalls. Esta separación significa que las operaciones de red pueden proporcionar nuevos servicios de forma dinámica y sin instalar nuevo hardware. La implementación de componentes de red con virtualización de funciones de red solo lleva horas en comparación con meses, como ocurre con las soluciones de red tradicionales.
Las redes definidas por software (SDN) son un enfoque de redes que utiliza controladores basados en software o interfaces de programación de aplicaciones (API) para comunicarse con la infraestructura de hardware subyacente y dirigir el tráfico en una red. Este modelo se diferencia del de las redes tradicionales, que utilizan dispositivos de hardware dedicados (enrutadores y conmutadores) para controlar el tráfico de la red.
Virtualized Infrastructure Manager (VIM) es una prestación de servicios que reduce costos con una gestión del ciclo de vida de alto rendimiento. Administre el ciclo de vida completo del software y hardware que comprende su infraestructura NFV (NFVI) y mantenga un inventario en vivo y un plan de asignación de recursos físicos y virtuales.
Management and Orchestration (MANO) es una iniciativa alojada por ETSI para desarrollar una pila de software de gestión y orquestación de NFV de código abierto (MANO) alineada con ETSI NFV. Dos de los componentes clave del marco arquitectónico de ETSI NFV son NFV Orchestrator y VNF Manager, conocidos como NFV MANO.
Magma es una plataforma de software de código abierto que ofrece a los operadores de red una solución de red central móvil abierta, flexible y ampliable. Su misión es conectar el mundo a una red más rápida permitiendo a los proveedores de servicios construir redes de nivel de operador extensibles y rentables. Magma es de generación 3GPP (2G, 3G, 4G o próximas redes 5G) y es independiente de la red de acceso (celular o WiFi). Puede soportar de manera flexible una red de acceso por radio con un esfuerzo mínimo de desarrollo e implementación.
OpenRAN es una red de acceso por radio (RAN) inteligente integrada en plataformas de uso general con una interfaz abierta entre funciones definidas por software. Open RANecosystem permite una enorme flexibilidad e interoperabilidad con una apertura total a implementaciones de múltiples proveedores.
Open vSwitch (OVS) es un conmutador virtual multicapa de calidad de producción de código abierto con licencia de código abierto Apache 2.0. Está diseñado para permitir la automatización masiva de la red a través de extensión programática, sin dejar de admitir interfaces y protocolos de administración estándar (NetFlow, sFlow, IPFIX, RSPAN, CLI, LACP, 802.1ag).
Edge es un marco informático distribuido que acerca las aplicaciones empresariales a fuentes de datos, como dispositivos IoT o servidores perimetrales locales. Esta proximidad a los datos en su origen puede ofrecer importantes beneficios empresariales, incluidos conocimientos más rápidos, tiempos de respuesta mejorados y una mejor disponibilidad del ancho de banda.
La informática de borde de acceso múltiple (MEC) es un grupo de especificación industrial (ISG) dentro de ETSI para crear un entorno abierto y estandarizado que permitirá la integración eficiente y perfecta de aplicaciones de proveedores, proveedores de servicios y terceros en múltiples proveedores. -Acceder a plataformas Edge Computing.
Las funciones de red virtualizadas (VNF) son una aplicación de software utilizada en una implementación de virtualización de funciones de red (NFV) que tiene interfaces bien definidas y proporciona una o más funciones de red de componentes de una manera definida. Por ejemplo, un VNF de seguridad proporciona traducción de direcciones de red (NAT) y funciones de componentes de firewall.
Las funciones de red nativas de la nube (CNF) son una función de red diseñada e implementada para ejecutarse dentro de contenedores. Los CNF heredan todos los principios operativos y arquitectónicos nativos de la nube, incluida la gestión del ciclo de vida, la agilidad, la resiliencia y la observabilidad de Kubernetes (K8).
La función de red física (PNF) es un nodo de red física que no ha sido virtualizado. Se pueden utilizar tanto PNF como VNF (funciones de red virtualizadas) para formar un servicio de red general.
La infraestructura de virtualización de funciones de red (NFVI) es la base de la arquitectura general de NFV. Proporciona el hardware físico de computación, almacenamiento y red que aloja los VNF. Cada bloque NFVI puede considerarse como un nodo NFVI y muchos nodos pueden implementarse y controlarse geográficamente.
La seguridad basada en virtualización (VBS) es una característica de virtualización de hardware para crear y aislar una región segura de memoria del sistema operativo normal.
La integridad del código aplicado por hipervisor (HVCI) es un mecanismo mediante el cual un hipervisor, como Hyper-V, utiliza la virtualización de hardware para proteger los procesos en modo kernel contra la inyección y ejecución de código malicioso o no verificado. La validación de la integridad del código se realiza en un entorno seguro que es resistente a ataques de software malicioso, y el hipervisor establece y mantiene los permisos de página para el modo kernel.
KVM (para máquina virtual basada en kernel) es una solución de virtualización completa para Linux en hardware x86 que contiene extensiones de virtualización (Intel VT o AMD-V). Consiste en un módulo de kernel cargable, kvm.ko, que proporciona la infraestructura de virtualización central y un módulo específico del procesador, kvm-intel.ko o kvm-amd.ko.
QEMU es un emulador de procesador rápido que utiliza un traductor dinámico portátil. QEMU emula un sistema completo, incluido un procesador y varios periféricos. Se puede utilizar para iniciar un sistema operativo diferente sin reiniciar la PC o para depurar el código del sistema.
Hyper-V permite ejecutar sistemas informáticos virtualizados sobre un host físico. Estos sistemas virtualizados se pueden utilizar y administrar como si fueran sistemas informáticos físicos, sin embargo, existen en un entorno virtualizado y aislado. Un software especial llamado hipervisor gestiona el acceso entre los sistemas virtuales y los recursos físicos de hardware. La virtualización permite una implementación rápida de sistemas informáticos, una forma de restaurar rápidamente los sistemas a un buen estado previamente conocido y la capacidad de migrar sistemas entre hosts físicos.
VirtManager es una herramienta gráfica para administrar máquinas virtuales a través de libvirt. La mayor parte del uso se realiza con máquinas virtuales QEMU/KVM, pero los contenedores Xen y libvirt LXC son bien compatibles. Las operaciones comunes para cualquier controlador libvirt deberían funcionar.
oVirt es una solución de virtualización distribuida de código abierto, diseñada para gestionar toda su infraestructura empresarial. oVirt utiliza el hipervisor KVM confiable y se basa en varios otros proyectos comunitarios, incluidos libvirt, Gluster, PatternFly y Ansible. Fundado por Red Hat como un proyecto comunitario en el que se basa Red Hat Enterprise Virtualization, que permite la administración centralizada de máquinas virtuales, computación , almacenamiento y recursos de red, desde una interfaz web fácil de usar con acceso independiente de la plataforma.
HyperKit es un conjunto de herramientas para incorporar capacidades de hipervisor en su aplicación. Incluye un hipervisor completo, basado en xhyve/bhyve, que está optimizado para máquinas virtuales livianas e implementación de contenedores. Está diseñado para interactuar con componentes de nivel superior, como VPNKit y DataKit. Actualmente, HyperKit solo es compatible con macOS mediante Hypervisor.framework, lo que lo convierte en un componente central de Docker Desktop para Mac.
La tecnología de virtualización de gráficos Intel® (Intel® GVT) es una solución completa de virtualización de GPU con transferencia mediada, a partir de procesadores Intel Core (TM) de cuarta generación con gráficos de procesador Intel (Broadwell y posteriores). Se puede utilizar para virtualizar la GPU para múltiples máquinas virtuales invitadas, proporcionando de manera efectiva un rendimiento de gráficos casi nativo en la máquina virtual y aún permitiendo que su host use la GPU virtualizada normalmente.
Apple Hypervisor es un marco que crea soluciones de virtualización sobre un hipervisor liviano, sin extensiones de kernel de terceros. Hypervisor proporciona API de C para que pueda interactuar con tecnologías de virtualización en el espacio del usuario, sin escribir extensiones del kernel (KEXT). Como resultado, las aplicaciones que cree utilizando este marco son adecuadas para su distribución en Mac App Store.
Apple Virtualization Framework es un marco que proporciona API de alto nivel para crear y administrar máquinas virtuales en computadoras Apple Silicon y Mac basadas en Intel. Este marco se utiliza para iniciar y ejecutar un sistema operativo basado en Linux en un entorno personalizado que usted defina. También es compatible con la especificación Virtio, que define interfaces estándar para muchos tipos de dispositivos, incluidos dispositivos de red, socket, puerto serie, almacenamiento, entropía y globo de memoria.
Apple Paravirtualized Graphics Framework es un marco que implementa gráficos acelerados por hardware para macOS que se ejecutan en una máquina virtual, en lo sucesivo conocida como invitada. El sistema operativo proporciona un controlador de gráficos que se ejecuta dentro del huésped y se comunica con el marco del sistema operativo host para aprovechar los gráficos acelerados por Metal.
Cloud Hypervisor es un monitor de máquina virtual (VMM) de código abierto que se ejecuta sobre KVM. El proyecto se centra exclusivamente en ejecutar cargas de trabajo modernas en la nube, además de un conjunto limitado de arquitecturas y plataformas de hardware. Las cargas de trabajo en la nube se refieren a aquellas que normalmente ejecutan los clientes dentro de un proveedor de la nube. Cloud Hypervisor se implementa en Rust y se basa en las cajas Rust-VMM.
VMware vSphere Hypervisor es un hipervisor básico que virtualiza servidores; permitiéndole consolidar sus aplicaciones mientras ahorra tiempo y dinero administrando su infraestructura de TI.
Xen se centra en promover la virtualización en una serie de diferentes aplicaciones comerciales y de código abierto, incluida la virtualización de servidores, infraestructura como servicios (IaaS), virtualización de escritorios, aplicaciones de seguridad, dispositivos integrados y de hardware, y automoción/aviación.
Ganeti es una herramienta de gestión de clústeres de máquinas virtuales construida sobre tecnologías de virtualización existentes como Xen o KVM y otro software de código abierto. Una vez instalada, la herramienta asume la gestión de las instancias virtuales (Xen DomU).
Packer es una herramienta de código abierto para crear imágenes de máquinas idénticas para múltiples plataformas desde una configuración de fuente única. Packer es liviano, se ejecuta en todos los sistemas operativos principales y tiene un alto rendimiento, ya que crea imágenes de máquinas para múltiples plataformas en paralelo. Packer no reemplaza la gestión de configuración como Chef o Puppet. De hecho, al crear imágenes, Packer puede utilizar herramientas como Chef o Puppet para instalar software en la imagen.
Vagrant es una herramienta para crear y gestionar entornos de máquinas virtuales en un único flujo de trabajo. Con un flujo de trabajo fácil de usar y un enfoque en la automatización, Vagrant reduce el tiempo de configuración del entorno de desarrollo, aumenta la paridad de producción y hace que la excusa "funciona en mi máquina" sea una reliquia del pasado. Proporciona entornos de trabajo fáciles de configurar, reproducibles y portátiles, construidos sobre tecnología estándar de la industria y controlados por un único flujo de trabajo consistente para ayudar a maximizar su productividad y flexibilidad y la de su equipo.
Parallels Desktop es un hipervisor de escritorio que ofrece la aplicación más rápida, sencilla y potente para ejecutar Windows/Linux en Mac (incluido el nuevo chip Apple M1) y ChromeOS.
VMware Fusion es un hipervisor de escritorio que ofrece máquinas virtuales de escritorio y 'servidor', contenedores y clústeres de Kubernetes a desarrolladores y profesionales de TI en Mac.
VMware Workstation es un hipervisor alojado que se ejecuta en versiones x64 de los sistemas operativos Windows y Linux; permite a los usuarios configurar máquinas virtuales en una única máquina física y utilizarlas simultáneamente junto con la máquina real.
Volver a la cima
La Computación Paralela es un entorno informático en el que dos o más procesadores (núcleos, computadoras) trabajan simultáneamente para resolver un solo problema. Los problemas grandes a menudo se pueden dividir en otros más pequeños, que luego pueden resolverse al mismo tiempo. Hay varias formas diferentes de computación paralela: [nivel de bits]https://en.wikipedia.org/wiki/Bit-level_parallelism), nivel de instrucción, datos y paralelismo de tareas.
Computación Acelerada - Capacitación | Desarrollador NVIDIA
Curso Fundamentos de Computación Acelerada con CUDA Python | Nvidia
Mejores cursos de Computación paralela en línea | Coursera
Mejores cursos de Computación paralela en línea | Udemy
Masterclass de Computación Científica: Paralela y Distribuida
Aprenda computación paralela en Python | Udemy
Computación GPU en Vulkan | Udemy
Cursos de Computación de Alto Rendimiento | Udacidad
Cursos de Computación Paralela | Stanford en línea
Computación Paralela | OpenCourseWare del MIT
Paralelismo multiproceso: lenguajes y compiladores | OpenCourseWare del MIT
Computación Paralela con CUDA | Pluralvista
Arquitectura HPC y diseño de sistemas | Intel
MATLAB Parallel Server™ es una herramienta que le permite escalar programas MATLAB® y simulaciones de Simulink® a clústeres y nubes. Puede crear prototipos de sus programas y simulaciones en el escritorio y luego ejecutarlos en clústeres y nubes sin recodificar. MATLAB Parallel Server admite trabajos por lotes, cálculos paralelos interactivos y cálculos distribuidos con matrices grandes.
Parallel Computing Toolbox™ es una herramienta que le permite resolver problemas computacionales y de uso intensivo de datos utilizando procesadores multinúcleo, GPU y clústeres de computadoras. Las construcciones de alto nivel, como bucles for paralelos, tipos de matrices especiales y algoritmos numéricos paralelizados, le permiten paralelizar aplicaciones MATLAB® sin programación CUDA o MPI. La caja de herramientas le permite utilizar funciones habilitadas en paralelo en MATLAB y otras cajas de herramientas. Puede utilizar la caja de herramientas con Simulink® para ejecutar múltiples simulaciones de un modelo en paralelo. Los programas y modelos se pueden ejecutar tanto en modo interactivo como por lotes.
Statistics and Machine Learning Toolbox™ es una herramienta que proporciona funciones y aplicaciones para describir, analizar y modelar datos. Puede utilizar estadísticas descriptivas, visualizaciones y agrupaciones para el análisis exploratorio de datos; ajustar distribuciones de probabilidad a los datos; generar números aleatorios para simulaciones de Monte Carlo y realizar pruebas de hipótesis. Los algoritmos de regresión y clasificación le permiten extraer inferencias a partir de datos y crear modelos predictivos de forma interactiva, utilizando las aplicaciones Classification y Regression Learner, o mediante programación, utilizando AutoML.
OpenMP es una API que admite programación paralela de memoria compartida multiplataforma en C/C++ y Fortran. La API OpenMP define un modelo portátil y escalable con una interfaz simple y flexible para desarrollar aplicaciones paralelas en plataformas desde el escritorio hasta la supercomputadora.
CUDA® es una plataforma informática paralela y un modelo de programación desarrollado por NVIDIA para informática general en unidades de procesamiento gráfico (GPU). Con CUDA, los desarrolladores pueden acelerar drásticamente las aplicaciones informáticas aprovechando el poder de las GPU.
La interfaz de aprobación de mensajes (MPI) es un estándar estandarizado y portátil de paso de mensajes diseñado para funcionar en arquitecturas informáticas paralelas.
Microsoft MPI (MS-MPI) es una implementación de Microsoft del estándar de interfaz de aprobación de mensajes para desarrollar y ejecutar aplicaciones paralelas en la plataforma Windows.
SLURM es un administrador de carga de trabajo de código abierto gratuito diseñado específicamente para satisfacer las necesidades exigentes de la informática de alto rendimiento.
Portable Batch System (PBS) Pro es un gerente de carga de trabajo rápido y potente diseñado para mejorar la productividad, optimizar la utilización y la eficiencia, y simplificar la administración de grupos, nubes y supercomputadoras.
AWS ParallelCluster es una herramienta de administración de clúster de código abierto respaldada por AWS que le facilita la implementación y administración de clústeres de computación de alto rendimiento (HPC) en AWS. ParallElCluster utiliza un archivo de texto simple para modelar y aprovisionar todos los recursos necesarios para sus aplicaciones HPC de manera automatizada y segura.
Numba es un compilador de optimización de código abierto y consciente de Numpy para Python patrocinado por Anaconda, Inc. Utiliza el proyecto del compilador LLVM para generar código de máquina a partir de la sintaxis de Python. Numba puede compilar un gran subconjunto de pitón centrado numéricamente, incluidas muchas funciones numpy. Además, Numba tiene soporte para la paralelización automática de bucles, la generación de código acelerado por GPU y la creación de UFuncs y las devoluciones de llamada C.
Chainer es un marco de aprendizaje profundo basado en Python con el objetivo de la flexibilidad. Proporciona API de diferenciación automática basadas en el enfoque Define por corrida (gráficos computacionales dinámicos), así como API de alto nivel orientadas a objetos para construir y entrenar redes neuronales. También es compatible con CUDA/CUDNN usando Cupy para entrenamiento e inferencia de alto rendimiento.
XGBOOST es una biblioteca de impulso de gradiente distribuido optimizado diseñada para ser altamente eficiente, flexible y portátil. Implementa algoritmos de aprendizaje automático en el marco de impulso de gradiente. XGBOOST proporciona un refuerzo de árbol paralelo (también conocido como GBDT, GBM) que resuelve muchos problemas de ciencia de datos de una manera rápida y precisa. Admite capacitación distribuida en múltiples máquinas, incluidos los grupos de AWS, GCE, Azure e hilo. Además, se puede integrar con Flink, Spark y otros sistemas de flujo de datos en la nube.
Cuml es un conjunto de bibliotecas que implementan algoritmos de aprendizaje automático y funciones de primitivas matemáticas que comparten API compatibles con otros proyectos de Rapids. Cuml permite a los científicos de datos, investigadores e ingenieros de software ejecutar tareas tradicionales de ML tabulares en GPU sin entrar en los detalles de la programación CUDA. En la mayoría de los casos, la API de Python de Cuml coincide con la API de Scikit-Learn.
Apache Cassandra ™ es una base de datos distribuida de código abierto que confía en miles de compañías por escalabilidad y alta disponibilidad sin comprometer el rendimiento. Cassandra proporciona escalabilidad lineal y tolerancia a fallas comprobada en el hardware de productos básicos o la infraestructura en la nube lo convierten en la plataforma perfecta para los datos críticos de la misión.
Apache Flume es un servicio distribuido, confiable y disponible para recopilar, agregar y mover grandes cantidades de datos de eventos de transmisión.
Apache Mesos es un administrador de clúster que proporciona un aislamiento de recursos eficiente y compartir en aplicaciones o marcos distribuidos. Puede ejecutar Hadoop, Jenkins, Spark, Aurora y otros marcos en un grupo de nodos compartidos dinámicamente.
Apache HBase ™ es un almacén de big data de código abierto, NoSQL. Permite acceso aleatorio, estrictamente consistente y en tiempo real a petabytes de datos. HBase es muy efectivo para manejar conjuntos de datos grandes y escasos. HBase sirve como una entrada y salida directa al marco Apache MapReduce para Hadoop, y funciona con Apache Phoenix para habilitar consultas similares a SQL sobre las tablas HBase.
Hadoop Distributed File System (HDFS) es un sistema de archivos distribuido que maneja grandes conjuntos de datos que se ejecutan en hardware de productos básicos. Se usa para escalar un solo clúster de Apache Hadoop a cientos (e incluso miles) de nodos. HDFS es uno de los principales componentes de Apache Hadoop, los demás son MapReduce e hilo.
Apache Arrow es un formato de memoria columnar independiente del lenguaje para datos planos y jerárquicos, organizado para operaciones analíticas eficientes en hardware moderno como CPU y GPU.
Apache Spark ™ es un motor de análisis unificado para el procesamiento de datos a gran escala. Proporciona API de alto nivel en Scala, Java, Python y R, y un motor optimizado que admite gráficos de cálculo generales para el análisis de datos. También es compatible con un conjunto rico de herramientas de nivel superior que incluye Spark SQL para SQL y Dataframes, MLLIB para el aprendizaje automático, GRAPHX para el procesamiento de gráficos y la transmisión estructurada para el procesamiento de flujo.
Apache Predictionio es un marco de aprendizaje automático de código abierto para desarrolladores, científicos de datos y usuarios finales. Admite la recopilación de eventos, el despliegue de algoritmos, la evaluación, consulta de resultados predictivos a través de API REST. Se basa en servicios de código abierto escalables como Hadoop, HBase (y otros DBS), Elasticsearch, Spark e implementa lo que se llama arquitectura Lambda.
Microsoft Project Bonsai es una plataforma AI de bajo código que acelera el desarrollo de la automatización de IA y parte del conjunto de sistemas autónomos de Microsoft. Bonsai se utiliza para construir componentes de IA que puedan proporcionar orientación del operador o tomar decisiones independientes para optimizar las variables de proceso, mejorar la eficiencia de producción y reducir el tiempo de inactividad.
Cluster Manager para Apache Kafka (CMAK) es una herramienta para administrar los clústeres de Apache Kafka.
BigDL es una biblioteca de aprendizaje profundo distribuido para Apache Spark. Con BigDL, los usuarios pueden escribir sus aplicaciones de aprendizaje profundo como programas estándar de Spark, que pueden ejecutarse directamente sobre los grupos de chispa o hadoop existentes.
Apache Cassandra ™ es una base de datos distribuida de código abierto que confía en miles de compañías por escalabilidad y alta disponibilidad sin comprometer el rendimiento. Cassandra proporciona escalabilidad lineal y tolerancia a fallas comprobada en el hardware de productos básicos o la infraestructura en la nube lo convierten en la plataforma perfecta para los datos críticos de la misión.
Apache Flume es un servicio distribuido, confiable y disponible para recopilar, agregar y mover grandes cantidades de datos de eventos de transmisión.
Apache Mesos es un administrador de clúster que proporciona un aislamiento de recursos eficiente y compartir en aplicaciones o marcos distribuidos. Puede ejecutar Hadoop, Jenkins, Spark, Aurora y otros marcos en un grupo de nodos compartidos dinámicamente.
Apache Beam es un código abierto, un modelo unificado y un conjunto de SDK específicos del lenguaje para definir y ejecutar flujos de trabajo de procesamiento de datos, y también flujos de ingestión de datos e integración, admitiendo patrones de integración empresarial (EIP) e lenguajes específicos de dominio (DSL).
Jupyter Notebook es una aplicación web de código abierto que le permite crear y compartir documentos que contienen código en vivo, ecuaciones, visualizaciones y texto narrativo. Jupyter se usa ampliamente en industrias que realizan la limpieza y transformación de datos, simulación numérica, modelado estadístico, visualización de datos, ciencia de datos y aprendizaje automático.
Neo4J es la única base de datos de gráficos de fuerza empresarial que combina almacenamiento de gráficos nativos, seguridad avanzada, arquitectura escalable optimizada por velocidad y cumplimiento de ácido para garantizar la previsibilidad e integridad de las consultas basadas en relaciones.
Elasticsearch es un motor de búsqueda basado en la Biblioteca Lucene. Proporciona un motor de búsqueda de texto completo distribuido y con capacidad multititantán con una interfaz web HTTP y documentos JSON sin esquema. Elasticsearch se desarrolla en Java.
Logstash es una herramienta para administrar eventos y registros. Cuando se usa genéricamente, el término abarca un sistema más grande de actividades de recopilación, procesamiento, almacenamiento y búsqueda de registros de registros.
Kibana es un complemento de visualización de datos de código abierto para Elasticsearch. Proporciona capacidades de visualización además del contenido indexado en un clúster Elasticsearch. Los usuarios pueden crear gráficos de barra, línea y dispersión, o gráficos circulares y mapas sobre grandes volúmenes de datos.
Trino es un motor de consulta SQL distribuido para Big Data. Es capaz de acelerar enormemente los procesos ETL, permitirles a todos usar la declaración SQL estándar y trabajar con numerosas fuentes de datos y objetivos, todos en el mismo sistema.
Extra, transformación y carga (ETL) es una tubería de datos utilizada para recopilar datos de varias fuentes, transformar los datos de acuerdo con las reglas comerciales y cargarlo en un almacén de datos de destino.
Redis (Remote Dictionary Server) es un código abierto (BSD con licencia), almacén de estructura de datos en memoria, utilizado como corredor de base de datos, caché y mensajes. Proporciona estructuras de datos como cadenas, hashes, listas, conjuntos, conjuntos ordenados con consultas de rango, mapas de bits, hiperloglogs, índices geoespaciales y transmisiones.
Apache OpenNLP es una biblioteca de código abierto para un kit de herramientas basado en el aprendizaje automático utilizado en el procesamiento del texto del lenguaje natural. Cuenta con una API para casos de uso como reconocimiento de entidad nombrado, detección de oraciones, etiquetado POS (parte de voz), extracción de características de tokenización, fragmentación, análisis y resolución de coreferencia.
Apache Airflow es una plataforma de gestión de flujo de trabajo de código abierto creada por la comunidad para autorizar, programar y monitorear los flujos de trabajo. Instalar. Principios. Escalable. Airflow tiene una arquitectura modular y utiliza una cola de mensajes para orquestar un número arbitrario de trabajadores. El flujo de aire está listo para escalar al infinito.
Open Neural Network Exchange (ONNX) es un ecosistema abierto que faculta a los desarrolladores de IA para elegir las herramientas adecuadas a medida que su proyecto evoluciona. ONNX proporciona un formato de código abierto para los modelos de IA, tanto el aprendizaje profundo como el ML tradicional. Define un modelo de gráfico de cálculo extensible, así como definiciones de operadores incorporados y tipos de datos estándar.
Apache MXNet es un marco de aprendizaje profundo diseñado tanto para la eficiencia como para la flexibilidad. Le permite mezclar programación simbólica e imperativa para maximizar la eficiencia y la productividad. En su núcleo, MXNet contiene un programador de dependencia dinámica que es paralelea automáticamente las operaciones simbólicas e imperativas sobre la mosca. Una capa de optimización de gráficos sobre eso hace que la ejecución simbólica sea rápida y eficiente en la memoria. MXNET es portátil y liviano, escala de manera efectiva a múltiples GPU y múltiples máquinas. Soporte para Python, R, Julia, Scala, GO, JavaScript y más.
Autogluon es un kit de herramientas para el aprendizaje profundo que automatiza tareas de aprendizaje automático que le permiten lograr fácilmente un rendimiento predictivo fuerte en sus aplicaciones. Con solo unas pocas líneas de código, puede entrenar e implementar modelos de aprendizaje profundo de alta precisión en datos tabulares, de imagen y texto.
Volver a la cima
Open Computing Language (OPENCL) es un estándar abierto para la programación paralela de plataformas heterogéneas que consisten en CPU, GPU y otros aceleradores de hardware que se encuentran en supercomputadoras, servidores en la nube, computadoras personales, dispositivos móviles y plataformas integradas.
Opencl | GitHub
Grupo Khronos | GitHub
Cursos de tecnología Khronos y capacitación
Tutoriales de OpenCl - StreamHPC
Introducción a las herramientas de OpenCL Intel®
Opencl | Desarrollador nvidia
Introducción a OpenCl en el curso FPGAS | Coursera
Compilación del núcleo OpenCl al curso FPGAS | Coursera
RenderDoc es un depurador gráfico independiente que permite una captura rápida y fácil de captura de un solo marco e introspección detallada de cualquier aplicación utilizando Vulkan, D3D11, OpenGL & OpenGL ES o D3D12 en Windows, Linux, Android, Stadia o Nintendo Switch ™.
GPUverify es una herramienta para el análisis formal de los núcleos de GPU escritos en OpenCL y CUDA. La herramienta puede probar que los núcleos están libres de ciertos tipos de defectos, incluidas las carreras de datos.
OpenCL ICD Loader es un mecanismo de controlador de cliente instalable (ICD) para permitir a los desarrolladores construir aplicaciones con un cargador de controlador cliente instalable (cargador ICD) en lugar de vincular sus aplicaciones con una implementación específica de OpenCL.
CLBLAS es una biblioteca de software que contiene funciones BLAS escritas en OpenCL.
CLFFT es una biblioteca de software que contiene funciones FFT escritas en OpenCL.
CLSPARSE es una biblioteca de software que contiene funciones dispersas escritas en OpenCl.
CLRNG es una biblioteca de software basada en OpenCL que contiene funciones de generación de números aleatorios.
Clsmith es una herramienta que utiliza dos técnicas de prueba existentes, pruebas diferenciales aleatorias y entradas de módulos de equivalencia (EMI), aplicándolas en un entorno de muchos núcleos, OpenCl. Su característica principal es la generación de núcleos OpenCL aleatorios, que ejerce muchas características del idioma. También trae una idea novedosa de aplicar EMI, a través de la inyección de código muerto.
OCLGRind es un simulador de dispositivos OpenCL virtual, que incluye un tiempo de ejecución de OpenCL con soporte ICD. El objetivo es proporcionar una plataforma para crear herramientas para ayudar al desarrollo de OpenCL. En particular, este proyecto actualmente implementa utilidades para depurar errores de acceso a la memoria, detectar raza de datos y divergencia de barrera, recopilar histogramas de instrucciones y para la depuración interactiva del núcleo OpenCL. El simulador está construido en un intérprete para LLVM IR.
NVIDIA® NSIGHT ™ Visual Studio Edition es un entorno de desarrollo de aplicaciones para plataformas heterogéneas que lleva la computación de GPU a Microsoft Visual Studio. NVIDIA NSIGHT ™ VSE le permite construir y depurar núcleos GPU integrados y código de CPU nativo, así como inspeccionar el estado de la GPU y la memoria.
Radeon ™ GPU Profiler es una herramienta de rendimiento que los desarrolladores pueden utilizar para optimizar las aplicaciones DirectX®12, Vulkan® y OpenCL ™ para hardware AMD RDNA ™ y GCN.
Radeon ™ GPU Analyzer es una herramienta de análisis de compiladores y código para Vulkan®, DirectX®, OpenGL® y OpenCL ™.
AMD Radeon Prorender es un poderoso motor de renderizado físico que permite a los profesionales creativos producir imágenes increíblemente fotorrealistas en prácticamente cualquier GPU, CPU y cualquier sistema operativo en más de una docena de creaciones de contenido digital líderes y aplicaciones CAD.
Nvidia Omniverse es una poderosa plataforma de simulación y colaboración en tiempo real de multi-GPU para tuberías de producción 3D basadas en la descripción de la escena universal de Pixar y NVIDIA RTX.
Intel® SDK para aplicaciones OpenCL ™ es una descarga de cargas de trabajo intensivas en cómputo. Personalice aplicaciones de cómputo heterogéneas y acelere el rendimiento con la programación basada en el núcleo.
NVIDIA NGC es un centro para el software optimizado para GPU para el aprendizaje profundo, el aprendizaje automático y las cargas de trabajo de computación de alto rendimiento (HPC).
NVIDIA NGC Containers es un registro que proporciona a los investigadores, científicos de datos y desarrolladores acceso simple a un catálogo integral de software acelerado por GPU para IA, aprendizaje automático y HPC. Estos contenedores aprovechan al máximo las GPU de las NVIDIA locas locas y en la nube.
Nvidia Cudnn es una biblioteca de primitivas aceleradas por GPU para redes neuronales profundas. CUDNN proporciona implementaciones altamente sintonizadas para rutinas estándar, como la convolución hacia adelante y hacia atrás, la agrupación, la normalización y las capas de activación. CUDNN acelera los marcos de aprendizaje profundo ampliamente utilizados, incluidos Caffe2, Chainer, Keras, Matlab, MXNet, Pytorch y Tensorflow.
NVIDIA Container Toolkit es una colección de herramientas y bibliotecas que permite a los usuarios construir y ejecutar contenedores Docker acelerados de GPU. El kit de herramientas incluye una biblioteca de tiempo de ejecución de contenedores y utilidades para configurar automáticamente contenedores para aprovechar las GPU NVIDIA.
Volver a la cima
CUDA Toolkit. Fuente: Desarrollador de Nvidia CUDA
CUDA es una plataforma de computación paralela y un modelo de programación desarrollado por NVIDIA para la computación general en unidades de procesamiento gráfico (GPU). Con CUDA, los desarrolladores pueden acelerar drásticamente las aplicaciones informáticas aprovechando el poder de las GPU. En las aplicaciones aceleradas por GPU, la parte secuencial de la carga de trabajo se ejecuta en la CPU, que está optimizada para un solo hilo. La parte intensiva de calcular de la aplicación se ejecuta en miles de núcleos de GPU en paralelo. Al usar CUDA, los desarrolladores pueden programar en idiomas populares como C, C ++, Fortran, Python y Matlab.
Documentación del kit de herramientas CUDA
Guía de inicio rápido de CUDA
CUDA en WSL
Soporte de GPU CUDA para TensorFlow
Nvidia Deep Learning Cudnn Documentation
Documentación de nube de GPU NVIDIA
NVIDIA NGC es un centro para el software optimizado para GPU para el aprendizaje profundo, el aprendizaje automático y las cargas de trabajo de computación de alto rendimiento (HPC).
NVIDIA NGC Containers es un registro que proporciona a los investigadores, científicos de datos y desarrolladores acceso simple a un catálogo integral de software acelerado por GPU para IA, aprendizaje automático y HPC. Estos contenedores aprovechan al máximo las GPU de las NVIDIA locas locas y en la nube.
Cuda Toolkit es una colección de herramientas y bibliotecas que proporcionan un entorno de desarrollo para crear aplicaciones aceleradas con GPU de alto rendimiento. El CUDA Toolkit le permite desarrollar, optimizar e implementar sus aplicaciones en sistemas integrados acelerados con GPU, estaciones de trabajo de escritorio, centros de datos empresariales, plataformas basadas en la nube y supercomputadoras HPC. El kit de herramientas incluye bibliotecas aceleradas con GPU, herramientas de depuración y optimización, un compilador C/C ++ y una biblioteca de tiempo de ejecución para construir e implementar su aplicación en arquitecturas principales, incluidas X86,