Computação Aproximada em nível de instruções do processador RISC-V
Resumo
Devido ao aumento da demanda por processamento eficiente, a Computação Aproximada (CA) mostrou-se uma alternativa promissora para otimizar o consumo energético, permitindo maior flexibilidade em aplicações de alto desempenho. Este trabalho investigou o impacto do uso de instruções aproximadas em processadores RISC-V sobre o consumo de energia. Os experimentos sobre cinco aplicações constataram que a CA pode proporcionar ganhos significativos em termos de eficiência energética, com acurácia mínima de 25%. Sugerindo que CA é uma promissora abordagem para otimizar o consumo de energia em sistemas embarcados e dispositivos móveis, beneficiando o desenvolvimento de sistemas mais eficientes e sustentáveis.Referências
Catelan, D., Santos, R., and Duenha, L. (2020). Accuracy and physical characterization of approximate arithmetic circuits. In Anais do XXI Simpósio em Sistemas Computacionais de Alto Desempenho, pages 143–154. SBC.
Catelan, D., Santos, R., and Duenha, L. (2023). Evaluation and characterization of approximate arithmetic circuits. Concurrency and Computation: Practice and Experience, 35(17):e6865.
Chippa, V. K., Chakradhar, S. T., Roy, K., and Raghunathan, A. (2013). Analysis and characterization of inherent application resilience for approximate computing. In Proceedings of the 50th Annual Design Automation Conference, pages 1–9.
Esmaeilzadeh, H., Sampson, A., Ceze, L., and Burger, D. (2012). Neural acceleration for general-purpose approximate programs. In 2012 45th annual IEEE/ACM international symposium on microarchitecture, pages 449–460. IEEE.
Felzmann, I., Filho, J. F., and Wanner, L. (2020). Risk-5: Controlled approximations for risc-v. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 39(11):4052–4063.
Felzmann, I., Filho, J. F., and Wanner, L. (2021). Axpike: Instruction-level injection and evaluation of approximate computing. In 2021 Design, Automation & Test in Europe Conference and Exhibition (DATE), pages 491–494.
Hoffmann, H., Misailovic, S., Sidiroglou, S., Agarwal, A., and Rinard, M. (2009). Using code perforation to improve performance, reduce energy consumption, and respond to failures.
Jiang, H., Santiago, F. J. H., Mo, H., Liu, L., and Han, J. (2020). Approximate arithmetic circuits: A survey, characterization, and recent applications. Proceedings of the IEEE, 108(12):2108–2135.
Misailovic, S., Sidiroglou, S., Hoffmann, H., and Rinard, M. (2010). Quality of service profiling. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering-Volume 1, pages 25–34.
Mittal, S. (2016). A survey of techniques for approximate computing. ACM Computing Surveys (CSUR), 48(4):1–33.
Samadi, M., Lee, J., Jamshidi, D. A., Hormati, A., and Mahlke, S. (2013). Sage: Self-tuning approximation for graphics engines. In Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture, pages 13–24.
Sampson, A., Dietl, W., Fortuna, E., Gnanapragasam, D., Ceze, L., and Grossman, D. (2011). Enerj: Approximate data types for safe and general low-power computation. ACM SIGPLAN Notices, 46(6):164–174.
Sampson, A., Nelson, J., Strauss, K., and Ceze, L. (2014). Approximate storage in solid-state memories. ACM Transactions on Computer Systems (TOCS), 32(3):1–23.
Silveira, J., Castro, L., Araújo, V., Zeli, R., Lazari, D., Guedes, M., Azevedo, R., and Wanner, L. (2022). Prof5: A risc-v profiler tool. In 2022 IEEE 34th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD), pages 201–210. IEEE.
St. Amant, R., Yazdanbakhsh, A., Park, J., Thwaites, B., Esmaeilzadeh, H., Hassibi, A., Ceze, L., and Burger, D. (2014). General-purpose code acceleration with limited-precision analog computation. ACM SIGARCH Computer Architecture News, 42(3):505–516.
Xu, Q., Mytkowicz, T., and Kim, N. S. (2015). Approximate computing: A survey. IEEE Design & Test, 33(1):8–22.
Ye, R., Wang, T., Yuan, F., Kumar, R., and Xu, Q. (2013). On reconfiguration-oriented approximate adder design and its application. In 2013 IEEE/ACM international conference on computer-aided design (ICCAD), pages 48–54. IEEE.
Zhang, Q., Yuan, F., Ye, R., and Xu, Q. (2014). Approxit: An approximate computing framework for iterative methods. In Proceedings of the 51st Annual Design Automation Conference, pages 1–6.
Catelan, D., Santos, R., and Duenha, L. (2023). Evaluation and characterization of approximate arithmetic circuits. Concurrency and Computation: Practice and Experience, 35(17):e6865.
Chippa, V. K., Chakradhar, S. T., Roy, K., and Raghunathan, A. (2013). Analysis and characterization of inherent application resilience for approximate computing. In Proceedings of the 50th Annual Design Automation Conference, pages 1–9.
Esmaeilzadeh, H., Sampson, A., Ceze, L., and Burger, D. (2012). Neural acceleration for general-purpose approximate programs. In 2012 45th annual IEEE/ACM international symposium on microarchitecture, pages 449–460. IEEE.
Felzmann, I., Filho, J. F., and Wanner, L. (2020). Risk-5: Controlled approximations for risc-v. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 39(11):4052–4063.
Felzmann, I., Filho, J. F., and Wanner, L. (2021). Axpike: Instruction-level injection and evaluation of approximate computing. In 2021 Design, Automation & Test in Europe Conference and Exhibition (DATE), pages 491–494.
Hoffmann, H., Misailovic, S., Sidiroglou, S., Agarwal, A., and Rinard, M. (2009). Using code perforation to improve performance, reduce energy consumption, and respond to failures.
Jiang, H., Santiago, F. J. H., Mo, H., Liu, L., and Han, J. (2020). Approximate arithmetic circuits: A survey, characterization, and recent applications. Proceedings of the IEEE, 108(12):2108–2135.
Misailovic, S., Sidiroglou, S., Hoffmann, H., and Rinard, M. (2010). Quality of service profiling. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering-Volume 1, pages 25–34.
Mittal, S. (2016). A survey of techniques for approximate computing. ACM Computing Surveys (CSUR), 48(4):1–33.
Samadi, M., Lee, J., Jamshidi, D. A., Hormati, A., and Mahlke, S. (2013). Sage: Self-tuning approximation for graphics engines. In Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture, pages 13–24.
Sampson, A., Dietl, W., Fortuna, E., Gnanapragasam, D., Ceze, L., and Grossman, D. (2011). Enerj: Approximate data types for safe and general low-power computation. ACM SIGPLAN Notices, 46(6):164–174.
Sampson, A., Nelson, J., Strauss, K., and Ceze, L. (2014). Approximate storage in solid-state memories. ACM Transactions on Computer Systems (TOCS), 32(3):1–23.
Silveira, J., Castro, L., Araújo, V., Zeli, R., Lazari, D., Guedes, M., Azevedo, R., and Wanner, L. (2022). Prof5: A risc-v profiler tool. In 2022 IEEE 34th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD), pages 201–210. IEEE.
St. Amant, R., Yazdanbakhsh, A., Park, J., Thwaites, B., Esmaeilzadeh, H., Hassibi, A., Ceze, L., and Burger, D. (2014). General-purpose code acceleration with limited-precision analog computation. ACM SIGARCH Computer Architecture News, 42(3):505–516.
Xu, Q., Mytkowicz, T., and Kim, N. S. (2015). Approximate computing: A survey. IEEE Design & Test, 33(1):8–22.
Ye, R., Wang, T., Yuan, F., Kumar, R., and Xu, Q. (2013). On reconfiguration-oriented approximate adder design and its application. In 2013 IEEE/ACM international conference on computer-aided design (ICCAD), pages 48–54. IEEE.
Zhang, Q., Yuan, F., Ye, R., and Xu, Q. (2014). Approxit: An approximate computing framework for iterative methods. In Proceedings of the 51st Annual Design Automation Conference, pages 1–6.
Publicado
07/11/2024
Como Citar
SOVERNIGO, Felipe; KOSLINSKI NETO, Gregório; GARABINI, Gislayne; DUENHA, Liana.
Computação Aproximada em nível de instruções do processador RISC-V. In: ESCOLA REGIONAL DE ALTO DESEMPENHO DO CENTRO-OESTE (ERAD-CO), 7. , 2024, Brasília/DF.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2024
.
p. 16-20.
DOI: https://doi.org/10.5753/eradco.2024.4533.