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
AMD Developer Central: Série de webinars de programação OpenCL.2. Introdução ao OpenCL
2- Introdução ao OpenCL
Este vídeo fornece uma introdução detalhada ao OpenCL, uma plataforma para computação paralela que pode usar CPUs e GPUs para acelerar os cálculos. Os programas escritos em OpenCL podem ser executados em diferentes dispositivos e arquiteturas, permitindo a portabilidade do código em diferentes plataformas. O vídeo discute os diferentes modelos de execução no OpenCL, incluindo paralelismo de dados e paralelismo de tarefas, e também aborda os diferentes objetos e comandos usados no OpenCL, como objetos de memória, filas de comandos e objetos de kernel. O vídeo também aborda as vantagens e limitações do uso do OpenCL, como a necessidade de gerenciamento explícito de memória e o potencial para melhorias significativas de desempenho em programas paralelos.
AMD Developer Central: série de webinars de programação OpenCL. 3. Arquitetura da GPU
3 - Arquitetura da GPU
Este vídeo fornece uma visão geral da arquitetura da GPU, observando as origens e o uso principal das GPUs como processadores gráficos. As GPUs são projetadas para processar pixels com alto grau de paralelismo, em contraste com CPUs projetadas para processamento escalar com pipelines de baixa latência. A arquitetura das GPUs é otimizada para tarefas específicas de gráficos, que podem não ser adequadas para computação de uso geral. O palestrante explica como a GPU maximiza a taxa de transferência de um conjunto de threads em vez de minimizar a latência de execução de um único thread. A arquitetura do bloco do motor da GPU também é discutida, incluindo compartilhamentos de dados locais, frentes de onda e grupos de trabalho. O vídeo explora vários recursos de arquitetura de GPU que ajudam a aumentar a quantidade de empacotamento que o compilador pode fazer, incluindo a emissão de operações dependentes em um único pacote e o suporte a contadores dependentes com compartilhamento beta global. Embora os designs dos núcleos da GPU e da CPU possam ser semelhantes, suas cargas de trabalho precisarão convergir para que tenham designs semelhantes.
Neste vídeo sobre arquitetura de GPU, o palestrante aprofunda o conceito de barreiras e sua função. Quando um grupo de trabalho contém várias frentes de onda em uma GPU, barreiras são usadas para sincronizar essas frentes de onda. No entanto, se existir apenas uma frente de onda de trabalho em um grupo, as barreiras perderão o sentido e serão reduzidas a não-operações.
AMD Developer Central: série de webinars de programação OpenCL. 4 Programação OpenCL em detalhe
4 - Programação OpenCL em detalhe
Neste vídeo, o palestrante fornece uma visão geral da programação OpenCL, discutindo sua linguagem, plataforma e APIs de tempo de execução. Eles elaboram o modelo de programação que requer paralelização refinada, itens de trabalho e grupos ou threads, sincronização e gerenciamento de memória. O palestrante então discute o algoritmo de n-corpos e sua natureza n-quadrada de ordem computacional. Eles explicam como o código do kernel OpenCL atualiza a posição e a velocidade das partículas na mecânica newtoniana, introduz o cache para armazenar a posição de uma partícula e como o kernel atualiza a posição e a velocidade da partícula usando tipos de dados vetoriais flutuantes. O palestrante também se aprofunda em como o código do host interage com os kernels OpenCL, definindo os parâmetros e argumentos explicitamente, transferindo dados entre o host e a GPU e enfileirando a execução do kernel para sincronização. Por fim, o vídeo explora como modificar o código OpenCL para oferecer suporte a vários dispositivos, sincronizar dados entre as GPUs e definir IDs de dispositivo para matrizes de tamanho médio que as representam.
A segunda parte discute vários aspectos da programação OpenCL. Abrange tópicos como o esquema de buffer duplo para sincronizar a posição de partícula atualizada entre dois arrays, as limitações do OpenCL e a diferença entre ponteiros globais e locais na alocação de memória. Além disso, ele destaca técnicas de otimização para programação OpenCL, incluindo operações vetoriais, acesso controlado à memória e desenrolamento de loop, juntamente com ferramentas disponíveis para analisar a implementação OpenCL, como ferramentas de criação de perfil. O apresentador recomenda o padrão OpenCL como um recurso para programadores OpenCL e fornece URLs para o padrão e o ATI Stream SDK. O vídeo também aborda questões sobre tópicos como compartilhamento de memória, otimização de código, alocação de memória e utilização de unidade de computação.
AMD Developer Central: série de webinars de programação OpenCL. 5. Aplicações OpenCL do mundo real
5 - Aplicações OpenCL do mundo real
Neste vídeo, Joachim Deguara fala sobre um aplicativo de processamento de vídeo multistream em que trabalhou, com foco principal na otimização de desempenho. O vídeo aborda vários tópicos, como decodificação de formatos de vídeo, uso de DMA para transferir memória entre CPU e GPU, buffer duplo, execução de kernels, uso de objetos de evento para sincronizar e perfilar operações, interoperabilidade OpenCL-OpenGL, processamento de furtos em vídeos e escolha entre OpenCL e OpenGL ao processar algoritmos. Joachim também discute várias amostras e SDKs disponíveis para aplicativos OpenCL, mas observa que atualmente não há código de exemplo disponível para o aplicativo específico discutido no vídeo.
AMD Developer Central: série de webinars de programação OpenCL. 6. Extensões de Fissão de Dispositivo para OpenCL
6 - Extensões de fissão de dispositivos para OpenCL
Neste vídeo, o palestrante aborda vários tópicos relacionados a extensões de fissão de dispositivos para OpenCL. Eles explicam os diferentes tipos de extensões e como a fissão do dispositivo permite que grandes dispositivos sejam divididos em menores, o que é útil para reservar um núcleo para tarefas de alta prioridade ou garantir que grupos de trabalho específicos sejam atribuídos a núcleos específicos. Eles discutem a importância de manter a semântica sequencial ao paralelizar as operações pushback de vetores, usando padrões paralelos para otimizar o processo e criando kernels nativos no OpenCL. O palestrante também demonstra um aplicativo que utiliza fissão de dispositivo para OpenCL e discute a afinidade de memória e o futuro da fissão de dispositivo em outros dispositivos.
AMD Developer Central: série de webinars de programação OpenCL. 8. Técnicas de Otimização: Convolução de Imagens
Neste vídeo Udeepta D. Bordoloi discute as técnicas de otimização em convolução de imagens.
AMD Developer Central: série de webinars de programação OpenCL. 7. Hidrodinâmica de partículas suavizadas
7 - Hidrodinâmica de Partículas Alisadas
Este vídeo discute a hidrodinâmica de partículas suavizadas (SPH), uma técnica para resolver equações de dinâmica de fluidos, especificamente as equações de Navier-Stokes. O vídeo explica os diferentes termos nas equações, incluindo os termos de densidade, pressão e viscosidade, e como eles são aproximados usando um núcleo de suavização. O algoritmo numérico usado para SPH, bem como o uso de indexação espacial e Interop, também é discutido. O palestrante explica o processo de construção de um índice espacial e um mapa de vizinhos e como a física é calculada. O vídeo convida os espectadores a baixar e usar o programa e discute as limitações da simulação. O palestrante responde a perguntas do público sobre o desempenho da GPU, comportamento incompressível e uso de imagens em cache.
AMD Developer Inside Track: Como otimizar a convolução de imagens
Como otimizar a convolução da imagem
Este vídeo discute vários métodos para otimizar a convolução da imagem, incluindo o uso de compartilhamento de dados local, otimização de constantes e uso de áreas locais maiores para melhorar a eficiência. O palestrante enfatiza a importância de minimizar o tempo de processamento na convolução da imagem para melhorar o desempenho geral e destaca um novo método de reutilização de dados usando a memória local. O vídeo oferece sugestões para etapas de otimização, como usar texturas ou óbvias, usar a força do pensamento e usar as opções de passagem para o contador. Um artigo passo a passo sobre como otimizar as técnicas de convolução de imagem está disponível no site do desenvolvedor da AMD.
AMD Developer Central: visão geral técnica do OpenCL. Introdução ao OpenCL
AMD Developer Central: visão geral técnica do OpenCL. Introdução ao OpenCL
Neste vídeo, Michael Houston fornece uma visão geral do OpenCL, um padrão da indústria para computação paralela de dados visando CPUs multi-core, dispositivos móveis e outras formas de silício. O OpenCL visa unificar implementações proprietárias anteriormente concorrentes, como CUDA e Brook+, que simplificarão o desenvolvimento para fornecedores de software independentes. Ele oferece uma divisão entre o código executado no dispositivo e o código que gerencia o dispositivo usando um sistema de filas projetado para feedback com os desenvolvedores de jogos. O OpenCL foi projetado para funcionar bem com APIs gráficas, criando uma linguagem de computação onipresente que pode ser usada para vários aplicativos, como edição de fotos e vídeos, bem como para sistemas de inteligência artificial, modelagem e física. O apresentador também discute o uso do OpenCL para renderização de Hollywood e espera ver mais trabalhos nessa área.
AMD Developer Central: Episódio 1: O que é OpenCL™?
AMD Developer Central: Episódio 1: O que é OpenCL™?
Este vídeo fornece uma introdução ao OpenCL e seus objetivos de design, que se concentram em alavancar vários processadores para acelerar cálculos paralelos em vez de sequenciais. O OpenCL permite a escrita de código portátil para diferentes processadores usando kernels, dimensões globais e locais e grupos de trabalho. Itens de trabalho e grupos de trabalho podem colaborar compartilhando recursos, mas a sincronização entre itens de trabalho em diferentes grupos de trabalho não é possível. As dimensões ótimas do problema variam para diferentes tipos de processamento e é importante escolher as melhores dimensões para obter o melhor desempenho. O OpenCL pode utilizar totalmente os recursos de um sistema expressando tarefas e paralelismo de dados juntos usando o modelo de evento OpenCL.