Skip to content
Licensed Unlicensed Requires Authentication Published by De Gruyter Oldenbourg February 16, 2022

Unlocking approximation for in-memory computing with Cartesian genetic programming and computer algebra for arithmetic circuits

  • Saman Froehlich

    Saman Froehlich received the B. Sc. and M. Sc. degrees in computer science & engineering from the Hamburg University of Technology, Hamburg, Germany, in 2011 and 2013, respectively. He is currently pursuing the Ph. D. degree with the Group of Computer Architecture, University of Bremen, Bremen, Germany. His current research interests include approximate computing, machine learning and in-memory computing.

    EMAIL logo
    and Rolf Drechsler

    Rolf Drechsler received the Diploma and Dr. phil. nat. degrees in computer science from the Johann Wolfgang Goethe University in Frankfurt am Main, Germany, in 1992 and 1995, respectively. He worked at the Institute of Computer Science, Albert-Ludwigs University, Freiburg im Breisgau, Germany, from 1995 to 2000, and at the Corporate Technology Department, Siemens AG, Munich, Germany, from 2000 to 2001.Since October 2001, Rolf Drechsler is Full Professor and Head of the Group of Computer Architecture, Institute of Computer Science, at the University of Bremen, Germany. In 2011, he additionally became the Director of the Cyber-Physical Systems Group at the German Research Center for Artificial Intelligence (DFKI) in Bremen. His current research interests include the development and design of data structures and algorithms with a focus on circuit and system design. He is an IEEE Fellow.

Abstract

With ReRAM being a non-volative memory technology, which features low power consumption, high scalability and allows for in-memory computing, it is a promising candidate for future computer architectures. Approximate computing is a design paradigm, which aims at reducing the complexity of hardware by trading off accuracy for area and/or delay.

In this article, we introduce approximate computing techniques to in-memory computing. We extend existing compilation techniques for the Programmable Logic in-Memory (PLiM) computer architecture, by adapting state-of-the-art approximate computing techniques for arithmetic circuits. We use Cartesian Genetic Programming for the generation of approximate circuits and evaluate them using a Symbolic Computer Algebra-based technique with respect to error-metrics. In our experiments, we show that we can outperform state-of-the-art handcrafted approximate adder designs.

ACM CCS:

Award Identifier / Grant number: DR 287/35-1

Funding statement: This work was supported by the German Research Foundation (DFG) within the project PLiM (DR 287/35-1).

About the authors

Saman Froehlich

Saman Froehlich received the B. Sc. and M. Sc. degrees in computer science & engineering from the Hamburg University of Technology, Hamburg, Germany, in 2011 and 2013, respectively. He is currently pursuing the Ph. D. degree with the Group of Computer Architecture, University of Bremen, Bremen, Germany. His current research interests include approximate computing, machine learning and in-memory computing.

Prof. Dr. Rolf Drechsler

Rolf Drechsler received the Diploma and Dr. phil. nat. degrees in computer science from the Johann Wolfgang Goethe University in Frankfurt am Main, Germany, in 1992 and 1995, respectively. He worked at the Institute of Computer Science, Albert-Ludwigs University, Freiburg im Breisgau, Germany, from 1995 to 2000, and at the Corporate Technology Department, Siemens AG, Munich, Germany, from 2000 to 2001.Since October 2001, Rolf Drechsler is Full Professor and Head of the Group of Computer Architecture, Institute of Computer Science, at the University of Bremen, Germany. In 2011, he additionally became the Director of the Cyber-Physical Systems Group at the German Research Center for Artificial Intelligence (DFKI) in Bremen. His current research interests include the development and design of data structures and algorithms with a focus on circuit and system design. He is an IEEE Fellow.

References

1. A. S. Ahmed, M. Soeken, D. Große, and R. Drechsler. Equivalence checking using Gröbner Bases. In Int’l Conf. on Formal Methods in CAD, 2016.Search in Google Scholar

2. Milan CeSka, Jiri MatyaS, Vojtech Mrazek, Lukas Sekanina, Zdenek Vasicek, and Tomas Vojnar. Approximating complex arithmetic circuits with formal error guarantees: 32-bit multipliers accomplished. In International Conference on Computer-Aided Design, pages 416–423, 2017.10.1109/ICCAD.2017.8203807Search in Google Scholar

3. Chair for Embedded Systems – Karlsruhe Institute of Technology. Gear – approxadderlib.Search in Google Scholar

4. A. Chandrasekharan, M. Soeken, D. Große, and R. Drechsler. Precise error determination of approximated components in sequential circuits with model checking. In Design Automation Conf., 2016.10.1145/2897937.2898069Search in Google Scholar

5. Yi-Chou Chen, C. F. Chen, C. T. Chen, J. Y. Yu, S. Wu, S. L. Lung, and R. Liu. An access-transistor-free (0T/1R) non-volatile resistance random access memory (RRAM) using a novel threshold switching, self-rectifying chalcogenide device. In IEEE International Electron Devices Meeting, pages 37.4.1–37.4.4, 2003.Search in Google Scholar

6. David A. Cox, John Little, and Donal O’Shea. Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra. Springer-Verlag New York, Inc., 3rd edition, 2007.10.1007/978-0-387-35651-8Search in Google Scholar

7. Farimah Farahmandi and Bijan Alizadeh. Groebner basis based formal verification of large arithmetic circuits using gaussian elimination and cone-based polynomial extraction. Microprocessors and Microsystems, 39(2):83–96, 2015.10.1016/j.micpro.2015.01.007Search in Google Scholar

8. S. Frerix, S. Shirinzadeh, S. Froehlich, and R. Drechsler. Comprime: A compiler for parallel and scalable reram-based in-memory computing. In 2019 IEEE/ACM International Symposium on Nanoscale Architectures (NANOARCH), pages 1–6, 2019.10.1109/NANOARCH47378.2019.181285Search in Google Scholar

9. Saman Froehlich, Daniel Große, and Rolf Drechsler. Approximate hardware generation using symbolic computer algebra employing Gröbner basis. In Design, Automation and Test in Europe, pages 889–892, 2018.10.23919/DATE.2018.8342133Search in Google Scholar

10. Saman Froehlich, Daniel Große, and Rolf Drechsler. One method – all error-metrics: A three-stage approach for error-metric evaluation in approximate computing. In Design, Automation and Test in Europe, pages 284–287, 2019.10.23919/DATE.2019.8715138Search in Google Scholar

11. P. Gaillardon, L. Amarú, A. Siemon, E. Linn, R. Waser, A. Chattopadhyay, and G. De Micheli. The programmable logic-in-memory (plim) computer. In Design, Automation and Test in Europe, pages 427–432, 2016.10.3850/9783981537079_0970Search in Google Scholar

12. Amad Ul Hassen and Salman Anwar Khokhar. Approximate in-memory computing on reram crossbars. In 2019 IEEE 62nd International Midwest Symposium on Circuits and Systems (MWSCAS), pages 1183–1186, 2019.10.1109/MWSCAS.2019.8884871Search in Google Scholar

13. Radek Hrbacek, Vojtech Mrazek, and Zdenek Vasicek. Automatic design of approximate circuits by means of multi-objective evolutionary algorithms. In 2016 International Conference on Design and Technology of Integrated Systems in Nanoscale Era (DTIS), pages 1–6, 2016.10.1109/DTIS.2016.7483885Search in Google Scholar

14. Edward A. Lee, Björn Hartmann, John Kubiatowicz, Tajana Simunic Rosing, John Wawrzynek, David Wessel, Jan Rabaey, Kris Pister, Alberto Sangiovanni-Vincentelli, Sanjit A. Seshia, David Blaauw, Prabal Dutta, Kevin Fu, Carlos Guestrin, Ben Taskar, Roozbeh Jafari, Douglas Jones, Vijay Kumar, Rahul Mangharam, George J. Pappas, Richard M. Murray, and Anthony Rowe. The swarm at the edge of the cloud. IEEE Design Test, 31(3):8–20, 2014.10.1109/MDAT.2014.2314600Search in Google Scholar

15. E. Linn, R. Rosezin, S. Tappertzhofen, U. Böttger, and R. Waser. Beyond von neumann—logic operations in passive crossbar arrays alongside memory operations. Nanotechnology, 23(30):305205, 2012.10.1088/0957-4484/23/30/305205Search in Google Scholar PubMed

16. Alireza Mahzoon, Daniel Große, and Rolf Drechsler. Polycleaner: Clean your polynomials before backward rewriting to verify million-gate multipliers. In 2018 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pages 1–8, 2018.10.1145/3240765.3240837Search in Google Scholar

17. Alireza Mahzoon, Daniel Große, and Rolf Drechsler. Revsca: Using reverse engineering to bring light into backward rewriting for big and dirty multipliers. In 2019 56th ACM/IEEE Design Automation Conference (DAC), pages 1–6, 2019.10.1145/3316781.3317898Search in Google Scholar

18. Alireza Mahzoon, Daniel Große, Christoph Scholl, and Rolf Drechsler. Towards formal verification of optimized and industrial multipliers. In Design, Automation and Test in Europe, pages 544–549, 2020.10.23919/DATE48585.2020.9116485Search in Google Scholar

19. Takumi Mikawa, Ryutaro Yasuhara, Koji Katayama, Kazuyuki Kouno, Takashi Ono, Reiji Mochida, Yuriko Hayata, Masayoshi Nakayama, Hitoshi Suwa, Yasushi Gohou, and Toru Kakiage. Neuromorphic computing based on analog reram as low power solution for edge application. In 2019 IEEE 11th International Memory Workshop (IMW), pages 1–4, 2019.10.1109/IMW.2019.8739720Search in Google Scholar

20. John Reuben. Rediscovering majority logic in the post-cmos era: A perspective from in-memory computing. Journal of Low Power Electronics and Applications, 10(3), 2020.10.3390/jlpea10030028Search in Google Scholar

21. R. Rosezin, E. Linn, C. Kugeler, R. Bruchhaus, and R. Waser. Crossbar logic using bipolar and complementary resistive switches. IEEE Electron Device Letters, 32(6):710–712, 2011.10.1109/LED.2011.2127439Search in Google Scholar

22. F. Somenzi. CUDD: CU Decision Diagram package-release 3.0.0. University of Colorado at Boulder, 2015.Search in Google Scholar

23. Clifford Wolf. Yosys – yosys open synthesis suite.Search in Google Scholar

24. Cheng-Xin Xue, Je-Min Hung, Hui-Yao Kao, Yen-Hsiang Huang, Sheng-Po Huang, Fu-Chun Chang, Peng Chen, Ta-Wei Liu, Chuan-Jia Jhang, Chin-I Su, Win-San Khwa, Chung-Chuan Lo, Ren-Shuo Liu, Chih-Cheng Hsieh, Kea-Tiong Tang, Yu-Der Chih, Tsung-Yung Jonathan Chang, and Meng-Fan Chang. 16.1 a 22nm 4mb 8b-precision reram computing-in-memory macro with 11.91 to 195.7tops/w for tiny ai edge devices. In 2021 IEEE International Solid- State Circuits Conference (ISSCC), volume 64, pages 245–247, 2021.10.1109/ISSCC42613.2021.9365769Search in Google Scholar

25. Cunxi Yu and Maciej Ciesielski. Efficient parallel verification of galois field multipliers. In ASP Design Automation Conf., 2017.Search in Google Scholar

Received: 2021-09-03
Revised: 2022-01-31
Accepted: 2022-01-31
Published Online: 2022-02-16
Published in Print: 2022-06-27

© 2022 Walter de Gruyter GmbH, Berlin/Boston

Downloaded on 24.4.2024 from https://www.degruyter.com/document/doi/10.1515/itit-2021-0042/html
Scroll to top button