Nota: Você pode converter facilmente este arquivo markdown em PDF no VSCode usando esta útil extensão Markdown PDF.
Como a CPU e a GPU funcionam juntas ao executar o código do aplicativo.
Arquitetura de memória unificada
Recursos de aprendizagem de GPU
Carga elétrica, campo e potencial
Carga e força elétrica (lei de Coulomb): Carga elétrica, campo e potencial
Campo elétrico: carga elétrica, campo e potencial
Energia potencial elétrica, potencial elétrico e tensão: carga elétrica, campo e potencial
Circuitos
Lei de Ohm e circuitos com resistores: Circuitos
Circuitos com capacitores: Circuitos
Forças magnéticas, campos magnéticos e lei de Faraday
Ímãs e Força Magnética: Forças magnéticas, campos magnéticos e lei de Faraday
Campo magnético criado por uma corrente: forças magnéticas, campos magnéticos e lei de Faraday
Motores elétricos: forças magnéticas, campos magnéticos e lei de Faraday
Fluxo magnético e lei de Faraday
Ondas eletromagnéticas e interferência
Introdução às ondas eletromagnéticas: Ondas eletromagnéticas e interferência
Interferência de ondas eletromagnéticas
Óptica geométrica
Reflexão e refração: Óptica geométrica
Espelhos: óptica geométrica
Lentes
Álgebra Linear
Virtualização
Computação Paralela
Desenvolvimento OpenCL
Desenvolvimento CUDA
Algoritmos
Aprendizado de máquina
Desenvolvimento de aprendizagem profunda
Desenvolvimento de Visão Computacional
Jogos
Desenvolvimento de Jogos
Desenvolvimento OpenGL
Desenvolvimento Vulkan
Desenvolvimento DirectX
Desenvolvimento Profissional de Áudio/Vídeo
Gráficos e Design 3D
Silício da Apple
Desenvolvimento central de ML
Desenvolvimento de Metais
Desenvolvimento MATLAB
Desenvolvimento C/C++
Desenvolvimento Python
Desenvolvimento R
Júlia Desenvolvimento
Voltar ao topo
Unidade de processamento gráfico (GPU) é um circuito composto por centenas de núcleos que podem lidar com milhares de threads simultaneamente. GPUS pode manipular e alterar rapidamente a memória para acelerar a criação de imagens em um buffer de quadros destinado à saída para um dispositivo de exibição. Eles são usados em sistemas embarcados, telefones celulares, computadores pessoais, estações de trabalho profissionais e consoles de jogos.
Memória de acesso aleatório (RAM) é uma forma de memória de computador que pode ser lida e alterada em qualquer ordem, normalmente usada para armazenar dados de trabalho e código de máquina. Um dispositivo de memória de acesso aleatório permite que itens de dados sejam lidos ou gravados quase no mesmo período de tempo, independentemente da localização física dos dados dentro da memória, em contraste com outros meios de armazenamento de dados de acesso direto.
Memória de acesso aleatório de vídeo (VRAM) é a RAM alocada para armazenar dados relacionados a imagens ou gráficos. Funciona da mesma forma que a RAM, armazenando dados específicos para facilitar o acesso e o desempenho. Os dados da imagem são primeiro lidos pelo processador e gravados na VRAM. Ele é então convertido por um RAMDAC ou conversor digital para analógico de RAM e exibido como saída gráfica.
Graphics Double Data Rate (GDDR) SDRAM é um tipo de memória gráfica síncrona de acesso aleatório (SGRAM) com uma interface de alta largura de banda ("double data rate") projetada para uso em placas gráficas, consoles de jogos e computação de alto desempenho.
Unidade de processamento gráfico integrado (IGPU) é um componente construído na mesma matriz (circuito integrado) da CPU (AMD Ryzen APU ou Intel HD Graphics) que utiliza uma parte da RAM do sistema do computador em vez de memória gráfica dedicada.
Tensor é um objeto algébrico que descreve uma relação multilinear entre conjuntos de objetos algébricos relacionados a um espaço vetorial. Objetos que tensores podem mapear entre vetores, escalares e outros tensores.
Tensores são matrizes multidimensionais com um tipo uniforme (chamado dtype).
Tensor Cores são aceleradores de inferência de IA em GPUs NVIDIA que fornecem desempenho de ordem de magnitude superior com precisões reduzidas, como TF32, bfloat16, FP16, INT8, INT4 e FP64, para acelerar a computação científica com a mais alta precisão necessária.
RT (Real-time ray tracing) Cores é uma aceleração de ray tracing baseada em hardware que acelera a travessia da Bounding Volume Hierarchy (BVH) e as funções de teste de interseção de raios/triângulos (ray casting). Os RT Cores realizam testes de visibilidade em nome dos threads em execução no SM, permitindo que ele lide com outro vértice, pixel e trabalho de sombreamento computacional.
Unidade Central de Processamento (CPU) é um circuito composto por vários núcleos que executa instruções que compõem um programa de computador. A CPU executa operações básicas de aritmética, lógica, controle e entrada/saída (E/S) especificadas pelas instruções do programa. Isso é diferente de outros componentes externos, como memória principal, circuitos de E/S e unidades de processamento gráfico (GPUs).
AMD Accelerated Processing Unit (APU) uma série de microprocessadores de 64 bits da Advanced Micro Devices (AMD), projetados para atuar como uma unidade central de processamento (CPU) e uma unidade de processamento gráfico (GPU) em uma única matriz.
Vector Processor é uma unidade central de processamento (CPU) que implementa um conjunto de instruções onde suas instruções são projetadas para operar de forma eficiente e eficaz em grandes matrizes unidimensionais de dados chamadas vetores.
Processamento de Sinal Digital (DSP) é a aplicação de um computador digital para modificar um sinal analógico ou digital. É amplamente usado em muitas aplicações, incluindo comunicações e redes de vídeo/áudio/dados, imagens médicas e visão computacional, síntese e codificação de fala, áudio e vídeo digital e controle de sistemas complexos e processos industriais.
Processamento de sinal de imagem (ISP) é o processo de conversão de uma imagem em formato digital, realizando operações como redução de ruído, exposição automática, foco automático, equilíbrio de branco automático, correção de HDR e nitidez de imagem com um tipo especializado de processador de mídia.
Circuitos integrados de aplicação específica (ASICs) são chips de circuito integrado (IC) personalizados para um uso específico em sistemas embarcados, telefones celulares, computadores pessoais, estações de trabalho profissionais, em vez de destinados ao uso geral.
Instruções Únicas, Dados Múltiplos (SIMD) é um tipo de processamento paralelo que descreve computadores com vários elementos de processamento que executam a mesma operação em vários pontos de dados simultaneamente.
O que é uma GPU? Unidades de processamento gráfico definidas | Informações
Instituto de Deep Learning e soluções de treinamento | NVIDIA
Cursos on-line de aprendizagem profunda | NVIDIA
Cursos Universitários Existentes | Desenvolvedor NVIDIA
Usando GPUs para dimensionar e acelerar o aprendizado profundo | edX
Principais cursos de GPU on-line | Curso
Programação de GPU CUDA do iniciante ao avançado | Udemy
Computação GPU em Vulkan | Udemy
Curso de Arquiteturas GPU | Universidade de Washington
Voltar ao topo
- 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
Energia Potencial Elétrica. Fonte: sparkfun
Voltar ao topo
- Ohm's law and circuits with resistors: Circuits - Circuits with capacitors: Circuits
Circuitos Elétricos. Fonte: sdsu-física
Símbolos de circuitos. Fonte: andrewpover.co.uk
Voltar ao topo
- 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. Fonte: vecteezy
Lei de Ampère. Fonte: sdsu-física
Lei de Farady. Fonte: sdsu-física
Voltar ao topo
- Introduction to electromagnetic waves: Electromagnetic waves and interference - Interference of electromagnetic waves
Onda Eletromagnética. Fonte: diferença entre
Espectro EMI. Fonte: electric4u
Voltar ao topo
- Reflection and refraction: Geometric optics - Mirrors: Geometric optics - Lenses
Óptica Geométrica - Raytracing. Fonte: sdsu-física
Óptica Geométrica - Reflexão. Fonte: sdsu-física
Voltar ao topo
Álgebra linear é a matemática de vetores e matrizes. O único pré-requisito para este guia é uma compreensão básica dos conceitos matemáticos do ensino médio, como números, variáveis, equações e as operações aritméticas fundamentais em números reais: adição (denotada +), subtração (denotada -), multiplicação (denotada implicitamente) e divisão (frações). Além disso, você também deve estar familiarizado com funções que aceitam números reais como entradas e fornecem números reais como saídas, f : R → R.
Álgebra Linear - Cursos Online | Universidade de Harvard
Álgebra Linear | Biblioteca de aprendizagem aberta do MIT
Álgebra Linear - Khan Academy
Principais cursos de álgebra linear no Coursera
Matemática para aprendizado de máquina: Álgebra Linear no Coursera
Principais cursos de álgebra linear na Udemy
Aprenda Álgebra Linear com cursos e aulas on-line no edX
A Matemática da Ciência de Dados: Curso de Álgebra Linear no edX
Álgebra Linear em Vinte e Cinco Aulas | Universidade da Califórnia em Davis
Álgebra Linear | Extensão da UC San Diego
Álgebra Linear para Aprendizado de Máquina | Extensão da UC San Diego
Introdução à Álgebra Linear, Vídeo Interativo Online | Volfrâmio
Recursos de Álgebra Linear | Dartmouth
Agora definimos as operações matemáticas para vetores. As operações que podemos realizar nos vetores ~u = (u1, u2, u3) e ~v = (v1, v2, v3) são: adição, subtração, escala, norma (comprimento), produto escalar e produto vetorial:
O produto escalar e o produto vetorial de dois vetores também podem ser descritos em termos do ângulo θ entre os dois vetores.
Operações Vetoriais. Fonte: slideserve
Operações Vetoriais. Fonte: Pinterest
Denotamos por A a matriz como um todo e nos referimos às suas entradas como aij. As operações matemáticas definidas para matrizes são as seguintes:
• determinante (denotado det(A) ou |A|) Observe que o produto da matriz não é uma operação comutativa.
Operações matriciais. Fonte: SDSU Física
Verifique se há módulos que permitem operações matriciais. Fonte: Conceitos DPS
O produto matriz-vetor é um caso especial importante do produto matriz.
Existem duas maneiras fundamentalmente diferentes, mas equivalentes, de interpretar o produto matriz-vetor. Na figura da coluna, (C), a multiplicação da matriz A pelo vetor ~x produz uma combinação linear das colunas da matriz: y = A x = x1A[:,1] + x2A[:,2], onde A[:,1] e A[:,2] são a primeira e a segunda colunas da matriz A. Na imagem da linha, (R), a multiplicação da matriz A pelo vetor ~x produz um vetor coluna com coeficientes igual aos produtos escalares das linhas da matriz com o vetor ~x.
Produto matricial-vetor. Fonte: wikimedia
Produto de vetor de matriz. Fonte: matemáticafun
O produto matriz-vetor é usado para definir a noção de transformação linear, que é uma das noções-chave no estudo da álgebra linear. A multiplicação por uma matriz A ∈ R m×n pode ser considerada como o cálculo de uma transformação linear TA que toma n vetores como entradas e produz m vetores como saídas:
Transformações Lineares. Fonte: slideserve
Matrizes elementares para transformações lineares em R^2. Fonte: Quora
Teorema fundamental da álgebra linear para espaços vetoriais. Fonte: wikimedia
Teorema fundamental da álgebra linear. Fonte: volfrâmio
Sistema de equações lineares por representação gráfica. Fonte: slideshare
Sistemas de equações como equações matriciais. Fonte: matemáticafun
Nesta seção veremos diversas abordagens diferentes para calcular a inversa de uma matriz. A matriz inversa é única, portanto, não importa qual método usemos para encontrar a inversa, sempre obteremos a mesma resposta.
Inverso da matriz 2x2. Fonte: Pinterest
Uma abordagem para calcular o inverso é usar o procedimento de eliminação de Gauss-Jordan.
Operações de linha Elementray. Fonte: YouTube
Cada operação de linha que realizamos em uma matriz é equivalente a uma multiplicação à esquerda por uma matriz elementar.
Matrizes Elementares. Fonte: SDSU Física
Encontrar o inverso de uma matriz é usar o método Transpose.
Transposição de uma matriz. Fonte: slideserve
Nesta seção, discuta uma série de outros tópicos importantes da álgebra linear.
Intuitivamente, uma base é qualquer conjunto de vetores que pode ser usado como sistema de coordenadas para um espaço vetorial. Você certamente está familiarizado com a base padrão para o plano xy, que é composto por dois eixos ortogonais: o eixo x e o eixo y.
Base. Fonte: wikimedia
Mudança de Base. Fonte: wikimedia
Representações matriciais de transformações lineares. Fonte: slideserve
A dimensão de um espaço vetorial é definida como o número de vetores em uma base desse espaço vetorial. Considere o seguinte espaço vetorial S = span{(1, 0, 0),(0, 1, 0),(1, 1, 0)}. Vendo que o espaço é descrito por três vetores, poderíamos pensar que S é tridimensional. Este não é o caso, entretanto, uma vez que os três vetores não são linearmente independentes, portanto não formam uma base para S. Dois vetores são suficientes para descrever qualquer vetor em S; podemos escrever S = span{(1, 0, 0),(0, 1, 0)}, e vemos que esses dois vetores são linearmente independentes, então eles formam uma base e dim(S) = 2. Existe um geral procedimento para encontrar uma base para um espaço vetorial. Suponha que você receba uma descrição de um espaço vetorial em termos de m vetores V = span{~v1, ~v2, . . . , ~vm} e você será solicitado a encontrar uma base para V e a dimensão de V. Para encontrar uma base para V, você deve encontrar um conjunto de vetores linearmente independentes que geram V. Podemos usar o procedimento de eliminação de Gauss-Jordan para realizar esta tarefa. Escreva os vetores ~vi como as linhas de uma matriz M. O espaço vetorial V corresponde ao espaço linha da matriz M. Em seguida, use operações de linha para encontrar a forma escalonada de linha reduzida (RREF) da matriz M. Como as operações de linha não altere o espaço linha da matriz, o espaço linha da forma escalonada reduzida de linha da matriz M é igual ao espaço linha do conjunto original de vetores. As linhas diferentes de zero no RREF da matriz formam uma base para o espaço vetorial V e o número de linhas diferentes de zero é a dimensão de V.
Base e Dimensão. Fonte: sliderserve
Lembre-se dos espaços vetoriais fundamentais para matrizes que definimos na Seção II-E: o espaço coluna C(A), o espaço nulo N (A) e o espaço linha R(A). Uma questão padrão do exame de álgebra linear é fornecer uma certa matriz A e pedir que você encontre a dimensão e a base para cada um de seus espaços fundamentais. Na seção anterior descrevemos um procedimento baseado na eliminação de Gauss-Jordan que pode ser usado para “destilar” um conjunto de vetores linearmente independentes que formam uma base para o espaço linha R(A). Ilustraremos agora este procedimento com um exemplo e também mostraremos como usar o RREF da matriz A para encontrar bases para C(A) e N(A).
Espaço de linha e espaço de coluna. Fonte: slideshare
Espaço de linha e espaço de coluna. Fonte: slideshare
Classificação e Nulidade. Fonte: slideshare
Há uma distinção importante entre matrizes que são invertíveis e aquelas que não são formalizadas pelo seguinte teorema. Teorema. Para uma matriz n×n A, as seguintes afirmações são equivalentes:
Teorema da matriz invertível. Fonte: SDSU Física
O determinante de uma matriz, denotado det(A) ou |A|, é uma forma especial de combinar as entradas de uma matriz que serve para verificar se uma matriz é invertível ou não.
Determinante de uma matriz quadrada. Fonte: stackexchange
Determinante da matriz. Fonte: onlinematlearning
O conjunto de vetores próprios de uma matriz é um conjunto especial de vetores de entrada para os quais a ação da matriz é descrita como uma escala simples. Quando uma matriz é multiplicada por um de seus autovetores, a saída é o mesmo autovetor multiplicado por uma constante A eλ = λ eλ. A constante λ é chamada de autovalor de A.
Autovetores generalizados. Fonte: YouTube
A regressão linear é uma abordagem para modelar a relação entre duas variáveis ajustando uma equação linear aos dados observados. Uma variável é considerada uma variável explicativa e a outra é considerada uma variável dependente.
Regressão Linear Múltipla. Fonte: Médio
Voltar ao topo
HVM (Hardware Virtual Machine) é um tipo de virtualização que fornece a capacidade de executar um sistema operacional diretamente em uma máquina virtual sem qualquer modificação, como se fosse executado em hardware bare-metal.
PV (ParaVirtualization) é uma técnica de virtualização leve e eficiente introduzida pela equipe do Projeto Xen, posteriormente adotada por outras soluções de virtualização. O PV não requer extensões de virtualização da CPU host e, portanto, permite a virtualização em arquiteturas de hardware que não suportam a virtualização assistida por hardware.
A virtualização de funções de rede (NFV) é a substituição do hardware do dispositivo de rede por máquinas virtuais. As máquinas virtuais usam um hipervisor para executar software e processos de rede, como roteamento e balanceamento de carga. A NFV permite a separação dos serviços de comunicação de hardware dedicado, como roteadores e firewalls. Essa separação significa que as operações de rede podem fornecer novos serviços de forma dinâmica e sem instalação de novo hardware. A implantação de componentes de rede com virtualização de funções de rede leva apenas horas, em comparação com meses, como acontece com soluções de rede tradicionais.
Rede definida por software (SDN) é uma abordagem de rede que usa controladores baseados em software ou interfaces de programação de aplicativos (APIs) para se comunicar com a infraestrutura de hardware subjacente e direcionar o tráfego em uma rede. Este modelo difere das redes tradicionais, que utilizam dispositivos de hardware dedicados (roteadores e switches) para controlar o tráfego da rede.
O Virtualized Infrastructure Manager (VIM) é uma entrega de serviços e reduz custos com gerenciamento de ciclo de vida de alto desempenho. Gerencie todo o ciclo de vida do software e hardware que compreende sua infraestrutura NFV (NFVI) e mantenha um inventário ativo e um plano de alocação de recursos físicos e virtuais.
Management and Orchestration (MANO) é uma iniciativa hospedada pelo ETSI para desenvolver uma pilha de software Open Source NFV Management and Orchestration (MANO) alinhada com o ETSI NFV. Dois dos principais componentes da estrutura arquitetônica do ETSI NFV são o NFV Orchestrator e o VNF Manager, conhecido como NFV MANO.
Magma é uma plataforma de software de código aberto que oferece às operadoras de rede uma solução de rede central móvel aberta, flexível e extensível. Sua missão é conectar o mundo a uma rede mais rápida, permitindo que os provedores de serviços construam redes de nível de operadora extensíveis e econômicas. Magma é da geração 3GPP (redes 2G, 3G, 4G ou futuras redes 5G) e independente de rede de acesso (celular ou WiFi). Ele pode suportar de forma flexível uma rede de acesso por rádio com esforço mínimo de desenvolvimento e implantação.
OpenRAN é uma rede de acesso por rádio (RAN) inteligente integrada em plataformas de uso geral com interface aberta entre funções definidas por software. O Open RANecosystem permite enorme flexibilidade e interoperabilidade com total abertura para implantações de vários fornecedores.
Open vSwitch (OVS) é um switch virtual multicamada de qualidade de produção de código aberto licenciado sob a licença Apache 2.0 de código aberto. Ele foi projetado para permitir a automação massiva de redes por meio de extensão programática, ao mesmo tempo em que oferece suporte a interfaces e protocolos de gerenciamento padrão (NetFlow, sFlow, IPFIX, RSPAN, CLI, LACP, 802.1ag).
Edge é uma estrutura de computação distribuída que aproxima os aplicativos empresariais de fontes de dados, como dispositivos IoT ou servidores de borda locais. Esta proximidade com os dados na sua origem pode proporcionar fortes benefícios comerciais, incluindo insights mais rápidos, melhores tempos de resposta e melhor disponibilidade de largura de banda.
A computação de borda multiacesso (MEC) é um Grupo de Especificação da Indústria (ISG) dentro do ETSI para criar um ambiente aberto e padronizado que permitirá a integração eficiente e perfeita de aplicativos de fornecedores, provedores de serviços e terceiros em vários fornecedores. -acessar plataformas de Edge Computing.
Funções de rede virtualizadas (VNFs) são um aplicativo de software usado em uma implementação de Virtualização de Funções de Rede (NFV) que possui interfaces bem definidas e fornece uma ou mais funções de rede de componentes de uma maneira definida. Por exemplo, um VNF de segurança fornece tradução de endereço de rede (NAT) e funções de componente de firewall.
Cloud-Native Network Functions (CNF) é uma função de rede projetada e implementada para ser executada dentro de contêineres. Os CNFs herdam todos os princípios arquitetônicos e operacionais nativos da nuvem, incluindo gerenciamento do ciclo de vida do Kubernetes (K8s), agilidade, resiliência e observabilidade.
Função de rede física (PNF) é um nó de rede física que não passou por virtualização. Tanto PNFs quanto VNFs (funções de rede virtualizadas) podem ser usados para formar um serviço de rede geral.
A infraestrutura de virtualização de funções de rede (NFVI) é a base da arquitetura geral de NFV. Ele fornece computação física, armazenamento e hardware de rede que hospeda as VNFs. Cada bloco NFVI pode ser considerado um nó NFVI e muitos nós podem ser implantados e controlados geograficamente.
Segurança baseada em virtualização (VBS) é um recurso de virtualização de hardware para criar e isolar uma região segura de memória do sistema operacional normal.
Hypervisor-Enforced Code Integrity (HVCI) é um mecanismo pelo qual um hipervisor, como o Hyper-V, usa virtualização de hardware para proteger processos em modo kernel contra a injeção e execução de código malicioso ou não verificado. A validação da integridade do código é executada em um ambiente seguro e resistente a ataques de software mal-intencionado, e as permissões de página para o modo kernel são definidas e mantidas pelo hipervisor.
KVM (para máquina virtual baseada em kernel) é uma solução completa de virtualização para Linux em hardware x86 contendo extensões de virtualização (Intel VT ou AMD-V). Ele consiste em um módulo de kernel carregável, kvm.ko, que fornece a infraestrutura central de virtualização e um módulo específico do processador, kvm-intel.ko ou kvm-amd.ko.
QEMU é um emulador de processador rápido que usa um tradutor dinâmico portátil. QEMU emula um sistema completo, incluindo um processador e vários periféricos. Ele pode ser usado para iniciar um sistema operacional diferente sem reiniciar o PC ou para depurar o código do sistema.
O Hyper-V permite a execução de sistemas de computador virtualizados em um host físico. Esses sistemas virtualizados podem ser usados e gerenciados como se fossem sistemas de computador físicos, porém existem em ambientes virtualizados e isolados. Um software especial denominado hipervisor gerencia o acesso entre os sistemas virtuais e os recursos físicos de hardware. A virtualização permite a implantação rápida de sistemas de computador, uma forma de restaurar rapidamente os sistemas para um bom estado anteriormente conhecido e a capacidade de migrar sistemas entre hosts físicos.
VirtManager é uma ferramenta gráfica para gerenciamento de máquinas virtuais via libvirt. A maior parte do uso é com máquinas virtuais QEMU/KVM, mas os contêineres Xen e libvirt LXC são bem suportados. As operações comuns para qualquer driver libvirt devem funcionar.
oVirt é uma solução de virtualização distribuída de código aberto, projetada para gerenciar toda a infraestrutura corporativa. oVirt usa o hipervisor KVM confiável e é baseado em vários outros projetos comunitários, incluindo libvirt, Gluster, PatternFly e Ansible. Fundado pela Red Hat como um projeto comunitário no qual o Red Hat Enterprise Virtualization se baseia, permitindo o gerenciamento centralizado de máquinas virtuais, computação , recursos de armazenamento e rede, a partir de um front-end baseado na Web fácil de usar com acesso independente de plataforma.
HyperKit é um kit de ferramentas para incorporar recursos de hipervisor em seu aplicativo. Inclui um hipervisor completo, baseado em xhyve/bhyve, que é otimizado para máquinas virtuais leves e implantação de contêineres. Ele foi projetado para ter interface com componentes de nível superior, como VPNKit e DataKit. Atualmente, o HyperKit oferece suporte apenas ao macOS usando Hypervisor.framework, tornando-o um componente principal do Docker Desktop para Mac.
A Tecnologia de Virtualização de Gráficos Intel® (Intel® GVT) é uma solução completa de virtualização de GPU com passagem mediada, começando com processadores Intel Core (TM) de 4ª geração com gráficos de processador Intel (Broadwell e mais recentes). Ele pode ser usado para virtualizar a GPU para várias máquinas virtuais convidadas, fornecendo efetivamente desempenho gráfico quase nativo na máquina virtual e ainda permitindo que seu host use a GPU virtualizada normalmente.
Apple Hypervisor é um framework que cria soluções de virtualização em cima de um hipervisor leve, sem extensões de kernel de terceiros. O hipervisor fornece APIs C para que você possa interagir com tecnologias de virtualização no espaço do usuário, sem escrever extensões de kernel (KEXTs). Como resultado, os aplicativos que você cria usando esta estrutura são adequados para distribuição na Mac App Store.
Apple Virtualization Framework é uma estrutura que fornece APIs de alto nível para criar e gerenciar máquinas virtuais em computadores Apple Silicon e Mac baseados em Intel. Essa estrutura é usada para inicializar e executar um sistema operacional baseado em Linux em um ambiente personalizado definido por você. Ele também suporta a especificação Virtio, que define interfaces padrão para muitos tipos de dispositivos, incluindo dispositivos de rede, soquete, porta serial, armazenamento, entropia e balão de memória.
Apple Paravirtualized Graphics Framework é uma estrutura que implementa gráficos acelerados por hardware para macOS rodando em uma máquina virtual, doravante conhecida como guest. O sistema operacional fornece um driver gráfico que é executado dentro do convidado, comunicando-se com a estrutura no sistema operacional host para aproveitar as vantagens dos gráficos acelerados por Metal.
Cloud Hypervisor é um Virtual Machine Monitor (VMM) de código aberto executado sobre KVM. O projeto se concentra na execução exclusiva de cargas de trabalho modernas em nuvem, além de um conjunto limitado de arquiteturas e plataformas de hardware. Cargas de trabalho em nuvem referem-se àquelas que geralmente são executadas por clientes dentro de um provedor de nuvem. O Cloud Hypervisor é implementado em Rust e é baseado nas caixas ferrugem-vmm.
VMware vSphere Hypervisor é um hipervisor bare metal que virtualiza servidores; permitindo que você consolide seus aplicativos enquanto economiza tempo e dinheiro no gerenciamento de sua infraestrutura de TI.
A Xen está focada no avanço da virtualização em uma série de diferentes aplicativos comerciais e de código aberto, incluindo virtualização de servidores, infraestrutura como serviço (IaaS), virtualização de desktops, aplicativos de segurança, dispositivos incorporados e de hardware e automotivo/aviação.
Ganeti é uma ferramenta de gerenciamento de cluster de máquinas virtuais construída com base em tecnologias de virtualização existentes, como Xen ou KVM e outros softwares de código aberto. Depois de instalada, a ferramenta assume o gerenciamento das instâncias virtuais (Xen DomU).
Packer é uma ferramenta de código aberto para criar imagens de máquina idênticas para múltiplas plataformas a partir de uma configuração de fonte única. O Packer é leve, roda em todos os principais sistemas operacionais e tem alto desempenho, criando imagens de máquina para múltiplas plataformas em paralelo. O Packer não substitui o gerenciamento de configuração como Chef ou Puppet. Na verdade, ao construir imagens, o Packer é capaz de usar ferramentas como Chef ou Puppet para instalar software na imagem.
Vagrant é uma ferramenta para construir e gerenciar ambientes de máquinas virtuais em um único fluxo de trabalho. Com um fluxo de trabalho fácil de usar e foco na automação, o Vagrant reduz o tempo de configuração do ambiente de desenvolvimento, aumenta a paridade de produção e faz com que a desculpa “funciona na minha máquina” seja uma relíquia do passado. Ele fornece ambientes de trabalho fáceis de configurar, reproduzíveis e portáteis, construídos com base na tecnologia padrão do setor e controlados por um único fluxo de trabalho consistente para ajudar a maximizar a produtividade e a flexibilidade de você e de sua equipe.
Parallels Desktop é um hipervisor de desktop que oferece o aplicativo mais rápido, fácil e poderoso para executar Windows/Linux no Mac (incluindo o novo chip Apple M1) e ChromeOS.
VMware Fusion é um hipervisor de desktop que fornece máquinas virtuais de desktop e 'servidor', contêineres e clusters Kubernetes para desenvolvedores e profissionais de TI no Mac.
VMware Workstation é um hipervisor hospedado que roda em versões x64 dos sistemas operacionais Windows e Linux; ele permite que os usuários configurem máquinas virtuais em uma única máquina física e as utilizem simultaneamente com a máquina real.
Voltar ao topo
Computação Paralela é um ambiente computacional no qual dois ou mais processadores (núcleos, computadores) trabalham simultaneamente para resolver um único problema. Muitas vezes, problemas grandes podem ser divididos em problemas menores, que podem então ser resolvidos ao mesmo tempo. Existem várias formas diferentes de computação paralela: [nível de bits]https://en.wikipedia.org/wiki/Bit-level_parallelism), nível de instrução, paralelismo de dados e tarefas.
Computação Acelerada - Treinamento | Desenvolvedor NVIDIA
Curso Fundamentos de Computação Acelerada com CUDA Python | NVIDIA
Principais cursos online de computação paralela | Curso
Principais cursos online de computação paralela | Udemy
Masterclass de Computação Científica: Paralela e Distribuída
Aprenda computação paralela em Python | Udemy
Computação GPU em Vulkan | Udemy
Cursos de Computação de Alto Desempenho | Udacidade
Cursos de Computação Paralela | Stanford on-line
Computação Paralela | OpenCourseWare do MIT
Paralelismo Multithread: Linguagens e Compiladores | OpenCourseWare do MIT
Computação Paralela com CUDA | Visão Plural
Arquitetura HPC e design de sistemas | Informações
MATLAB Parallel Server™ é uma ferramenta que permite dimensionar programas MATLAB® e simulações Simulink® para clusters e nuvens. Você pode criar protótipos de seus programas e simulações no desktop e depois executá-los em clusters e nuvens sem recodificação. O MATLAB Parallel Server oferece suporte a trabalhos em lote, cálculos paralelos interativos e cálculos distribuídos com matrizes grandes.
Parallel Computing Toolbox™ é uma ferramenta que permite resolver problemas computacionais e com uso intensivo de dados usando processadores multicore, GPUs e clusters de computadores. Construções de alto nível, como loops for paralelos, tipos de array especiais e algoritmos numéricos paralelizados permitem paralelizar aplicativos MATLAB® sem programação CUDA ou MPI. A caixa de ferramentas permite usar funções habilitadas para paralelo no MATLAB e em outras caixas de ferramentas. Você pode usar a caixa de ferramentas com Simulink® para executar múltiplas simulações de um modelo em paralelo. Programas e modelos podem ser executados nos modos interativo e em lote.
Statistics and Machine Learning Toolbox™ é uma ferramenta que fornece funções e aplicativos para descrever, analisar e modelar dados. Você pode usar estatísticas descritivas, visualizações e agrupamento para análise exploratória de dados; ajustar distribuições de probabilidade aos dados; gerar números aleatórios para simulações de Monte Carlo e realizar testes de hipóteses. Os algoritmos de regressão e classificação permitem fazer inferências a partir de dados e criar modelos preditivos de forma interativa, usando os aplicativos Classification and Regression Learner, ou de forma programática, usando o AutoML.
OpenMP é uma API que suporta programação paralela de memória compartilhada multiplataforma em C/C++ e Fortran. A API OpenMP define um modelo portátil e escalável com uma interface simples e flexível para o desenvolvimento de aplicações paralelas em plataformas que vão do desktop ao supercomputador.
CUDA® é uma plataforma de computação paralela e modelo de programação desenvolvido pela NVIDIA para computação geral em unidades de processamento gráfico (GPUs). Com CUDA, os desenvolvedores podem acelerar drasticamente os aplicativos de computação aproveitando o poder das GPUs.
Message Passing Interface (MPI) é um padrão de passagem de mensagens padronizado e portátil projetado para funcionar em arquiteturas de computação paralela.
Microsoft MPI (MS-MPI) é uma implementação da Microsoft do padrão Message Passing Interface para desenvolver e executar aplicativos paralelos na plataforma Windows.
O SLURM é um gerenciador de carga de trabalho de código aberto gratuito projetado especificamente para satisfazer as necessidades exigentes de computação de alto desempenho.
O Sistema de Lote portátil (PBS) Pro é um gerenciador de carga de trabalho rápido e poderoso, projetado para melhorar a produtividade, otimizar a utilização e a eficiência e simplificar a administração para clusters, nuvens e supercomputadores.
O AWS ParallelCluster é uma ferramenta de gerenciamento de cluster de código aberto apoiado pela AWS que facilita a implantação e o gerenciamento de clusters de computação de alto desempenho (HPC) na AWS. O ParallelCluster usa um arquivo de texto simples para modelar e fornecer todos os recursos necessários para seus aplicativos HPC de maneira automatizada e segura.
O NOMBA é um compilador de otimização de código aberto e com reconhecimento de Numpy para Python patrocinado pela Anaconda, Inc. Ele usa o projeto do compilador LLVM para gerar código de máquina a partir da sintaxe do Python. O NUMBA pode compilar um grande subconjunto de python com foco numericamente, incluindo muitas funções Numpy. Além disso, o NUMBA possui suporte para paralelização automática de loops, geração de código acelerado por GPU e criação de UFUNCs e retornos de chamada C.
A Chainner é uma estrutura de aprendizado profundo baseado em Python, com o objetivo de flexibilidade. Ele fornece APIs de diferenciação automática com base na abordagem definida por execução (gráficos computacionais dinâmicos), bem como nas APIs de alto nível orientadas a objetos para construir e treinar redes neurais. Ele também suporta CUDA/CUDNN usando o Cupy para treinamento e inferência de alto desempenho.
O XGBOOST é uma biblioteca de reforço de gradiente distribuído otimizado, projetado para ser altamente eficiente, flexível e portátil. Ele implementa algoritmos de aprendizado de máquina na estrutura de aumento de gradiente. O XGBoost fornece um aumento de árvore paralelo (também conhecido como GBDT, GBM) que resolve muitos problemas de ciência de dados de uma maneira rápida e precisa. Ele suporta treinamento distribuído em várias máquinas, incluindo AWS, GCE, Azure e Clusters de fios. Além disso, ele pode ser integrado aos sistemas Flink, Spark e outros sistemas de fluxo de dados em nuvem.
O CUML é um conjunto de bibliotecas que implementam algoritmos de aprendizado de máquina e funções primitivas matemáticas que compartilham APIs compatíveis com outros projetos de Rapids. A CUML permite que cientistas, pesquisadores e engenheiros de software executem tarefas tradicionais de ML tabular em GPUs sem entrar nos detalhes da programação da CUDA. Na maioria dos casos, a API Python da CUML corresponde à API da Scikit-Learn.
O Apache Cassandra ™ é um banco de dados distribuído NOSQL de código aberto, confiável por milhares de empresas para escalabilidade e alta disponibilidade sem comprometer o desempenho. O Cassandra fornece escalabilidade linear e tolerância a falhas comprovada no hardware de commodities ou na infraestrutura de nuvem o tornam a plataforma perfeita para dados de missão crítica.
O Apache Flume é um serviço distribuído, confiável e disponível para coletar, agregar e mover grandes quantidades com eficiência de dados de eventos de streaming.
O Apache Mesos é um gerenciador de cluster que fornece isolamento e compartilhamento de recursos eficientes em aplicativos ou estruturas distribuídas. Ele pode executar o Hadoop, Jenkins, Spark, Aurora e outras estruturas em um conjunto de nós dinamicamente compartilhados.
O Apache Hbase ™ é um armazenamento de big data de big data de código aberto, NOSQL. Permite acesso aleatório, estritamente consistente e em tempo real a petabytes de dados. O HBase é muito eficaz para lidar com conjuntos de dados grandes e esparsos. O HBase serve como uma entrada e saída direto na estrutura do Apache MapReduce para o Hadoop e trabalha com o Apache Phoenix para permitir consultas do tipo SQL em tabelas HBase.
O Sistema de Arquivos Distribuídos do Hadoop (HDFS) é um sistema de arquivos distribuído que lida com grandes conjuntos de dados em execução no hardware de commodity. É usado para dimensionar um único cluster do Apache Hadoop para centenas (e até milhares) de nós. O HDFS é um dos principais componentes do Apache Hadoop, sendo os outros mapeados e fios.
A Apache Arrow é um formato de memória colunar independente da linguagem para dados planos e hierárquicos, organizados para operações analíticas eficientes em hardware moderno, como CPUs e GPUs.
O Apache Spark ™ é um mecanismo de análise unificado para processamento de dados em larga escala. Ele fornece APIs de alto nível em Scala, Java, Python e R, e um mecanismo otimizado que suporta gráficos gerais de computação para análise de dados. Ele também suporta um rico conjunto de ferramentas de nível superior, incluindo Spark SQL para SQL e DataFrames, MLLIB para aprendizado de máquina, gráfico para processamento de gráficos e fluxo estruturado para processamento de fluxo.
A Apache Predictionio é uma estrutura de aprendizado de máquina de código aberto para desenvolvedores, cientistas de dados e usuários finais. Ele suporta a coleta de eventos, a implantação de algoritmos, avaliação, consulta a resultados preditivos por meio de APIs de REST. É baseado em serviços de código aberto escalável como Hadoop, HBase (e outros DBs), Elasticsearch, Spark e implementa o que é chamado de arquitetura Lambda.
O Microsoft Project Bonsai é uma plataforma de AI de baixo código que acelera o desenvolvimento de automação movido a IA e parte do conjunto de sistemas autônomos da Microsoft. O Bonsai é usado para criar componentes de IA que podem fornecer orientação do operador ou tomar decisões independentes para otimizar variáveis de processo, melhorar a eficiência da produção e reduzir o tempo de inatividade.
O Cluster Manager do Apache Kafka (CMAK) é uma ferramenta para gerenciar clusters Apache Kafka.
O BIGDL é uma biblioteca de aprendizado profundo distribuído da Apache Spark. Com o BIGDL, os usuários podem escrever seus aplicativos de aprendizado profundo como programas Spark padrão, que podem ser executados diretamente no topo dos clusters Spark ou Hadoop existentes.
O Apache Cassandra ™ é um banco de dados distribuído NOSQL de código aberto, confiável por milhares de empresas para escalabilidade e alta disponibilidade sem comprometer o desempenho. O Cassandra fornece escalabilidade linear e tolerância a falhas comprovada no hardware de commodities ou na infraestrutura de nuvem o tornam a plataforma perfeita para dados de missão crítica.
O Apache Flume é um serviço distribuído, confiável e disponível para coletar, agregar e mover grandes quantidades com eficiência de dados de eventos de streaming.
O Apache Mesos é um gerenciador de cluster que fornece isolamento e compartilhamento de recursos eficientes em aplicativos ou estruturas distribuídas. Ele pode executar o Hadoop, Jenkins, Spark, Aurora e outras estruturas em um conjunto de nós dinamicamente compartilhados.
O Apache Beam é um modelo de código aberto, unificado e conjunto de SDKs específicos de linguagem para definir e executar fluxos de trabalho de processamento de dados e também fluxos de ingestão de dados e fluxos de integração, suportando padrões de integração corporativa (EIPS) e linguagens específicas de domínio (DSLs).
O Jupyter Notebook é um aplicativo da Web de código aberto que permite criar e compartilhar documentos que contêm código ao vivo, equações, visualizações e texto narrativo. O Jupyter é amplamente utilizado em indústrias que fazem limpeza e transformação de dados, simulação numérica, modelagem estatística, visualização de dados, ciência de dados e aprendizado de máquina.
O NEO4J é o único banco de dados de gráficos de força corporativa que combina armazenamento de gráficos nativos, segurança avançada, arquitetura otimizada de velocidade escalável e conformidade com ácido para garantir previsibilidade e integridade de consultas baseadas em relacionamento.
Elasticsearch é um mecanismo de pesquisa baseado na Biblioteca Lucene. Ele fornece um mecanismo de pesquisa de texto completo distribuído e com capacidade múltipla com uma interface da Web HTTP e documentos JSON sem esquema. Elasticsearch é desenvolvido em Java.
O Logstash é uma ferramenta para gerenciar eventos e logs. Quando usado genericamente, o termo abrange um sistema maior de atividades de coleta de logs, processamento, armazenamento e pesquisa.
Kibana é um plug -in de visualização de dados de código aberto para o Elasticsearch. Ele fornece recursos de visualização sobre o conteúdo indexado em um cluster Elasticsearch. Os usuários podem criar gráficos de barra, linha e dispersão, ou gráficos de pizza e mapas em cima de grandes volumes de dados.
O Trino é um mecanismo de consulta SQL distribuído para big data. Ele é capaz de acelerar tremendamente os processos de ETL, permitir que todos usem a instrução SQL padrão e trabalhe com inúmeras fontes de dados e metas no mesmo sistema.
Extrair, transformar e carregar (ETL) é um pipeline de dados usado para coletar dados de várias fontes, transformar os dados de acordo com as regras de negócios e carregá -lo em um armazenamento de dados de destino.
O Redis (Remote Dictionary Server) é um código de código aberto (BSD licenciado), armazenamento de estrutura de dados na memória, usado como um banco de dados, cache e corretor de mensagens. Ele fornece estruturas de dados, como strings, hashes, listas, conjuntos, conjuntos classificados com consultas de alcance, bitmaps, hiperloglogs, índices geoespaciais e fluxos.
O Apache OpenNLP é uma biblioteca de código aberto para um kit de ferramentas baseado em aprendizado de máquina usado no processamento do texto da linguagem natural. Possui uma API para casos de uso, como reconhecimento de entidade nomeado, detecção de frases, marcação de POS (parte da fala), extração de recursos de tokenização, chunking, análise e resolução de coreferência.
O Apache Airflow é uma plataforma de gerenciamento de fluxo de trabalho de código aberto criado pela comunidade para criar programaticamente, agendar e monitorar fluxos de trabalho. Instalar. Princípios. Escalável. O fluxo de ar tem uma arquitetura modular e usa uma fila de mensagens para orquestrar um número arbitrário de trabalhadores. O fluxo de ar está pronto para escalar para o infinito.
O Open Neural Network Exchange (ONNX) é um ecossistema aberto que capacita os desenvolvedores da IA a escolher as ferramentas certas à medida que seu projeto evolui. O ONNX fornece um formato de código aberto para modelos de IA, aprendizado profundo e ML tradicional. Ele define um modelo de gráfico de computação extensível, bem como definições de operadores internos e tipos de dados padrão.
O Apache MXNET é uma estrutura de aprendizado profundo projetada para eficiência e flexibilidade. Ele permite misturar programação simbólica e imperativa para maximizar a eficiência e a produtividade. Na sua essência, o MXNET contém um agendador dinâmico de dependência que paraleliza automaticamente as operações simbólicas e imperativas em tempo real. Uma camada de otimização de gráficos em cima que torna a execução simbólica rápida e a memória eficiente em memória. O MXNET é portátil e leve, dimensionando efetivamente para várias GPUs e várias máquinas. Suporte para Python, R, Julia, Scala, Go, JavaScript e muito mais.
O AutoGluon é um kit de ferramentas para aprendizado profundo que automatiza tarefas de aprendizado de máquina, permitindo que você obtenha um forte desempenho preditivo em seus aplicativos. Com apenas algumas linhas de código, você pode treinar e implantar modelos de aprendizado profundo de alta precisão nos dados tabulares, de imagem e texto.
De volta ao topo
A Open Computing Language (OpenCL) é um padrão aberto para programação paralela de plataformas heterogêneas que consistem em CPUs, GPUs e outros aceleradores de hardware encontrados em supercomputadores, servidores em nuvem, computadores pessoais, dispositivos móveis e plataformas incorporadas.
OpenCl | GitHub
Grupo Khronos | GitHub
Cursos de tecnologia e treinamento de tecnologia Khronos
Tutoriais de OpenCl - Streamhpc
Introdução às ferramentas Intel® OpenCL
OpenCl | Desenvolvedor da NVIDIA
Introdução ao Curso OpenCl no FPGAS | Curso
Compilar o Kernel OpenCl para FPGAs Curso | Curso
O RenderDoc é um depurador gráfico independente que permite captura rápida e fácil de quadro único e introspecção detalhada de qualquer aplicativo usando Vulkan, D3D11, OpenGL & OpenGL ES ou D3D12 entre Windows, Linux, Android, Stadia ou Nintendo Switch ™.
O GPUVERIFY é uma ferramenta para análise formal dos núcleos de GPU escritos no OpenCL e CUDA. A ferramenta pode provar que os kernels estão livres de certos tipos de defeito, incluindo corridas de dados.
O OpenCL ICD Loader é um mecanismo de driver cliente instalável (ICD) para permitir que os desenvolvedores criem aplicativos contra um carregador de driver do cliente instalável (ICD), em vez de vincular seus aplicativos contra uma implementação específica do OpenCL.
O CLBLAS é uma biblioteca de software que contém funções blas escritas no OpenCL.
O CLFFT é uma biblioteca de software que contém funções FFT escritas no OpenCL.
O CLSPARSE é uma biblioteca de software que contém funções esparsas escritas no OpenCL.
O CLRNG é uma biblioteca de software baseada em OpenCL contendo funções de geração de números aleatórios.
O CLSmith é uma ferramenta que utiliza duas técnicas de teste existentes, Entradas de Modulo de Teste Diferenciado e Equivalência (EMI) (EMI), aplicando-os em um ambiente de muitos núcleos, OpenCl. Sua característica principal é a geração de núcleos aleatórios de OpenCL, exercendo muitas características do idioma. Também traz uma nova idéia de aplicar a EMI, via injeção de código morto.
O OCLGRind é um simulador de dispositivo OpenCL virtual, incluindo um tempo de execução do OpenCL com suporte ao ICD. O objetivo é fornecer uma plataforma para criar ferramentas para ajudar no desenvolvimento da OpenCL. Em particular, este projeto atualmente implementa utilitários para depurar erros de acesso à memória, detectar raças de dados e divergência de barreira, coletar histogramas de instruções e para depuração interativa do kernel. O simulador é construído em um intérprete para o LLVM IR.
O NVIDIA® NSIGH ™ Visual Studio Edition é um ambiente de desenvolvimento de aplicativos para plataformas heterogêneas que traz computação na GPU no Microsoft Visual Studio. O NVIDIA NSIGHT ™ VSE permite criar e depurar kernels de GPU integrados e código nativo da CPU, além de inspecionar o estado da GPU e da memória.
O Radeon ™ GPU Profiler é uma ferramenta de desempenho que pode ser usada pelos desenvolvedores para otimizar os aplicativos DirectX®12, Vulkan® e OpenCL ™ para o hardware AMD RDNA ™ e GCN.
O Radeon ™ GPU Analyzer é uma ferramenta de análise de compilador e código para Vulkan®, DirectX®, OpenGL® e OpenCL ™.
A AMD Radeon Prorender é um poderoso mecanismo de renderização físico que permite que profissionais criativos produza imagens incrivelmente fotorrealistas em praticamente qualquer GPU, qualquer CPU e qualquer sistema operacional em mais de uma dúzia de aplicativos de criação de conteúdo digital e CAD.
A NVIDIA Omniverse é uma poderosa plataforma de simulação e colaboração em tempo real e multi-GPU para pipelines de produção em 3D com base na descrição da cena universal da Pixar e na NVIDIA RTX.
O Intel® SDK for OpenCL ™ Applications é uma carga de trabalho com uso intensivo de computação. Personalize aplicativos de computação heterogênea e acelere o desempenho com a programação baseada em kernel.
A NVIDIA NGC é um hub para software otimizado para GPU para aprendizado profundo, aprendizado de máquina e cargas de trabalho de computação de alto desempenho (HPC).
Os contêineres da NVIDIA NGC são um registro que fornece a pesquisadores, cientistas de dados e desenvolvedores acesso simples a um catálogo abrangente de software acelerado por GPU para IA, aprendizado de máquina e HPC. Esses contêineres aproveitam ao máximo as GPUs NVIDIA no local e na nuvem.
A NVIDIA CUDNN é uma biblioteca de primitivas aceleradas por GPU para redes neurais profundas. O CUDNN fornece implementações altamente ajustadas para rotinas padrão, como camadas de convolução para frente e para trás, agrupamento, normalização e ativação. O CUDNN acelera estruturas de aprendizado profundo amplamente utilizadas, incluindo Caffe2, Chainner, Keras, Matlab, MxNet, Pytorch e Tensorflow.
O NVIDIA Container Toolkit é uma coleção de ferramentas e bibliotecas que permite que os usuários criem e execute os contêineres do Docker acelerado da GPU. O kit de ferramentas inclui uma biblioteca de tempo de execução do contêiner e utilitários para configurar automaticamente os contêineres para aproveitar o NVIDIA GPUS.
De volta ao topo
Kit de ferramentas CUDA. Fonte: desenvolvedor da NVIDIA CUDA
O CUDA é uma plataforma de computação paralela e um modelo de programação desenvolvido pela NVIDIA para computação geral em unidades de processamento gráfico (GPUs). Com o CUDA, os desenvolvedores são capazes de acelerar drasticamente os aplicativos de computação, aproveitando o poder das GPUs. Em aplicativos acelerados por GPU, a parte seqüencial da carga de trabalho é executada na CPU, que é otimizada para thread único. A parte intensiva de computação do aplicativo é executada em milhares de núcleos de GPU em paralelo. Ao usar o CUDA, os desenvolvedores podem programar em idiomas populares como C, C ++, Fortran, Python e Matlab.
Documentação do kit de ferramentas CUDA
Guia de início rápido CUDA
CUDA no WSL
Suporte de GPU da CUDA para Tensorflow
Documentação de aprendizado profundo da nvidia
Documentação em nuvem da NVIDIA GPU
A NVIDIA NGC é um hub para software otimizado para GPU para aprendizado profundo, aprendizado de máquina e cargas de trabalho de computação de alto desempenho (HPC).
Os contêineres da NVIDIA NGC são um registro que fornece a pesquisadores, cientistas de dados e desenvolvedores acesso simples a um catálogo abrangente de software acelerado por GPU para IA, aprendizado de máquina e HPC. Esses contêineres aproveitam ao máximo as GPUs NVIDIA no local e na nuvem.
O CUDA Toolkit é uma coleção de ferramentas e bibliotecas que fornecem um ambiente de desenvolvimento para criar aplicativos acelerados por GPU de alto desempenho. O CUDA Toolkit permite que você possa desenvolver, otimizar e implantar seus aplicativos em sistemas incorporados acelerados por GPU, estações de trabalho de desktop, data centers corporativos, plataformas baseadas em nuvem e supercomputadores de HPC. O kit de ferramentas inclui bibliotecas aceleradas por GPU, ferramentas de depuração e otimização, um compilador C/C ++ e uma biblioteca de tempo de execução para criar e implantar seu aplicativo nas principais arquiteturas, incluindo x86,