Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
36. Instruções de execução no caminho de dados da CPU
36. Instruções de execução no caminho de dados da CPU
O vídeo explica como os cálculos são executados em um caminho de dados da CPU usando um exemplo de realização de operações de acumulação. O caminho de dados inclui unidades de carregamento e armazenamento para carregar e armazenar dados na memória usando endereços e unidades funcionais, como ALUs, para realizar operações. O vídeo ilustra o processo passo a passo, incluindo carregar dados da memória, realizar operações e armazenar os resultados de volta na memória. O palestrante também explica como o FPGA pode ser utilizado para implementar a mesma função, aproveitando ao máximo os recursos disponíveis no hardware.
37. Caminho de dados personalizado no FPGA
37. Caminho de dados personalizado no FPGA
O vídeo explica o uso de um FPGA para implementar a função do kernel para melhorar o desempenho ao desenrolar o hardware da CPU e personalizar o caminho de dados no FPGA. Ao remover unidades não utilizadas, carregar constantes e fios e reprogramar algumas operações, as operações de carregamento podem ser executadas simultaneamente para aumentar o desempenho. O design de caminhos de dados personalizados pode melhorar a taxa de transferência, reduzir a latência e o consumo de energia selecionando operações e dados necessários para uma função específica. O vídeo mostra um exemplo de adição de acordo com a demanda em dois vetores, com o resultado armazenado de volta na memória usando registros entre os estágios para permitir um pipeline eficiente e o lançamento de oito itens de trabalho para adições consecutivas.
38. OpenCL para FPGA e Kernel Paralelo de Dados
38. OpenCL para FPGA e Kernel Paralelo de Dados
O vídeo explica como o OpenCL permite que engenheiros de FPGA usem recursos de engenharia de software para expandir o número de desenvolvedores de aplicativos de FPGA aproveitando os recursos de computação paralela em FPGAs. O modelo de programação do OpenCL permite a especificação do paralelismo usando funções paralelas de dados chamadas kernels, e cada kernel depende de identificadores especificados por "obter ID global" para executar computações paralelas em segmentos de dados independentes. É introduzido o conceito de threads e grupos de trabalho, onde os threads acessam diferentes partes do conjunto de dados, particionados em grupos de trabalho, com apenas threads dentro do mesmo grupo de trabalho capazes de compartilhar memória local. Com este modelo de programação, o OpenCL permite o processamento paralelo de dados eficiente.
39. OpenCL Host Side Programming: Contexto, filas, objetos de memória, etc.
39. OpenCL Host Side Programming: Contexto, filas, objetos de memória, etc.
Este tutorial em vídeo explora vários conceitos de programação do lado do host em OpenCL, com foco em contexto, filas e objetos de memória. Abrange as duas novas APIs em OpenCL, clCreateKernelsInProgram e clSetKernelArg, que são usadas para criar objetos de kernel e passar argumentos para funções de kernel. O tutorial também discute o uso da API clCreateImage para criar objetos de imagem e como os pixels da imagem são armazenados na memória usando a ordem e o tipo de canal. Ele explica como o OpenCL lida com imagens 2D e 3D, como os desenvolvedores podem coletar informações sobre objetos de memória usando APIs como clGetMemoryObjectInfo e como executar operações de objetos de memória, como leitura e gravação de buffer, mapeamento de objetos de memória e cópia de dados entre objetos de memória.
40. Fluxo de Projeto HDL para FPGA
40. Fluxo de Projeto HDL para FPGA
Este vídeo explica o processo de desenvolvimento de Field Programmable Gate Arrays (FPGAs) usando o software de design Quartus.
A metodologia de projeto e as ferramentas de software para desenvolvimento de FPGA são explicadas. O fluxo típico de projeto de lógica programável começa com uma especificação de projeto, passa para a codificação RTL e, em seguida, para a simulação funcional RTL, que é seguida pela síntese para traduzir o projeto em primitivas específicas do dispositivo. Os engenheiros então mapeiam esses primitivos para locais específicos dentro de um FPGA específico e verificam as especificações de desempenho por meio da análise de tempo. Por fim, o projeto é carregado em uma placa FPGA e as ferramentas de depuração podem ser usadas para testá-lo no hardware. Para Intel FPGAs, o software de design Quartus é usado para executar o fluxo de design, começando com uma descrição do sistema e passando para a síntese lógica, localização e rota, análise de tempo e energia e programação do design nos FPGAs reais.
41. Tipos de dados OpenCL e memória do dispositivo
41. Tipos de dados OpenCL e memória do dispositivo
O vídeo discute os tipos de dados OpenCL e a memória do dispositivo. Ele abrange tipos booleanos, inteiros e de ponto flutuante e explica tipos de dados específicos usados para operar em endereços de memória, como int-ptr, uint-ptr e ptrdiff-t. Ele também explica os tipos de dados vetoriais, que são matrizes contendo vários elementos do mesmo tipo que permitem que os operadores sejam aplicados a todos os elementos ao mesmo tempo e como usá-los. O vídeo fornece vários exemplos de como inicializar e acessar elementos em um vetor, incluindo o uso de letras e índices numéricos, alto-baixo e par-ímpar. Ele também explica o alinhamento da memória e como usar o argumento do kernel definido e os argumentos do kernel privado.
42. Operações relacionais vetoriais OpenCL
42. Operações relacionais vetoriais OpenCL
O vídeo discute a programação do kernel OpenCL e seus operadores e funções integradas. O foco está nos operadores relacionais e em como eles trabalham com valores escalares e vetoriais. Um exemplo de função do kernel, "op test", é apresentado e executa uma operação AND elementar entre uma constante e um vetor privado. O vídeo explica como implementar um vetor com operações relacionais no OpenCL comparando elementos vetoriais específicos com um escalar usando operações lógicas. O vetor resultante pode ser usado em um loop while para criar um vetor de saída final que é atribuído ao objeto de memória de saída.
43. Funções integradas do OpenCL: vloadn, select
43. Funções integradas do OpenCL: vloadn, select
O vídeo cobre duas funções internas importantes do OpenCL: vloadn e select. Vloadn permite inicializar lotes com valores de uma matriz escalar e recebe dois argumentos: deslocamento e um ponteiro para a matriz escalar. Selecionar, por outro lado, permite selecionar certos elementos de dois lotes e usá-los para criar um novo vetor. Ele pode conter valores inteiros assinados ou não assinados, e apenas o bit mais significativo nos elementos de máscara é importante. O tutorial demonstra como essas funções funcionam na prática.
44. Introdução ao DPC++
44. Introdução ao DPC++
Este vídeo apresenta o DPC++, uma linguagem de alto nível para programação paralela de dados que transfere computação complexa para aceleradores como FPGAs e GPUs e faz parte da estrutura OneAPI. O DPC++ visa acelerar cargas de trabalho paralelas de dados usando C++ moderno e otimização de desempenho orientada para a arquitetura. O palestrante fornece um exemplo simples de DPC++ que demonstra como declarar variáveis de gerenciamento de dados e executar uma função de kernel em um dispositivo usando um comando e um acessador. O vídeo também explica como a função lambda pode receber argumentos e referências das variáveis declaradas fora dela.
45. Como pensar em paralelo?
45. Como pensar em paralelo?
O vídeo ensina sobre programação paralela usando a multiplicação de matrizes como exemplo. Ele destaca o paralelismo nessa computação, onde várias linhas e colunas podem ser calculadas independentemente. A implementação de um cálculo de elemento único na matriz C é mostrada usando uma função kernel que permite computação paralela. O uso de acessadores, intervalos e funções paralelas do kernel são explicados em detalhes. As etapas envolvidas na passagem do valor do intervalo para a função kernel são discutidas. Uma demonstração da multiplicação de matrizes usando a nuvem de desenvolvimento Intel FPGA também é demonstrada.