Your browser does not support JavaScript!
http://iet.metastore.ingenta.com
1887

access icon free Single instruction multiple data code auto generation for a very long instruction words digital signal processor in sensor-based systems

The emerging applications have imposed strong requirements, such as high processing capacity, low-power consumption, reduced size and many others, on the sensor-based systems. Owing to their balanced combination of flexibility and hardware performance, digital signal processors (DSPs) have become more and more popular used in sensor-based systems. Many DSPs have adopted very long instruction words (VLIW) style architecture, for its ability to greatly enhance instruction level parallelism. However, as VLIW codes are statically scheduled, the behaviour of VLIW architecture is dominated by the efficiency of its compiler. Single instruction multiple data (SIMD) instructions, which perform multiple operations in parallel on multiple data packed in registers, have been widely used in DSPs to meet the requirements of sensor-based systems. Although hand programming still yields the best performing SIMD codes, it is both time consuming and error prone. Advanced compiler techniques to automatically generate SIMD instructions, are under urgent demand. In this study, the authors proposed an SIMD code auto generation approach for VLIW architecture. It recognises candidates of operations in the intermediate representation, evaluates the possibility of grouping them into SIMD code, reconstructs the verified ones according to the cost model and finally generates the SIMD code. The authors have implemented this approach in the compiler of a VLIW DSP named Magnolia, which is designed for sensor-based systems. The results show that the authors’ approach is very efficient, and can largely enhance the performance.

References

    1. 1)
      • 16. Kudriavtsev, A., Kogge, P.: ‘Generation of permutations for SIMD processors’. Proc. Languages, Compilers and Tools for Embedded Systems (LCTES), 2005.
    2. 2)
      • 10. Eichenberger, A.E., Wu, P., O'Brien, K.: ‘Vectorization for SIMD architectures with alignment constraints’. PLDI '04: Proc. ACM SIGPLAN 2004 Conf. Programming Language Design and Implementation, 2004, pp. 8293.
    3. 3)
      • 2. Robelly, J.P., Cichon, G., Seidel, H., Fettweis, G.: ‘Automatic code generation for SIMD DSP architectures: an algebraic approach’. Int. Conf. Parallel Computing in Electrical Engineering (PARELEC 2004), 2004, pp. 372375.
    4. 4)
      • 19. The Gem5 Simulator System: A modular platform for computer system architecture research. Available online at http://gem5.org/Main_Page (accessed on 30 March 2012).
    5. 5)
      • 6. Bik, A.J.C., Girkar, M., Grey, P.M., Tian, X.: ‘Automatic intraregister vectorization for the intel@ architecture’, Int. J. Parallel Program., 2002, 30, (2), pp. 6598 (doi: 10.1023/A:1014230429447).
    6. 6)
      • 4. Feanchetti, F., Puschel, M.: ‘A SIMD vectorizing compiler for digital signal processing algorithms’. Proc. Int. Parallel and Distributed Processing Symp. (IPDPS 2002), Abstracts and CD-ROM, 2002, pp. 2026.
    7. 7)
      • 18. Zivojnovic, V., Velarde, J.M., Schlarger, C., Meyr, H.: ‘DSPstone: A DSP-oriented benchmarking methodology’. Proc. Fifth Int. Conf. Signal Processing Applications and Technology, 1994, pp. 715720.
    8. 8)
      • 12. Larsen, S., Amarasinghe, S.: ‘Exploiting superword level parallelism with multimedia instruction sets’. Proc. Programming Language Design and Implementation (PLDI), 2000.
    9. 9)
      • 7. Nuzman, D., Rosen, I., Zaks, A.: ‘Auto-vectorization of interleaved data for SIMD’. PLDI '06: Proc. 2006 ACM SIGPLAN Conf. Programming Language Design and Implementation, 2006, pp. 132143.
    10. 10)
      • 13. Wu, P., Eichenberger, A.E., Wang, A.: ‘Efficient SIMD code generation for runtime alignment and length conversion’. Int. Symp. Code Generation and Optimization 2005 (CGO 2005), 2005, pp. 15364.
    11. 11)
      • 9. Schafer, B.C., Lee, Y., Kim, T.: ‘Temperature-aware compilation for VLIW processors’. Proc. 13th IEEE Int. Conf. Embedded and Real-Time Computing Systems and Applications (RTCSA 2007), Daegu, Korea, 21–24 August 2007, pp. 426431.
    12. 12)
      • 14. Nuzman, D., Rosen, I., Zaks, A.: ‘Auto-vectorization of interleaved data for SIMD’, IBM Research Report No. H-0235, 2005.
    13. 13)
      • 3. Hohenauer, M., Schumacher, C., Leupers, R., Ascheid, G., Meyr, H., Van Someren, H.: ‘Retargetable code optimization with SIMD instructions’. Proc. Fourth Int. Conf. Hardware/Software Codesign and System Synthesis (CODES + ISSS '06), 2006, pp. 148153.
    14. 14)
      • 11. Nuzman, D., Henderson, R.: ‘Multi-platform auto-vectorization’. CGO '06: Proc. Int. Symp. Code Generation and Optimization, 2006, pp. 281294.
    15. 15)
      • 15. Pryanishnikov, I., Krall, A.: ‘Pointer alignment analysis for processors with SIMD instructions’. Proc. Fifth Workshop on Media and Streaming Processors, 2003.
    16. 16)
      • 1. Tanaka, H., Ota, Y., Matsumoto, N., Hieda, T., Takeuchi, Y., Imai, M.: ‘A new compilation technique for SIMD code generation across basic block boundaries’. Design Automation Conf. (ASP-DAC), 2010 15th Asia and South Pacific, 2010, pp. 101106.
    17. 17)
      • 5. Leupers, R.: ‘Code selection for media processors with SIMD instructions’. Proc. Design, Automation and Test in Europe Conf. and Exhibition 2000, 2000, pp. 48.
    18. 18)
      • 17. Yang, X., He, H.: ‘An advanced compiler designed for a VLIW DSP for sensors-based systems’, Sensors, 2012, 12, (4), pp. 44664478 (doi: 10.3390/s120404466).
    19. 19)
      • 8. Fisher, J.A.: ‘Very long instruction word architectures and the ELI-512’. Proc. Tenth Annual Int. Symp. Computer Architecture, Stockholm, Sweden, 13–17 June 1983, pp. 140150.
http://iet.metastore.ingenta.com/content/journals/10.1049/iet-wss.2012.0114
Loading

Related content

content/journals/10.1049/iet-wss.2012.0114
pub_keyword,iet_inspecKeyword,pub_concept
6
6
Loading
This is a required field
Please enter a valid email address