Abstract
The availability and sophistication of Advanced Driver Assistance System (ADASs) are becoming increasingly important for customers when making purchasing decisions and thus also for the manufacturers of such systems. The increased demands on functionality have also increased the demands in computing power and today’s standard processors in automotive Electronic Control Unit (ECUs) struggle to provide enough computing power for those tasks. Here, heterogeneous systems, for example consisting of Central Processing Unit (CPUs), embedded Graphics Processing Unit (GPUs), and Field-Programmable Gate Array (FPGAs) provide a remedy. These heterogeneous systems, however, increase the development effort and the development costs enormously.
In this paper, we analyze the extent to which it is possible to automatically generate code with the help of a Domain-Specific Language (DSL) for typical algorithms in the field of environment perception and environment mapping. We show that with the Heterogeneous Image Processing Acceleration (Hipacc) framework it is possible to generate program code for CPUs, GPUs, and FPGAs. After that, we compare for selected algorithms the execution times of the automatically generated code with hand-written variants from the literature.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Arnold, B., Deursen, A.V., Res, M.: An algebraic specification of a language for describing financial products. In: ICSE-17 Workshop on Formal Methods Application in Software Engineering, pp. 6–13. IEEE (1995)
Bock, F., German, R., Siegl, S.: Domain-specific languages for the definition of automotive system requirements. In: Workshop CARS 2016 - Critical Automotive Applications: Robustness & Safety, September 2016. https://hal.archives-ouvertes.fr/hal-01375453
Bouzouraa, M.E.: Belegungskartenbasierte Umfeldwahrnehmung in Kombination mit objektbasierten Ansätzen für Fahrerassistenzsysteme. Dissertation, Technische Universität München, München (2012)
Bresenham, J.E.: Algorithm for computer control of a digital plotter. IBM Syst. J. 4(1), 25–30 (1965). https://doi.org/10.1147/sj.41.0025
Elfes, A.: Using occupancy grids for mobile robot perception and navigation. Computer 22(6), 46–57 (1989). https://doi.org/10.1109/2.30720
Fickenscher, J., Hannig, F., Teich, J., Bouzouraa, M.: Base algorithms of environment maps and efficient occupancy grid mapping on embedded GPUs. In: Proceedings of the 4th International Conference on Vehicle Technology and Intelligent Transport Systems (VEHITS), pp. 298–306. SciTePress, March 2018. https://doi.org/10.5220/0006677302980306
Fickenscher, J., Reiche, O., Schlumberger, J., Hannig, F., Teich, J.: Modeling, programming and performance analysis of automotive environment map representations on embedded GPUs. In: Proceedings of the 18th IEEE International High-Level Design Validation and Test Workshop (HLDVT), pp. 70–77. IEEE, October 2016. https://doi.org/10.1109/HLDVT.2016.7748257
Fickenscher, J., Schlumberger, J., Hannig, F., Teich, J., Bouzouraa, M.: Cell-based update algorithm for occupancy grid maps and hybrid map for ADAS on embedded GPUs. In: Proceedings of the Conference on Design, Automation and Test in Europe (DATE), pp. 443–448. EDAA, March 2018. https://doi.org/10.23919/DATE.2018.8342050
Frigo, M., Johnson, S.G.: The design and implementation of FFTW3. Proc. IEEE 93(2), 216–231 (2005). https://doi.org/10.1109/JPROC.2004.840301
Gill, A.: AFrame: a domain specific language for virtual reality. In: Proceedings of the 2nd International Workshop on Real World Domain Specific Languages (RWDSL), p. 4:1. ACM (2017). https://doi.org/10.1145/3039895.3039899
Hannig, F., Ruckdeschel, H., Dutta, H., Teich, J.: PARO: synthesis of hardware accelerators for multi-dimensional dataflow-intensive applications. In: Woods, R., Compton, K., Bouganis, C., Diniz, P.C. (eds.) ARC 2008. LNCS, vol. 4943, pp. 287–293. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78610-8_30
Harris, C., Stephens, M.: A combined corner and edge detector. In: Proceedings of Fourth Alvey Vision Conference, pp. 147–151 (1988)
Hegarty, J., et al.: Darkroom: compiling high-level image processing code into hardware pipelines. ACM Trans. Graph. 33(4), 144:1–144:11 (2014). https://doi.org/10.1145/2601097.2601174
Kalman, R.E.: A new approach to linear filtering and prediction problems. Trans. ASME J. Basic Eng. 82(Series D), 35–45 (1960)
Kuo, Y.C., Fu, C.M., Tsai, C.T., Lin, C.C., Chang, G.H.: Pedestrian collision warning of advanced driver assistance systems. In: International Symposium on Computer, Consumer and Control (IS3C), pp. 740–743, July 2016. https://doi.org/10.1109/IS3C.2016.189
Kuo, Y.C., Pai, N.S., Li, Y.F.: Vision-based vehicle detection for a driver assistance system. Comput. Math. Appl. 61(8), 2096–2100 (2011). https://doi.org/10.1016/j.camwa.2010.08.081
Membarth, R., Reiche, O., Hannig, F., Teich, J., Körner, M., Eckert, W.: HIPAcc: a domain-specific language and compiler for image processing. IEEE Trans. Parallel Distrib. Syst. 27(1), 210–224 (2016). https://doi.org/10.1109/TPDS.2015.2394802
Pu, C., Black, A., Cowan, C., Walpole, J.: Microlanguages for operating system specialization. In: Proceedings of the SIGPLAN Workshop on Domain-Specific Languages. ACM, January 1997
Reiche, O., Özkan, M., Membarth, R., Teich, J., Hannig, F.: Generating FPGA-based image processing accelerators with Hipacc. In: Proceedings of the International Conference on Computer Aided Design (ICCAD), pp. 1026–1033. IEEE, November 2017. https://doi.org/10.1109/ICCAD.2017.8203894
Schmitt, C., Kuckuk, S., Hannig, F., Köstler, H., Teich, J.: ExaSlang: a domain-specific language for highly scalable multigrid solvers. In: Proceedings of the 4th International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing (WOLFHPC), pp. 42–51. IEEE Computer Society, November 2014. https://doi.org/10.1109/WOLFHPC.2014.11
Thrun, S., Burgard, W., Fox, D.: Probabilistic Robotics. The MIT Press, Cambridge and London (2005)
Sujeeth, A.K., et al.: OptiML: an implicitly parallel domain-specific language for machine learning. In: Proceedings of the 28th International Conference on International Conference on Machine Learning (ICML), pp. 609–616. Omnipress (2011)
Voelter, M., Ratiu, D., Kolb, B., Schaetz, B.: mbeddr: instantiating a language workbench in the embedded software domain. Autom. Softw. Eng. 20(3), 339–390 (2013). https://doi.org/10.1007/s10515-013-0120-4
Williams, S., Waterman, A., Patterson, D.: Roofline: an insightful visual performance model for multicore architectures. Commun. ACM 52(4), 65–76 (2009). https://doi.org/10.1145/1498765.1498785
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Fickenscher, J., Hannig, F., Teich, J. (2019). DSL-Based Acceleration of Automotive Environment Perception and Mapping Algorithms for Embedded CPUs, GPUs, and FPGAs. In: Schoeberl, M., Hochberger, C., Uhrig, S., Brehm, J., Pionteck, T. (eds) Architecture of Computing Systems – ARCS 2019. ARCS 2019. Lecture Notes in Computer Science(), vol 11479. Springer, Cham. https://doi.org/10.1007/978-3-030-18656-2_6
Download citation
DOI: https://doi.org/10.1007/978-3-030-18656-2_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-18655-5
Online ISBN: 978-3-030-18656-2
eBook Packages: Computer ScienceComputer Science (R0)