Advertisement

DSL-Based Acceleration of Automotive Environment Perception and Mapping Algorithms for Embedded CPUs, GPUs, and FPGAs

  • Jörg FickenscherEmail author
  • Frank Hannig
  • Jürgen Teich
Conference paper
  • 552 Downloads
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11479)

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.

Keywords

Advanced Driver Assistance Systems Domain-specific languages Code generation 

References

  1. 1.
    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)Google Scholar
  2. 2.
    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
  3. 3.
    Bouzouraa, M.E.: Belegungskartenbasierte Umfeldwahrnehmung in Kombination mit objektbasierten Ansätzen für Fahrerassistenzsysteme. Dissertation, Technische Universität München, München (2012)Google Scholar
  4. 4.
    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.0025CrossRefGoogle Scholar
  5. 5.
    Elfes, A.: Using occupancy grids for mobile robot perception and navigation. Computer 22(6), 46–57 (1989).  https://doi.org/10.1109/2.30720CrossRefGoogle Scholar
  6. 6.
    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
  7. 7.
    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
  8. 8.
    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
  9. 9.
    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.840301CrossRefGoogle Scholar
  10. 10.
    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
  11. 11.
    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_30CrossRefGoogle Scholar
  12. 12.
    Harris, C., Stephens, M.: A combined corner and edge detector. In: Proceedings of Fourth Alvey Vision Conference, pp. 147–151 (1988)Google Scholar
  13. 13.
    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
  14. 14.
    Kalman, R.E.: A new approach to linear filtering and prediction problems. Trans. ASME J. Basic Eng. 82(Series D), 35–45 (1960)CrossRefGoogle Scholar
  15. 15.
    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
  16. 16.
    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.081CrossRefGoogle Scholar
  17. 17.
    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.2394802CrossRefGoogle Scholar
  18. 18.
    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 1997Google Scholar
  19. 19.
    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
  20. 20.
    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
  21. 21.
    Thrun, S., Burgard, W., Fox, D.: Probabilistic Robotics. The MIT Press, Cambridge and London (2005)Google Scholar
  22. 22.
    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)Google Scholar
  23. 23.
    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-4CrossRefGoogle Scholar
  24. 24.
    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.1498785CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Hardware/Software Co-Design, Department of Computer ScienceFriedrich-Alexander University Erlangen-Nürnberg (FAU)ErlangenGermany

Personalised recommendations