Optimization of a line detection algorithm for autonomous vehicles on a RISC-V with accelerator
- María José Belda 1
- Katzalin Olcoz 1
- Fernando Castro 1
- Francisco Tirado 1
- 1 Complutense University of Madrid, Spain
ISSN: 1666-6038
Año de publicación: 2022
Volumen: 22
Número: 2
Tipo: Artículo
Otras publicaciones en: Journal of Computer Science and Technology
Resumen
En los últimos años los vehículos autónomos están atrayendo la atención de muchos grupos de investigación, tanto del ámbito académico como del empresarial, entre los que se incluyen investigadores pertenecientes a empresas punteras como Google, Uber o Tesla. Los sistemas de los que están dotados este tipo de vehículos están sometidos a requisitos muy estrictos relacionados esencialmente con la realización de operaciones seguras, tanto para los potenciales pasajeros como para los peatones, así como con que el procesamiento necesario para la toma de decisiones se realice en tiempo real. En muchas ocasiones, los procesadores de propósito general no pueden por sí solos garantizar el cumplimiento de estos requisitos de seguridad, fiabilidad y tiempo real, por lo que es común implementar sistemas heterogéneos mediante la inclusión de aceleradores. En este artículo se explora la aceleración de una aplicación de detección de líneas en el entorno de vehículos autónomos utilizando para ello un sistema heterogéneo formado por un core RISC-V de propósito general y un acelerador de dominio específico. En particular, se analiza dicha aplicación para identificar las partes del código más costosas computacionalmente y se adapta el código para un procesamiento más eficiente. Además, se ejecuta dicho código en la mencionada plataforma hardware y se comprueba que su procesamiento efectivamente cumple con los requisitos presentes en los vehículos autónomos, experimentando una reducción de 3.7x en su tiempo de ejecución con respecto a su ejecución sin acelerador
Referencias bibliográficas
- S.-C. Lin et al., “The architectural implications of autonomous driving: Constraints and acceleration,” in Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’18, p. 751–766, 2018.
- S. Kato, E. Takeuchi, Y. Ishiguro, Y. Ninomiya, K. Takeda, and T. Hamada, “An open approach to autonomous vehicles,” IEEE Micro, vol. 35, pp. 60–68, 11 2015.
- P. Bose, A. J. Vega, S. V. Adve, V. S. Adve, and V. J. Reddi, “Secure and resilient socs for autonomous vehicles,” in Proceedings of the 3rd International Workshop on Domain Specific System Architecture (DOSSA), pp. 1–6, 2021.
- B. Yu et al., “Building the computing system for autonomous micromobility vehicles: Design constraints and architectural optimizations,” in Proceedings of 53rd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), pp. 1067–1081, 2020.
- J. Zhao, B. Korpan, A. Gonzalez, and K. Asanovic, “Sonicboom: The 3rd generation berkeley out-of-order machine,” in Proceedings of the 4th Workshop on Computer Architecture Research with RISC-V (CARRV), pp. 1–7, 2020.
- H. Genc et al., “Gemmini: Enabling systematic deeplearning architecture evaluation via full-stack integration,” in Proceedings of the 58th Annual Design Automation Conference (DAC), pp. 769–774, 2021.
- “The 6 levels of vehicle autonomy explained.” Available at: https://www.synopsys.com/automotive/autonomous-driving-levels.html. Accessed on 2022-09-07.
- O. Vermesan et al., IoT technologies for connected and automated driving applications. Internet of Things - The Call of the Edge, pp. 306–332. River Publishers, Oct. 2020.
- R. Coppola and M. Morisio, “Connected car: technologies, issues, future trends,” ACM Computing Surveys (CSUR), vol. 49, no. 3, pp. 1–36, 2016.
- T. Rateke et al., “Passive vision region-based road detection: A literature review,” ACM Computing Surveys (CSUR), vol. 52, no. 2, pp. 1–34, 2019.
- F. Bounini, D. Gingras, V. Lapointe, and H. Pollart, “Autonomous vehicle and real time road lanes detection and tracking,” in IEEE Vehicle Power and Propulsion Conference (VPPC), pp. 1–6, 2015.
- G. Zhang, N. Zheng, C. Cui, Y. Yan, and Z. Yuan, “An efficient road detection method in noisy urban environment,” in Proceedings of IEEE Intelligent Vehicles Symposium, pp. 556 – 561, 2009.
- A. Amid et al., “Chipyard: Integrated design, simulation, and implementation framework for custom socs,” IEEE Micro, vol. 40, no. 4, pp. 10–21, 2020.
- S. Karandikar et al., “Firesim: Fpga-accelerated cycleexact scale-out system simulation in the public cloud,” in Proceedings of ACM/IEEE 45th Annual International Symposium on Computer Architecture (ISCA), pp. 29–42, 2018.
- “Amazon web services (aws).” Available at: https://aws.amazon.com/es, 2021. Accessed on 2022-09-07.
- K. Asanovic et al., “The rocket chip generator. eecs department,” University of California, Berkeley, Tech. Rep. UCB/EECS-2016-17, vol. 4, 2016.
- J. F. Canny, “Finding edges and lines in images,” Theory of Computing Systems - Mathematical Systems Theory, p. 16, 1983.
- R. O. Duda and P. E. Hart, “Use of the hough transformation to detect lines and curves in pictures,” Communications of the ACM, vol. 15, no. 1, p. 11–15, 1972.
- M. J. Belda, “Image processing in autonomous vehicles on a risc-v with accelerator,” Master Thesis, UCM, 2022.
- A. Magyar et al., “Golden gate: Bridging the resourceefficiency gap between asics and fpga prototypes,” in Proceedings of IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pp. 1–8, 2019.