Résumé de section

  • SSC5883 - 5
    Computação Reconfigurável

    90 h
    3 h
    3 h
    9 h
    6
    6 Semana
    H: 09:00hs – 12:00hs (Presencial)
    Sala: 3.102

    • Conteúdo do seminário com duração prevista de 50 min:

      evolução histórica do tema e seu estado da arte;

      - principais resultados alcançados e os desafios atuais;

      - dependências do mundo externo (padrões de desenvolvimento, complexidade dos problemas, tempo de resposta, custo de desenvolvimento e manutenção, avanço da tecnologia, exigências do mercado e etc..)

      - apresentação de técnicas/algoritmos mais relevantes e, sempre que possível, realização de experimentos reais;

      - apresentação de questões e posicionamento do grupo que motivem a discussão da classe;

    • Descrição do trabalho prático
      Executar em um processador softcore em FPGA (exemplo de softcore: NIOS V da Altera, MicroBlaze da Xilinx ou algum RISC-V) uma rede neural CNN para a classificação de dígitos decimais escritos a mão conforme a base de dados MNIST. O projeto deverá explorar variações de configuração do processador softcore, como a adição de instruções customizadas, a adoção ou não de FPU, tamanho, níveis e modo de operação da memória cache, uso ou não de SO, e etc.. Aplicar também formas de otimização no código fonte. Assim, encontrar um conjunto de soluções que visem maximizar throughput, latência e acurácia das inferências da rede neural. Note que esses objetivos são conflitante, o que acarreta na formação de uma fronteira de Pareto.  A rede pode ser treinada offline e a adoção de runtime é opcional (ONNX Runtime Micro ou TensorFlow Lite for Microcontrollers (TFLM)). Alternativamente, o grupo pode propor a aplicação da CNN em outro problema.

      O trabalho pode ser desenvolvido em trio, dupla ou individualmente.
  • Apresentação do Curso

    Cronograma

    Definição de trabalhos práticos  e sorteio dos seminários

    Introdução à Computação Reconfigurável (RC)

  • Linguagens, ferramentas de programação/simulação e arquiteturas avançadas


    Grupos apresentam proposta de cronograma do trabalho prático (fase 1 e fase 2)


  • Seminário 1: 

    [50 min] O uso do FPGA como acelerador de processamento de grafos e dataflow [Eduardo Sperle Honorato]

    [50 min] O papel dos FPGAs em deep learning [Leonardo Zaniboni Silva]

    Acompanhamento do trabalho prático


  • Seminário 2: 

    [50 min] Ferramentas HLS (High Level Synthesis): objetivo, princípio de funcionamento e exemplos de aplicação [Gabriel Pinho Nogueira]

    [50 min] Arquiteturas avançadas de FPGA [Bruno Pereira de Oliveira]

    Acompanhamento do trabalho prático


  • Seminário 3: 

    [50 min] Processadores de redes neurais, incluindo softcores em FPGA [Melissa Motoki Nogueira]

    Fechamento do curso com a apresentação dos trabalhos práticos

    • Favor incluir um arquivo pdf com o nome e numero USP dos participantes e uma breve descrição do que foi desenvolvido e os resultados obtidos. Incluir nesse pdf um link para o git com os fontes e lá no git incluir as instruções descrevendo o projeto e as instruções para uso do mesmo.

    • ---------------------------

      Deep NN acceleration

    • Projeto base para DPU (https://www.xilinx.com/bin/public/openDownload?filename=DPUCZDX8G_VAI_v3.0.tar.gz) que está nesta página oficial da Xilinx https://xilinx.github.io/Vitis-AI/3.5/html/docs/workflow-system-integration

      Esse projeto usa essa DPUCZDX8G é dedicada para o FPGA Zynq UltraScale+ MPSoC e ele vem com 3 DPUs instanciadas. O projeto por default é para a placa ZCU102, mas daí você consegue mudar para a placa ZCU104 que nao precisa de licença e temos em nosso laboratório de computação reconfigurável (LCR) do ICMC. Porém para caber na ZCU104 sem alterar a configuracao default da DPU tem que reduzir para 1 DPU. Fiz isso e deu certo a Synthesis e a Implementation (como esperado gerou o bitstream sem precisar da licença).

      Comentando sobre licenças. Para o FPGA da placa ZCU104 nao precisa de licença! Mas para a ZCU102 sim. 

      Para sintetizar o projeto instalar Vivado ML Edition 2023.2 que vc encontra no link seguinte:

      https://www.xilinx.com/products/design-tools/vivado/vivado-buy.html#architecture


    •  FINN generates dataflow architectures as a physical representation of the implemented custom network in space