• DocumentCode
    3470575
  • Title

    Non-serial Polyadic Dynamic Programming on a Data-Parallel Many-core Architecture

  • Author

    Moazeni, M. ; Sarrafzadeh, Majid ; Bui, A.A.T.

  • Author_Institution
    Comput. Sci. Dept., Univ. of California, Los Angeles, Los Angeles, CA, USA
  • fYear
    2011
  • fDate
    19-21 July 2011
  • Firstpage
    52
  • Lastpage
    55
  • Abstract
    Dynamic Programming (DP) is a method for efficiently solving a broad range of search and optimization problems. As a result, techniques for managing large-scale DP problems are often critical to the performance of many applications. DP algorithms are often hard to parallelize. In this paper, we address the challenge of exploiting fine grain parallelism on a family of DP algorithms known as non-serial polyadic. We use an abstract formulation of non-serial polyadic DP, derived from RNA secondary structure prediction and matrix parenthesization approaches that are well-known and important problems from this family. We present a load balancing algorithm that achieves the best overall performance with this type of workload on many-core architectures. A divide-and-conquer approach previously used on multi-core architectures is compared against an iterative version. To evaluate these approaches, the algorithm was implemented on three NVIDIA GPUs using CUDA. We achieved up to 10 GFLOP/s performance and up to 228x speedup over the single-threaded CPU implementation. Moreover, the iterative approach results in up to 3.92x speedup over the divide-and-conquer approach.
  • Keywords
    computer graphic equipment; coprocessors; divide and conquer methods; dynamic programming; iterative methods; macromolecules; matrix algebra; multiprocessing systems; resource allocation; CUDA; NVIDIA CPUs; RNA secondary structure prediction; data parallel many-core architecture; divide-and-conquer approach; fine grain parallelism; iterative approach; large-scale DP problems; load balancing algorithm; matrix parenthesization approaches; multicore architectures; nonserial polyadic dynamic programming; optimization problems; Computer architecture; Dynamic programming; Graphics processing unit; Iterative methods; Kernel; Load management; Parallel processing; Dynamic Programming; GPGPU; Many-core;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Application Accelerators in High-Performance Computing (SAAHPC), 2011 Symposium on
  • Conference_Location
    Knoxville, TN
  • Print_ISBN
    978-1-4577-0635-6
  • Electronic_ISBN
    978-0-7695-4448-9
  • Type

    conf

  • DOI
    10.1109/SAAHPC.2011.25
  • Filename
    6031563