Skip to main content

More Efficient CMMs on FPGAs: Instantiated Ternary Adders for Computation Coding

  • Conference paper
  • First Online:
Applied Reconfigurable Computing. Architectures, Tools, and Applications (ARC 2023)

Abstract

With the ever increasing complexity of modern algorithms, especially Artificial Neural Networks, the acceleration of linear operations becomes highly beneficial. Computation Coding (CC) matrix decomposition methods promise great reductions in operational cost of Constant Matrix Multiplication. Implementations of such decompositions rely on shifts followed by additions only. Recent FPGAs enable efficient addition of three operands by using multiple-output Lookup-Tables (LUTs) and CC decompositions naturally enable fine control over operand counts in each addition. However, synthesis does not always infer these efficient adder structures.

To better utilize the resources present on FPGAs, we use primitive instantiation via a Python-based hardware generation framework allowing for fine control over implemented logic. We show, that designs based on instantiated primitive ternary-input adders reduce hardware cost in LUTs by up to \(1.8\times \) compared to inferred designs and decompositions based on binary input adders only, but also perform well with regards to pipelining and timing restrictions.

This work was partially founded by the German Research Foundation (DFG - Deutsche Forschungsgemeinschaft) under the project Berechnungskodierung (RE 4182/4-1 and MU 3735/8-1).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 74.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Aksoy, L., Flores, P.M.: A novel method for the approximation of multiplierless constant matrix vector multiplication. Embedded Syst. 12 (2016). https://doi.org/10.1186/s13639-016-0033-y

  2. Blott, M., et al.: FINN-R: an end-to-end deep-learning framework for fast exploration of quantized neural networks. ACM Trans. Reconfigurable Technol. Syst. 11(3) (2018). https://doi.org/10.1145/3242897

  3. Demidovskij, A., Smirnov, E.: Effective post-training quantization of neural networks for inference on low power neural accelerator. In: 2020 International Joint Conference on Neural Networks (IJCNN), pp. 1–7 (2020). https://doi.org/10.1109/IJCNN48605.2020.9207281

  4. de Dinechin, F.: Reflections on 10 years of FloPoCo. In: 26th IEEE Symposium of Computer Arithmetic (ARITH-26) (2019)

    Google Scholar 

  5. Fan, A., et al.: Training with quantization noise for extreme model compression. arXiv preprint arXiv:2004.07320 (2020)

  6. Hardieck, M., Kumm, M., Sittel, P., Zipf, P.: Constant matrix multiplication with ternary adders. In: 2018 25th IEEE International Conference on Electronics, Circuits and Systems (ICECS), pp. 85–88 (2018). https://doi.org/10.1109/ICECS.2018.8617860

  7. Jia, L., Lu, L., Wei, X., Liang, Y.: Generating systolic array accelerators with reusable blocks. IEEE Micro 40(4), 85–92 (2020). https://doi.org/10.1109/MM.2020.2997611

    Article  Google Scholar 

  8. Jouppi, N.P., Young, C., Patil, N., et al.: In-datacenter performance analysis of a tensor processing unit. In: Proceedings of the 44th Annual International Symposium on Computer Architecture, pp. 1–12. ISCA 2017, New York, NY, USA. Association for Computing Machinery (2017). https://doi.org/10.1145/3079856.3080246, https://doi.org/10.1145/3079856.3080246

  9. Kumm, M., Möller, K., Hardieck, M., Zipf, P.: Pagsuite project website (2018)

    Google Scholar 

  10. Kumm, M.: Optimal constant multiplication using integer linear programming. IEEE Trans. Circuits Syst. II Express Briefs 65(5), 567–571 (2018). https://doi.org/10.1109/TCSII.2018.2823780

    Article  Google Scholar 

  11. Kumm, M., Hardieck, M., Zipf, P.: Optimization of constant matrix multiplication with low power and high throughput. IEEE Trans. Comput. 66(12), 2072–2080 (2017). https://doi.org/10.1109/TC.2017.2701365

    Article  MathSciNet  MATH  Google Scholar 

  12. Lehnert, A., Holzinger, P., Pfenning, S., Müller, R., Reichenbach, M.: Most resource efficient matrix vector multiplication on FPGAs. IEEE Access 11, 3881–3898 (2023). https://doi.org/10.1109/ACCESS.2023.3234622

    Article  Google Scholar 

  13. Luu, J., et al.: On hard adders and carry chains in FPGAs. In: 2014 IEEE 22nd Annual International Symposium on Field-Programmable Custom Computing Machines, May, pp. 52–59 (2014). https://doi.org/10.1109/FCCM.2014.25

  14. Markidis, S., Chien, S.W.D., Laure, E., Peng, I.B., Vetter, J.S.: NVIDIA tensor core programmability, performance & precision. In: 2018 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), pp. 522–531 (2018). https://doi.org/10.1109/IPDPSW.2018.00091

  15. Mei, L., Houshmand, P., Jain, V., Giraldo, S., Verhelst, M.: Zigzag: Enlarging joint architecture-mapping design space exploration for DNN accelerators. IEEE Trans. Comput. 70(8), 1160–1174 (2021). https://doi.org/10.1109/TC.2021.3059962

    Article  MATH  Google Scholar 

  16. Müller, R.R., Gäde, B., Bereyhi, A.: Efficient matrix multiplication: the sparse power-of-2 factorization. In: 2020 Information Theory and Applications Workshop (ITA), pp. 1–6 (2020). https://doi.org/10.1109/ITA50056.2020.9244952

  17. Müller, R.R., Gäde, B., Bereyhi, A.: Linear computation coding. In: ICASSP 2021–2021 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pp. 5065–5069 (2021). https://doi.org/10.1109/ICASSP39728.2021.9414317

  18. Müller, R., Gäde, B., Bereyhi, A.: Linear computation coding: a framework for joint quantization and computing. Algorithms 15(7), 253 (2022)

    Article  Google Scholar 

  19. Rosenberger, H., Fröhlich, J.S., Bereyhi, A., Müller, R.R.: Linear computation coding: Exponential search and reduced state algorithms. In: Data Compression Conference. Snowbird, UT (03 2023, accepted)

    Google Scholar 

  20. Simkins, J.M., Philofsky, B.D.: Structures and methods for implementing ternary adders/subtractors in programmable logic device; United States Patent US7274211B1 (2007)

    Google Scholar 

  21. Xilinx, I.: UltraScale Architecture Configurable Logic Block User Guide (UG574). Xilinx, Inc. (2017). https://docs.xilinx.com/v/u/en-US/ug574-ultrascale-clb

  22. Xilinx, I.: Vivado Design Suite Properties Reference Guide. Xilinx, Inc. (2022). https://www.xilinx.com/support/documents/sw_manuals/xilinx2022_1/ug912-vivado-properties.pdf

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alexander Lehnert .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Lehnert, A., Rosenberger, H., Müller, R., Reichenbach, M. (2023). More Efficient CMMs on FPGAs: Instantiated Ternary Adders for Computation Coding. In: Palumbo, F., Keramidas, G., Voros, N., Diniz, P.C. (eds) Applied Reconfigurable Computing. Architectures, Tools, and Applications. ARC 2023. Lecture Notes in Computer Science, vol 14251. Springer, Cham. https://doi.org/10.1007/978-3-031-42921-7_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-42921-7_19

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-42920-0

  • Online ISBN: 978-3-031-42921-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics