• DocumentCode
    2798881
  • Title

    Data structure design for GPU based heterogeneous systems

  • Author

    Breitbart, Jens

  • Author_Institution
    Res. Group Programming Languages / Methodologies, Univ. Kassel, Kassel, Germany
  • fYear
    2009
  • fDate
    21-24 June 2009
  • Firstpage
    44
  • Lastpage
    51
  • Abstract
    This paper reports on our experience with data structure design for systems having both multiple CPU cores and a programmable graphics card. We integrate our data structures into the game-like application OpenSteerDemo and compare our data structures on two pc-systems. One System has a relative fast single core CPU and slower GPU, whereas the other one uses a high-end GPU with a slower multi core CPU. We design two grid based data structures for effectively solving the k-nearest neighbor problem. The static grid uses grid cells of uniform size, whereas the dynamic grid does not rely on given grid cells, but creates them at runtime. The static grid is designed for fast data structure creation, whereas the dynamic grid is designed to provide high GPU simulation performance. The high performance is achieved by taking advantage of the GPU memory system at the cost of a more complex construction algorithm. Our experiments show that with a slower CPU the algorithm for creating the dynamic grid becomes the bottleneck and no overall performance increase is possible compared to the static grid. This also holds true when the simulation is run with a faster CPU and a slower GPU, even though the breakeven point is different. We experimented with data structure creation on the GPU, but the performance of the static grid is not feasible. The dynamic grid cannot be created on the GPU due to the lack of recursive function support. We provide a dynamic grid creation algorithm, which uses multiple CPU cores. This algorithm is slower than its sequential counterpart due to the parallelization overhead.
  • Keywords
    application program interfaces; computer games; computer graphics; coprocessors; data structures; grid computing; pattern classification; GPU based heterogeneous systems; GPU memory system; OpenMP; data structure design; dynamic grid creation algorithm; game-like application OpenSteerDemo; grid based data structures; k-nearest neighbor problem; multiple CPU cores; programmable graphics card; static grid; Application software; Central Processing Unit; Computational modeling; Computer languages; Costs; Data structures; Graphics; Heuristic algorithms; Runtime; Yarn; CUDA; GPGPU; OpenMP; games; k-nearest neighbor;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    High Performance Computing & Simulation, 2009. HPCS '09. International Conference on
  • Conference_Location
    Leipzig
  • Print_ISBN
    978-1-4244-4906-4
  • Electronic_ISBN
    978-1-4244-4907-1
  • Type

    conf

  • DOI
    10.1109/HPCSIM.2009.5192780
  • Filename
    5192780