Synthesis of custom networks of heterogeneous processing elements for complex physical system emulation

Physical system models that consist of thousands of ordinary differential equations can be synthesized to field-programmable gate arrays (FPGAs) for highly-parallelized, real-time physical system emulation. Previous work introduced synthesis of custom networks of homogeneous processing elements, consisting of processing elements that are either all general differential equation solvers or are all custom solvers tailored to solve specific equations. However, a complex physical system model may contain different types of equations such that using only general solvers or only custom solvers does not provide all of the possible speedup. We introduce methods to synthesize a custom network of heterogeneous processing elements for emulating physical systems, where each element is either a general or custom differential equation solver. We show average speedups of 45x over a 3 GHz single-core desktop processor, and of 11x and 20x over a 3 GHz four-core desktop and a 763 MHz NVIDIA graphical processing unit, respectively. Compared to a commercial high-level synthesis tool including regularity extraction, the networks of heterogeneous processing elements were on average 10.8x faster. Compared to homogeneous networks of general and single-type custom processing elements, heterogeneous networks were on average 7x and 6x faster, respectively.

[1]  Fadi J. Kurdahi,et al.  On clustering for maximal regularity extraction , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[2]  Fatih Kocan,et al.  Sharing of SRAM Tables Among NPN-Equivalent LUTs in SRAM-Based FPGAs , 2007, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[3]  Matematik,et al.  Numerical Methods for Ordinary Differential Equations: Butcher/Numerical Methods , 2005 .

[4]  D. Terman,et al.  Reducing Neuronal Networks to Discrete Dynamics. , 2008, Physica D. Nonlinear phenomena.

[5]  Frank Vahid,et al.  Automatic synthesis of physical system differential equation models to a custom network of general processing elements on FPGAs , 2013, TECS.

[6]  Hartmut Bossel,et al.  Modeling and simulation , 1994 .

[7]  Lukasz Salwinski,et al.  In silico simulation of biological network dynamics , 2004, Nature Biotechnology.

[8]  Willem van Meurs,et al.  Modeling and Simulation in Biomedical Engineering: Applications in Cardiorespiratory Physiology , 2011 .

[9]  C. Carrington,et al.  Morphometry of the Human Lung , 1965, The Yale Journal of Biology and Medicine.

[10]  Adrian Park,et al.  Designing Modular Hardware Accelerators in C with ROCCC 2.0 , 2010, 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines.

[11]  Edward A. Lee Cyber Physical Systems: Design Challenges , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).

[12]  Wonyong Sung,et al.  AUTOSCALER for C: an optimizing floating-point to integer C program converter for fixed-point digital signal processors , 2000 .

[13]  Mark A. Tooley Modeling and Simulation in Biomedical Engineering: Applications in Cardiorespiratory Physiology , 2012 .

[14]  Maya Gokhale,et al.  Stream-oriented FPGA computing in the Streams-C high level language , 2000, Proceedings 2000 IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00871).

[15]  Bernardo M. Rocha,et al.  Automatic code generation for solvers of cardiac cellular membrane dynamics in GPUs , 2010, 2010 Annual International Conference of the IEEE Engineering in Medicine and Biology.

[16]  Tony Givargis,et al.  Application-specific codesign platform generation for digital mockups in cyber-physical systems , 2011, 2011 Electronic System Level Synthesis Conference (ESLsyn).

[17]  J. Butcher Numerical methods for ordinary differential equations , 2003 .

[18]  L. A. G. Dresel,et al.  Elementary Numerical Analysis , 1966 .

[19]  E. F. Girczyc,et al.  HAL: A Multi-Paradigm Approach to Automatic Data Path Synthesis , 1986, 23rd ACM/IEEE Design Automation Conference.

[20]  Ulf Jeppsson,et al.  MATLAB™ and Simulink™ , 2002 .

[21]  Hideharu Amano,et al.  Stochastic Simulation for Biochemical Reactions on FPGA , 2004, FPL.

[22]  Frank Vahid,et al.  Synthesis of networks of custom processing elements for real-time physical system emulation , 2013, TODE.