Exemplo de projeto de multiplicação da matriz

Recomendado para:

  • Dispositivo: desconhecido

  • Quartus: v17.1

author-image

Por

Este exemplo contém uma implementação de alto desempenho da operação de multiplicação de matrizes fundamentais e demonstra otimizações que podem ser descritas no Open Computing Language (OpenCL™) para obter desempenho significativamente melhorado. Em um nível algorítmico, o kernel neste exemplo mostra como descrever o loop tiling para aproveitar o reaproveitamento de dados inerente à computação.

Este exemplo também demonstra como usar otimizações de compiladores em loop e estilo SIMD para aumentar facilmente o desempenho do kernel. Como parte do pacote de exemplo, os parâmetros para cada binário de dispositivo pré-compilado foram escolhidos para maximizar o desempenho nesta placa específica. Detalhes adicionais estão disponíveis no pacote de exemplo que mostra como é fácil parametrizar o kernel para atingir diferentes requisitos de desempenho e recursos.

Além disso, o aplicativo host é configurado para aproveitar automaticamente vários dispositivos OpenCL distribuindo a computação e alcançando ainda mais paralelismo.

Desempenho de multiplicação de matriz de pico

Características

  • Implementação otimizada da operação fundamental
  • Buffer de memória local
  • Otimizações do compilador (desenrolização de loop, num_simd_work_items atributo)
  • Otimizações de ponto flutuante
  • Execução de vários dispositivos

Downloads

O exemplo de projeto fornece código fonte para o dispositivo OpenCL (.cl) e para o aplicativo host. Para compilar o aplicativo host, o pacote Linux inclui um Makefile e o pacote windows inclui um projeto do Microsoft Visual Studio 2010.

Os seguintes downloads são fornecidos para este exemplo:

O uso deste design é regido pelos termos e condições do contrato de licença de design de referência de hardware.

Requisitos de software e hardware

Este exemplo de projeto requer as seguintes ferramentas:

  • Intel FPGA software v17.1 ou mais recente
  • Intel FPGA SDK para OpenCL™ v17.1 ou mais recente
  • No Linux: GNU Make e gcc
  • No Windows: Microsoft Visual Studio 2010

Para baixar as ferramentas de design da Intel, acesse a página de downloads do OpenCL. Os requisitos para o sistema operacional subjacente são os mesmos do SDK Intel FPGA para OpenCL.

OpenCL e o logotipo OpenCL são marcas comerciais da Apple Inc. usadas com permissão pela Khronos.

* O produto é baseado em uma especificação Khronos publicada e passou no Processo de teste de conformidade Khronos. O status de conformidade atual pode ser encontrado em www.khronos.org/conformance.

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.