Architecture optimization and design tools for CAM-based accelerators : from general-purpose to machine learning
| Ano de defesa: | 2025 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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 |