Architecture optimization and design tools for CAM-based accelerators : from general-purpose to machine learning
Visualizar/abrir
Data
2025Orientador
Nível acadêmico
Doutorado
Tipo
Assunto
Abstract
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 processin ...
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. ...
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, ...
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. ...
Instituição
Universidade Federal do Rio Grande do Sul. Instituto de Informática. Programa de Pós-Graduação em Computação.
Coleções
-
Ciências Exatas e da Terra (5213)Computação (1796)
Este item está licenciado na Creative Commons License
