SystemC simulation on GP-GPUs: CUDA vs. OpenCL

  • Authors:
  • Nicola Bombieri;Sara Vinco;Valeria Bertacco;Debapriya Chatterjee

  • Affiliations:
  • Università di Verona, Verona, Italy;Università di Verona, Verona, Italy;University of Michigan, Ann Arbor, USA;University of Michigan, Ann Arbor, USA

  • Venue:
  • Proceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

SystemC is a widespread language for developing SoC designs. Unfortunately, most SystemC simulators are based on a strictly sequential scheduler that heavily limits their performance, impacting verification schedules and time-to-market of new designs. Parallelizing SystemC simulation entails a complete re-design of the simulator kernel for the specific target parallel architectures. This paper proposes an automatic methodology to generate a parallel SystemC simulator kernel, exploiting the massive parallelism of GP-GPU architectures. Our solution leverages static scheduling to reduce synchronization overheads. The generated simulator code targets both CUDA and OpenCL libraries, to boost scalability and provide support for multiple GP-GPU architectures. Finally, the paper compares the performance of our solution on CUDA vs. OpenCL platforms, with the goal of investigating advantages and drawbacks that the two thread management libraries offer to concurrent SystemC simulation.