ArchLearn : Implementação de acelerador em hardware baseado em FPGA para redes neurais artificiais
Autor(a) principal: | |
---|---|
Data de Publicação: | 2020 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFS |
Texto Completo: | http://ri.ufs.br/jspui/handle/riufs/13507 |
Resumo: | The need to run real-time and latency-sensitive systems has led to the development of a new paradigm in relation to dominant cloud computing, which is called edge computing. Thus, the new data distribution model seeks to bring the processing and treatment of data close to the edge of the network, a reason that leads to the development of platforms with low power processors close to sensors and mobile applications. Within this context, the growth in the use of Machine Learning algorithms and the possibility of transferring part of the execution of these models locally, opens up a range of questions regarding how to execute them efficiently. That said, this work implemented the convolution operation for an FPGA platform in order to optimize the execution time of a CNN (Convolutional Neural Network) in a microcontroller. The proposed approach was designed to perform in a specialized manner three convolutional layers of a CNN, which was trained to perform the classification of 10 classes of images present in the CIFAR-10 dataset. For comparison, two approaches were tested using an ARM CORTEX-M4 processor: without any software optimization and with optimization provided by special instructions SIMD (Single Instruction, Multiple Data) through the CMSIS-NN library. As a result, the execution time of the convolutional layers achieved in this work was up to 25% less than the fastest time using only the processor. |
id |
UFS-2_30968f2df1d992cd56b1491ae839dd32 |
---|---|
oai_identifier_str |
oai:ufs.br:riufs/13507 |
network_acronym_str |
UFS-2 |
network_name_str |
Repositório Institucional da UFS |
repository_id_str |
|
spelling |
Santana, Gabriel Dias dePrado, Bruno Otávio Piedade2020-06-27T01:37:24Z2020-06-27T01:37:24Z2020-05-29Santana, Gabriel Dias de. ArchLearn : implementação de acelerador em hardware baseado em FPGA para redes neurais artificiais. São Cristóvão, 2020. Monografia (graduação em Engenharia da Computação) – Departamento de Computação, Centro de Ciências Exatas e Tecnologia, Universidade Federal de Sergipe, São Cristóvão, SE, 2020http://ri.ufs.br/jspui/handle/riufs/13507The need to run real-time and latency-sensitive systems has led to the development of a new paradigm in relation to dominant cloud computing, which is called edge computing. Thus, the new data distribution model seeks to bring the processing and treatment of data close to the edge of the network, a reason that leads to the development of platforms with low power processors close to sensors and mobile applications. Within this context, the growth in the use of Machine Learning algorithms and the possibility of transferring part of the execution of these models locally, opens up a range of questions regarding how to execute them efficiently. That said, this work implemented the convolution operation for an FPGA platform in order to optimize the execution time of a CNN (Convolutional Neural Network) in a microcontroller. The proposed approach was designed to perform in a specialized manner three convolutional layers of a CNN, which was trained to perform the classification of 10 classes of images present in the CIFAR-10 dataset. For comparison, two approaches were tested using an ARM CORTEX-M4 processor: without any software optimization and with optimization provided by special instructions SIMD (Single Instruction, Multiple Data) through the CMSIS-NN library. As a result, the execution time of the convolutional layers achieved in this work was up to 25% less than the fastest time using only the processor.A necessidade de executar sistemas em tempo real e sensíveis a latência levou ao desenvolvimento de um novo paradigma em relação a dominante computação em nuvem, que é chamado de edge computing. Dessa forma, o novo modelo de distribuição dos dados busca trazer o processamento e tratamento dos dados para próximo da borda da rede, motivo que leva o desenvolvimento de plataformas com processadores de baixa potência próximo a sensores e aplicações móveis. Dentro desse contexto, o crescimento do uso de algoritmos de Machine Learning e a possibilidade de transferir parte da execução desses modelos localmente, abre um leque de questões referentes a maneira de como executá-los eficientemente. Isto posto, este trabalho implementou a operação de convolução para uma plataforma FPGA com o objetivo de otimizar o tempo de execução de uma CNN (Convolutional Neural Network) em um microcontrolador. A abordagem proposta foi projetada para executar de forma especializada três camadas convolucionais de uma CNN, que foi treinada para realizar a classificação de 10 classes de imagens presentes no dataset CIFAR-10. Para comparação duas abordagens foram testadas usando um processador ARM CORTEX-M4: sem nenhuma otimização de software e com otimização fornecida por instruções especiais SIMD (Single Instruction, Multiple Data) por meio da biblioteca CMSIS-NN. Como resultado, o tempo de execução das camadas convolucionais alcançado neste trabalho foi até 25% menor em relação ao tempo mais rápido usando apenas o processador.São Cristóvão, SEporCiência da computaçãoEnsino de engenharia de computaçãoEngenharia da computaçãoFPGAAceleração de hardwareRedes neurais artificiaisHardwareHardware accelerationArtificial neural networksCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAOArchLearn : Implementação de acelerador em hardware baseado em FPGA para redes neurais artificiaisinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal de SergipeDCOMP - Departamento de Computação – Engenharia de Computação – São Cristóvão - Presencialreponame:Repositório Institucional da UFSinstname:Universidade Federal de Sergipe (UFS)instacron:UFSinfo:eu-repo/semantics/openAccessLICENSElicense.txtlicense.txttext/plain; charset=utf-81475https://ri.ufs.br/jspui/bitstream/riufs/13507/1/license.txt098cbbf65c2c15e1fb2e49c5d306a44cMD51ORIGINALGabriel_Dias_Santana.pdfGabriel_Dias_Santana.pdfapplication/pdf2964760https://ri.ufs.br/jspui/bitstream/riufs/13507/2/Gabriel_Dias_Santana.pdfd04bd0935ad5f7298749c25013628be7MD52TEXTGabriel_Dias_Santana.pdf.txtGabriel_Dias_Santana.pdf.txtExtracted texttext/plain111637https://ri.ufs.br/jspui/bitstream/riufs/13507/3/Gabriel_Dias_Santana.pdf.txt45c4956afabda0f25015bb25cdc769ebMD53THUMBNAILGabriel_Dias_Santana.pdf.jpgGabriel_Dias_Santana.pdf.jpgGenerated Thumbnailimage/jpeg1337https://ri.ufs.br/jspui/bitstream/riufs/13507/4/Gabriel_Dias_Santana.pdf.jpgc2c66c36e28d4d60e7d3b2ca37561839MD54riufs/135072021-01-12 10:03:20.774oai:ufs.br:riufs/13507TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCB2b2PDqiAobyBhdXRvcihlcykgb3UgbyB0aXR1bGFyIGRvcyBkaXJlaXRvcyBkZSBhdXRvcikgY29uY2VkZSDDoCBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBTZXJnaXBlIG8gZGlyZWl0byBuw6NvLWV4Y2x1c2l2byBkZSByZXByb2R1emlyIHNldSB0cmFiYWxobyBubyBmb3JtYXRvIGVsZXRyw7RuaWNvLCBpbmNsdWluZG8gb3MgZm9ybWF0b3Mgw6F1ZGlvIG91IHbDrWRlby4KClZvY8OqIGNvbmNvcmRhIHF1ZSBhIFVuaXZlcnNpZGFkZSBGZWRlcmFsIGRlIFNlcmdpcGUgcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZcO6ZG8sIHRyYW5zcG9yIHNldSB0cmFiYWxobyBwYXJhIHF1YWxxdWVyIG1laW8gb3UgZm9ybWF0byBwYXJhIGZpbnMgZGUgcHJlc2VydmHDp8Ojby4KClZvY8OqIHRhbWLDqW0gY29uY29yZGEgcXVlIGEgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgU2VyZ2lwZSBwb2RlIG1hbnRlciBtYWlzIGRlIHVtYSBjw7NwaWEgZGUgc2V1IHRyYWJhbGhvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIGUgcHJlc2VydmHDp8Ojby4KClZvY8OqIGRlY2xhcmEgcXVlIHNldSB0cmFiYWxobyDDqSBvcmlnaW5hbCBlIHF1ZSB2b2PDqiB0ZW0gbyBwb2RlciBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gVm9jw6ogdGFtYsOpbSBkZWNsYXJhIHF1ZSBvIGRlcMOzc2l0bywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgbsOjbyBpbmZyaW5nZSBkaXJlaXRvcyBhdXRvcmFpcyBkZSBuaW5ndcOpbS4KCkNhc28gbyB0cmFiYWxobyBjb250ZW5oYSBtYXRlcmlhbCBxdWUgdm9jw6ogbsOjbyBwb3NzdWkgYSB0aXR1bGFyaWRhZGUgZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCB2b2PDqiBkZWNsYXJhIHF1ZSBvYnRldmUgYSBwZXJtaXNzw6NvIGlycmVzdHJpdGEgZG8gZGV0ZW50b3IgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIHBhcmEgY29uY2VkZXIgw6AgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgU2VyZ2lwZSBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgbmVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3Ugbm8gY29udGXDumRvLgoKQSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBTZXJnaXBlIHNlIGNvbXByb21ldGUgYSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8gc2V1IG5vbWUocykgb3UgbyhzKSBub21lKHMpIGRvKHMpIApkZXRlbnRvcihlcykgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIGRvIHRyYWJhbGhvLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIGFsw6ltIGRhcXVlbGFzIGNvbmNlZGlkYXMgcG9yIGVzdGEgbGljZW7Dp2EuIAo=Repositório InstitucionalPUBhttps://ri.ufs.br/oai/requestrepositorio@academico.ufs.bropendoar:2021-01-12T13:03:20Repositório Institucional da UFS - Universidade Federal de Sergipe (UFS)false |
dc.title.pt_BR.fl_str_mv |
ArchLearn : Implementação de acelerador em hardware baseado em FPGA para redes neurais artificiais |
title |
ArchLearn : Implementação de acelerador em hardware baseado em FPGA para redes neurais artificiais |
spellingShingle |
ArchLearn : Implementação de acelerador em hardware baseado em FPGA para redes neurais artificiais Santana, Gabriel Dias de Ciência da computação Ensino de engenharia de computação Engenharia da computação FPGA Aceleração de hardware Redes neurais artificiais Hardware Hardware acceleration Artificial neural networks CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO |
title_short |
ArchLearn : Implementação de acelerador em hardware baseado em FPGA para redes neurais artificiais |
title_full |
ArchLearn : Implementação de acelerador em hardware baseado em FPGA para redes neurais artificiais |
title_fullStr |
ArchLearn : Implementação de acelerador em hardware baseado em FPGA para redes neurais artificiais |
title_full_unstemmed |
ArchLearn : Implementação de acelerador em hardware baseado em FPGA para redes neurais artificiais |
title_sort |
ArchLearn : Implementação de acelerador em hardware baseado em FPGA para redes neurais artificiais |
author |
Santana, Gabriel Dias de |
author_facet |
Santana, Gabriel Dias de |
author_role |
author |
dc.contributor.author.fl_str_mv |
Santana, Gabriel Dias de |
dc.contributor.advisor1.fl_str_mv |
Prado, Bruno Otávio Piedade |
contributor_str_mv |
Prado, Bruno Otávio Piedade |
dc.subject.por.fl_str_mv |
Ciência da computação Ensino de engenharia de computação Engenharia da computação FPGA Aceleração de hardware Redes neurais artificiais Hardware |
topic |
Ciência da computação Ensino de engenharia de computação Engenharia da computação FPGA Aceleração de hardware Redes neurais artificiais Hardware Hardware acceleration Artificial neural networks CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO |
dc.subject.eng.fl_str_mv |
Hardware acceleration Artificial neural networks |
dc.subject.cnpq.fl_str_mv |
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO |
description |
The need to run real-time and latency-sensitive systems has led to the development of a new paradigm in relation to dominant cloud computing, which is called edge computing. Thus, the new data distribution model seeks to bring the processing and treatment of data close to the edge of the network, a reason that leads to the development of platforms with low power processors close to sensors and mobile applications. Within this context, the growth in the use of Machine Learning algorithms and the possibility of transferring part of the execution of these models locally, opens up a range of questions regarding how to execute them efficiently. That said, this work implemented the convolution operation for an FPGA platform in order to optimize the execution time of a CNN (Convolutional Neural Network) in a microcontroller. The proposed approach was designed to perform in a specialized manner three convolutional layers of a CNN, which was trained to perform the classification of 10 classes of images present in the CIFAR-10 dataset. For comparison, two approaches were tested using an ARM CORTEX-M4 processor: without any software optimization and with optimization provided by special instructions SIMD (Single Instruction, Multiple Data) through the CMSIS-NN library. As a result, the execution time of the convolutional layers achieved in this work was up to 25% less than the fastest time using only the processor. |
publishDate |
2020 |
dc.date.accessioned.fl_str_mv |
2020-06-27T01:37:24Z |
dc.date.available.fl_str_mv |
2020-06-27T01:37:24Z |
dc.date.issued.fl_str_mv |
2020-05-29 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
format |
bachelorThesis |
status_str |
publishedVersion |
dc.identifier.citation.fl_str_mv |
Santana, Gabriel Dias de. ArchLearn : implementação de acelerador em hardware baseado em FPGA para redes neurais artificiais. São Cristóvão, 2020. Monografia (graduação em Engenharia da Computação) – Departamento de Computação, Centro de Ciências Exatas e Tecnologia, Universidade Federal de Sergipe, São Cristóvão, SE, 2020 |
dc.identifier.uri.fl_str_mv |
http://ri.ufs.br/jspui/handle/riufs/13507 |
identifier_str_mv |
Santana, Gabriel Dias de. ArchLearn : implementação de acelerador em hardware baseado em FPGA para redes neurais artificiais. São Cristóvão, 2020. Monografia (graduação em Engenharia da Computação) – Departamento de Computação, Centro de Ciências Exatas e Tecnologia, Universidade Federal de Sergipe, São Cristóvão, SE, 2020 |
url |
http://ri.ufs.br/jspui/handle/riufs/13507 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.initials.fl_str_mv |
Universidade Federal de Sergipe |
dc.publisher.department.fl_str_mv |
DCOMP - Departamento de Computação – Engenharia de Computação – São Cristóvão - Presencial |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFS instname:Universidade Federal de Sergipe (UFS) instacron:UFS |
instname_str |
Universidade Federal de Sergipe (UFS) |
instacron_str |
UFS |
institution |
UFS |
reponame_str |
Repositório Institucional da UFS |
collection |
Repositório Institucional da UFS |
bitstream.url.fl_str_mv |
https://ri.ufs.br/jspui/bitstream/riufs/13507/1/license.txt https://ri.ufs.br/jspui/bitstream/riufs/13507/2/Gabriel_Dias_Santana.pdf https://ri.ufs.br/jspui/bitstream/riufs/13507/3/Gabriel_Dias_Santana.pdf.txt https://ri.ufs.br/jspui/bitstream/riufs/13507/4/Gabriel_Dias_Santana.pdf.jpg |
bitstream.checksum.fl_str_mv |
098cbbf65c2c15e1fb2e49c5d306a44c d04bd0935ad5f7298749c25013628be7 45c4956afabda0f25015bb25cdc769eb c2c66c36e28d4d60e7d3b2ca37561839 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFS - Universidade Federal de Sergipe (UFS) |
repository.mail.fl_str_mv |
repositorio@academico.ufs.br |
_version_ |
1802110659106701312 |