Architecture optimization and design tools for CAM-based accelerators : from general-purpose to machine learning

Detalhes bibliográficos
Ano de defesa: 2025
Autor(a) principal: Lima, João Paulo Cardoso de
Orientador(a): Carro, Luigi
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Não Informado pela instituição
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Palavras-chave em Inglês:
Link de acesso: http://hdl.handle.net/10183/291703
Resumo: A integração de IA/ML em diversas áreas tem sido impulsionada pela vasta quantidade de dados acumulados ao longo dos últimos anos. No entanto, as aplicações centradas em dados são tipicamente energeticamente ineficientes por conta das limitações dos atuais modelos de computação baseados na arquitetura de von Neumann. À medida que os volumes de dados continuam aumentando, a demanda por poder de computação também cresce, motivando a busca por sistemas mais eficientes. Em resposta a essa demanda, o processamento centrado nos dados, também conhecido como computação em memória (CIM), busca minimizar a transferência de dados ao realizar cálculos na localização mais apropriada na hierarquia de memória. Tecnologias de memória emergentes e hardware inspirado no cérebro surgiram como soluções promissoras, oferecendo menor consumo de energia, alto paralelismo e a emulação de uma variedade de primitivas computacionais diretamente no dispositivo de memória. As Memórias Endereçáveis por Conteúdo (CAMs) são estruturas de armazenamento versáteis inspiradas na estrutura associativa do cérebro, acessando dados com base no conteúdo em vez de sua localização. Esta tese fornece uma visão abrangente das CAMs, explorando sua evolução, pontos fortes, desafios e aplicações em sistemas de CIM. Para demonstrar sua versatilidade e potencial para o avanço do processamento orientado a dados, este trabalho usa CAMs para implementar de maneira eficiente uma variedade de primitivas computacionais cruciais. Através de design e avaliação em múltiplos níveis, esta tese apresenta transformações e soluções de mapeamento adaptadas às características e limitações específicas de cada tecnologia de memória emergente, como RRAM e spintronics. Para automatizar essas otimizações, foram desenvolvidas ferramentas de design para mapear diversas aplicações em sistemas reconfiguráveis baseados em CAMs, destacando sua versatilidade na implementação de lógica reconfigurável, processamento associativo, processamento de autômatos, busca por similaridade e acceleradores de produto escalar, tornando-os altamente aplicáveis ao domínio de IA/ML. Em última análise, nossos esforços visam facilitar a integração de otimizações específicas do dispositivo em frameworks de compiladores adaptados para sistemas CAM, aprimorando assim a programabilidade dos sistemas CIM.
id URGS_e028861083fa95a7b6a0f168b7e3abfd
oai_identifier_str oai:www.lume.ufrgs.br:10183/291703
network_acronym_str URGS
network_name_str Biblioteca Digital de Teses e Dissertações da UFRGS
repository_id_str
spelling Lima, João Paulo Cardoso deCarro, Luigi2025-05-15T06:51:19Z2025http://hdl.handle.net/10183/291703001257094A integração de IA/ML em diversas áreas tem sido impulsionada pela vasta quantidade de dados acumulados ao longo dos últimos anos. No entanto, as aplicações centradas em dados são tipicamente energeticamente ineficientes por conta das limitações dos atuais modelos de computação baseados na arquitetura de von Neumann. À medida que os volumes de dados continuam aumentando, a demanda por poder de computação também cresce, motivando a busca por sistemas mais eficientes. Em resposta a essa demanda, o processamento centrado nos dados, também conhecido como computação em memória (CIM), busca minimizar a transferência de dados ao realizar cálculos na localização mais apropriada na hierarquia de memória. Tecnologias de memória emergentes e hardware inspirado no cérebro surgiram como soluções promissoras, oferecendo menor consumo de energia, alto paralelismo e a emulação de uma variedade de primitivas computacionais diretamente no dispositivo de memória. As Memórias Endereçáveis por Conteúdo (CAMs) são estruturas de armazenamento versáteis inspiradas na estrutura associativa do cérebro, acessando dados com base no conteúdo em vez de sua localização. Esta tese fornece uma visão abrangente das CAMs, explorando sua evolução, pontos fortes, desafios e aplicações em sistemas de CIM. Para demonstrar sua versatilidade e potencial para o avanço do processamento orientado a dados, este trabalho usa CAMs para implementar de maneira eficiente uma variedade de primitivas computacionais cruciais. Através de design e avaliação em múltiplos níveis, esta tese apresenta transformações e soluções de mapeamento adaptadas às características e limitações específicas de cada tecnologia de memória emergente, como RRAM e spintronics. Para automatizar essas otimizações, foram desenvolvidas ferramentas de design para mapear diversas aplicações em sistemas reconfiguráveis baseados em CAMs, destacando sua versatilidade na implementação de lógica reconfigurável, processamento associativo, processamento de autômatos, busca por similaridade e acceleradores de produto escalar, tornando-os altamente aplicáveis ao domínio de IA/ML. Em última análise, nossos esforços visam facilitar a integração de otimizações específicas do dispositivo em frameworks de compiladores adaptados para sistemas CAM, aprimorando assim a programabilidade dos sistemas CIM.The integration of AI/ML methods across various domains has been fueled by the vast amount of accumulated data over the past years. However, the energy-intensive nature of data-centric applications, compounded by the limitations of current computing models rooted in von Neumann’s design principle, poses significant challenges. As data volumes continue to rise, the demand for compute power escalates, necessitating the exploration of energy-efficient platforms. In response, data-centric processing, also known as computing-in-memory (CIM), seeks to minimize data movement by computing at the most appropriate location in the memory hierarchy. Emerging memory technologies and brain-inspired hardware have emerged as promising solutions, offering reduced power consumption, high parallelism, and the emulation of a variety of computational primitives at the memory device. Content-Addressable Memories (CAMs) are versatile storage structures inspired by the brain’s associative structure, accessing memory based on content rather than location. This thesis provides a comprehensive overview of CAMs, exploring their evolution, strengths, challenges, and applications within CIM systems. Demonstrating their versatility, we employ CAMs to efficiently implement a variety of crucial compute primitives, in both exact and approximate manner, underscoring their potential for advancing data-driven processing. Through cross-level design and evaluation, we identify efficient transformations and mapping solutions, tailored to technology-specific characteristics and limitations. Then, we present hardware/software co-optimization techniques applied to non-volatile CAMs, considering intrinsic characteristics of emerging technologies like RRAM, FeFET, and spintronics. To automate these optimizations, we develop design tools for seamless integration with CAM-based simulated systems. We highlight the versatility of CAM-based systems in efficiently implementing reconfigurable logic, associative processing, automata processing, similarity search, and dot-product engines, making them highly applicable to AI/ML workloads. Ultimately, our efforts aim to facilitate the integration of device-specific optimizations into compiler frameworks tailored for CAM systems, thereby enhancing the programmability of CIM systems.application/pdfengComputação na memóriaMemória de conteúdo endereçávelSistemas reconfiguráveisAprendizado de máquinaProcessamento de dadosMemória não volátilReconfigurable computingAssociative processingDesign toolsEmerging non-volatile memoryArchitecture optimization and design tools for CAM-based accelerators : from general-purpose to machine learninginfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPrograma de Pós-Graduação em ComputaçãoPorto Alegre, BR-RS2025doutoradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001257094.pdf.txt001257094.pdf.txtExtracted Texttext/plain324741http://www.lume.ufrgs.br/bitstream/10183/291703/2/001257094.pdf.txtb830a66cba0e839b04e210b040d20ddcMD52ORIGINAL001257094.pdfTexto completo (inglês)application/pdf3468689http://www.lume.ufrgs.br/bitstream/10183/291703/1/001257094.pdfa4abe0dd6d61b6d6c726e0fdaf478ca7MD5110183/2917032025-05-16 06:54:12.845737oai:www.lume.ufrgs.br:10183/291703Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br || lume@ufrgs.bropendoar:18532025-05-16T09:54:12Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Architecture optimization and design tools for CAM-based accelerators : from general-purpose to machine learning
title Architecture optimization and design tools for CAM-based accelerators : from general-purpose to machine learning
spellingShingle Architecture optimization and design tools for CAM-based accelerators : from general-purpose to machine learning
Lima, João Paulo Cardoso de
Computação na memória
Memória de conteúdo endereçável
Sistemas reconfiguráveis
Aprendizado de máquina
Processamento de dados
Memória não volátil
Reconfigurable computing
Associative processing
Design tools
Emerging non-volatile memory
title_short Architecture optimization and design tools for CAM-based accelerators : from general-purpose to machine learning
title_full Architecture optimization and design tools for CAM-based accelerators : from general-purpose to machine learning
title_fullStr Architecture optimization and design tools for CAM-based accelerators : from general-purpose to machine learning
title_full_unstemmed Architecture optimization and design tools for CAM-based accelerators : from general-purpose to machine learning
title_sort Architecture optimization and design tools for CAM-based accelerators : from general-purpose to machine learning
author Lima, João Paulo Cardoso de
author_facet Lima, João Paulo Cardoso de
author_role author
dc.contributor.author.fl_str_mv Lima, João Paulo Cardoso de
dc.contributor.advisor1.fl_str_mv Carro, Luigi
contributor_str_mv Carro, Luigi
dc.subject.por.fl_str_mv Computação na memória
Memória de conteúdo endereçável
Sistemas reconfiguráveis
Aprendizado de máquina
Processamento de dados
Memória não volátil
topic Computação na memória
Memória de conteúdo endereçável
Sistemas reconfiguráveis
Aprendizado de máquina
Processamento de dados
Memória não volátil
Reconfigurable computing
Associative processing
Design tools
Emerging non-volatile memory
dc.subject.eng.fl_str_mv Reconfigurable computing
Associative processing
Design tools
Emerging non-volatile memory
description A integração de IA/ML em diversas áreas tem sido impulsionada pela vasta quantidade de dados acumulados ao longo dos últimos anos. No entanto, as aplicações centradas em dados são tipicamente energeticamente ineficientes por conta das limitações dos atuais modelos de computação baseados na arquitetura de von Neumann. À medida que os volumes de dados continuam aumentando, a demanda por poder de computação também cresce, motivando a busca por sistemas mais eficientes. Em resposta a essa demanda, o processamento centrado nos dados, também conhecido como computação em memória (CIM), busca minimizar a transferência de dados ao realizar cálculos na localização mais apropriada na hierarquia de memória. Tecnologias de memória emergentes e hardware inspirado no cérebro surgiram como soluções promissoras, oferecendo menor consumo de energia, alto paralelismo e a emulação de uma variedade de primitivas computacionais diretamente no dispositivo de memória. As Memórias Endereçáveis por Conteúdo (CAMs) são estruturas de armazenamento versáteis inspiradas na estrutura associativa do cérebro, acessando dados com base no conteúdo em vez de sua localização. Esta tese fornece uma visão abrangente das CAMs, explorando sua evolução, pontos fortes, desafios e aplicações em sistemas de CIM. Para demonstrar sua versatilidade e potencial para o avanço do processamento orientado a dados, este trabalho usa CAMs para implementar de maneira eficiente uma variedade de primitivas computacionais cruciais. Através de design e avaliação em múltiplos níveis, esta tese apresenta transformações e soluções de mapeamento adaptadas às características e limitações específicas de cada tecnologia de memória emergente, como RRAM e spintronics. Para automatizar essas otimizações, foram desenvolvidas ferramentas de design para mapear diversas aplicações em sistemas reconfiguráveis baseados em CAMs, destacando sua versatilidade na implementação de lógica reconfigurável, processamento associativo, processamento de autômatos, busca por similaridade e acceleradores de produto escalar, tornando-os altamente aplicáveis ao domínio de IA/ML. Em última análise, nossos esforços visam facilitar a integração de otimizações específicas do dispositivo em frameworks de compiladores adaptados para sistemas CAM, aprimorando assim a programabilidade dos sistemas CIM.
publishDate 2025
dc.date.accessioned.fl_str_mv 2025-05-15T06:51:19Z
dc.date.issued.fl_str_mv 2025
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/291703
dc.identifier.nrb.pt_BR.fl_str_mv 001257094
url http://hdl.handle.net/10183/291703
identifier_str_mv 001257094
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Biblioteca Digital de Teses e Dissertações da UFRGS
collection Biblioteca Digital de Teses e Dissertações da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/291703/2/001257094.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/291703/1/001257094.pdf
bitstream.checksum.fl_str_mv b830a66cba0e839b04e210b040d20ddc
a4abe0dd6d61b6d6c726e0fdaf478ca7
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv lume@ufrgs.br || lume@ufrgs.br
_version_ 1846255902710038528