Menu

#8 regression test suite needs to be refactored to handle different implementations (cuda, OpenMP, TBB)

0.1.0
closed
None
2014-02-17
2013-08-04
No

The regression test suite needs to be refactored to handle different implementations (cuda, OpenMP, TBB). It was written with the assumption that there was a single implementation (CUDA). Today, there can be different cuda implementation directories (for developer machines with more than one host device), an OpenMP implementation, and a TBB implementation. The regressions/Makefile needs to be parameterized to handle this.

This is a precondition for [1]

[1] https://sourceforge.net/p/mpgraph/tickets/2/ (Regression test suite needs to be updated for all implemented algorithms)

Discussion

  • Bryan Thompson

    Bryan Thompson - 2013-08-04

    Here are the results for the GTX570 on Bryan's GPU workstation:

    ::::::::::::::
    ak2010.bfs.timing_gpu
    ::::::::::::::
    0.675
    ::::::::::::::
    ak2010.cc.timing_gpu
    ::::::::::::::
    86.624
    ::::::::::::::
    ak2010.pagerank.timing_gpu
    ::::::::::::::
    57.891
    ::::::::::::::
    ak2010.sssp.timing_gpu
    ::::::::::::::
    134.302
    ::::::::::::::
    belgium_osm.bfs.timing_gpu
    ::::::::::::::
    786.199
    ::::::::::::::
    belgium_osm.cc.timing_gpu
    ::::::::::::::
    4346.8
    ::::::::::::::
    belgium_osm.pagerank.timing_gpu
    ::::::::::::::
    124.252
    ::::::::::::::
    belgium_osm.sssp.timing_gpu
    ::::::::::::::
    4207.79
    ::::::::::::::
    coAuthorsDBLP.bfs.timing_gpu
    ::::::::::::::
    6.426
    ::::::::::::::
    coAuthorsDBLP.cc.timing_gpu
    ::::::::::::::
    41.465
    ::::::::::::::
    coAuthorsDBLP.pagerank.timing_gpu
    ::::::::::::::
    101.862
    ::::::::::::::
    coAuthorsDBLP.sssp.timing_gpu
    ::::::::::::::
    94.088
    ::::::::::::::
    delaunay_n13.bfs.timing_gpu
    ::::::::::::::
    14.44
    ::::::::::::::
    delaunay_n13.cc.timing_gpu
    ::::::::::::::
    40.643
    ::::::::::::::
    delaunay_n13.pagerank.timing_gpu
    ::::::::::::::
    27.296
    ::::::::::::::
    delaunay_n13.sssp.timing_gpu
    ::::::::::::::
    94.469
    ::::::::::::::
    delaunay_n21.bfs.timing_gpu
    ::::::::::::::
    665.987
    ::::::::::::::
    delaunay_n21.cc.timing_gpu
    ::::::::::::::
    4149.34
    ::::::::::::::
    delaunay_n21.pagerank.timing_gpu
    ::::::::::::::
    207.626
    ::::::::::::::
    delaunay_n21.sssp.timing_gpu
    ::::::::::::::
    6546.97
    ::::::::::::::
    kron_g500-logn21.bfs.timing_gpu
    ::::::::::::::
    192.198
    ::::::::::::::
    kron_g500-logn21.cc.timing_gpu
    ::::::::::::::
    1872.47
    ::::::::::::::
    kron_g500-logn21.pagerank.timing_gpu
    ::::::::::::::
    21862.8
    ::::::::::::::
    kron_g500-logn21.sssp.timing_gpu
    ::::::::::::::
    ::::::::::::::
    soc-LiveJournal1.bfs.timing_gpu
    ::::::::::::::
    115.163
    ::::::::::::::
    soc-LiveJournal1.cc.timing_gpu
    ::::::::::::::
    1833.97
    ::::::::::::::
    soc-LiveJournal1.pagerank.timing_gpu
    ::::::::::::::
    5223.23
    ::::::::::::::
    soc-LiveJournal1.sssp.timing_gpu
    ::::::::::::::
    1177.15
    ::::::::::::::
    webbase-1M.bfs.timing_gpu
    ::::::::::::::
    1.222
    ::::::::::::::
    webbase-1M.cc.timing_gpu
    ::::::::::::::
    78.766
    ::::::::::::::
    webbase-1M.pagerank.timing_gpu
    ::::::::::::::
    170.561
    ::::::::::::::
    webbase-1M.sssp.timing_gpu
    ::::::::::::::
    111.786

     
  • Bryan Thompson

    Bryan Thompson - 2013-08-04

    running on Bryan's GPU workstation as 'make -k test' for dev1 (K20). (The -k option is specified to make progress in case a GPU does not have enough RAM for a given data set.)

    The host failed(!). I have recently updated to CUDA 5.5. I am not sure if the
    failure was related to CUDA 5.5 or my pinning the CPU clock speed to 3.0Ghz (it was
    failing to scale the CPU clock speed dynamically due to a problem with lm_sensor for
    the AMD Phenom). I can retry with CUDA 5.0, but I also updated the device driver so
    just rolling back to CUDA 5.0 will not restore the situation entirely.

     
  • Bryan Thompson

    Bryan Thompson - 2013-08-04

    Here is a re-run of the K20 on the same host:

    ::::::::::::::
    ak2010.bfs.timing_gpu
    ::::::::::::::
    0.347
    ::::::::::::::
    ak2010.cc.timing_gpu
    ::::::::::::::
    55.106
    ::::::::::::::
    ak2010.pagerank.timing_gpu
    ::::::::::::::
    36.193
    ::::::::::::::
    ak2010.sssp.timing_gpu
    ::::::::::::::
    82.982
    ::::::::::::::
    belgium_osm.bfs.timing_gpu
    ::::::::::::::
    737.89
    ::::::::::::::
    belgium_osm.cc.timing_gpu
    ::::::::::::::
    4600.88
    ::::::::::::::
    belgium_osm.pagerank.timing_gpu
    ::::::::::::::
    120.397
    ::::::::::::::
    belgium_osm.sssp.timing_gpu
    ::::::::::::::
    4017.2
    ::::::::::::::
    coAuthorsDBLP.bfs.timing_gpu
    ::::::::::::::
    5.953
    ::::::::::::::
    coAuthorsDBLP.cc.timing_gpu
    ::::::::::::::
    47.62
    ::::::::::::::
    coAuthorsDBLP.pagerank.timing_gpu
    ::::::::::::::
    112.237
    ::::::::::::::
    coAuthorsDBLP.sssp.timing_gpu
    ::::::::::::::
    102.199
    ::::::::::::::
    delaunay_n13.bfs.timing_gpu
    ::::::::::::::
    10.936
    ::::::::::::::
    delaunay_n13.cc.timing_gpu
    ::::::::::::::
    31.497
    ::::::::::::::
    delaunay_n13.pagerank.timing_gpu
    ::::::::::::::
    14.135
    ::::::::::::::
    delaunay_n13.sssp.timing_gpu
    ::::::::::::::
    47.438
    ::::::::::::::
    delaunay_n21.bfs.timing_gpu
    ::::::::::::::
    676.201
    ::::::::::::::
    delaunay_n21.cc.timing_gpu
    ::::::::::::::
    4783.05
    ::::::::::::::
    delaunay_n21.pagerank.timing_gpu
    ::::::::::::::
    264.199
    ::::::::::::::
    delaunay_n21.sssp.timing_gpu
    ::::::::::::::
    6882.94
    ::::::::::::::
    kron_g500-logn21.bfs.timing_gpu
    ::::::::::::::
    ::::::::::::::
    kron_g500-logn21.cc.timing_gpu
    ::::::::::::::
    ::::::::::::::
    kron_g500-logn21.pagerank.timing_gpu
    ::::::::::::::
    ::::::::::::::
    kron_g500-logn21.sssp.timing_gpu
    ::::::::::::::
    ::::::::::::::
    soc-LiveJournal1.bfs.timing_gpu
    ::::::::::::::
    147.022
    ::::::::::::::
    soc-LiveJournal1.cc.timing_gpu
    ::::::::::::::
    2566.91
    ::::::::::::::
    soc-LiveJournal1.pagerank.timing_gpu
    ::::::::::::::
    6768.18
    ::::::::::::::
    soc-LiveJournal1.sssp.timing_gpu
    ::::::::::::::
    1617.21
    ::::::::::::::
    webbase-1M.bfs.timing_gpu
    ::::::::::::::
    0.988
    ::::::::::::::
    webbase-1M.cc.timing_gpu
    ::::::::::::::
    76.826
    ::::::::::::::
    webbase-1M.pagerank.timing_gpu
    ::::::::::::::
    149.462
    ::::::::::::::
    webbase-1M.sssp.timing_gpu
    ::::::::::::::
    85.648

     
  • Bryan Thompson

    Bryan Thompson - 2013-08-04

    And here are the OpenMP timings for the same machine @ 3Ghz. Since this is not an Intel, that is all the operating modes that I can run against this machine. These runs are against r34 (basically, the same as the initial release except that some value reporting was commented out by Zhisong in r33).

    ::::::::::::::
    ak2010.bfs.timing_gpu
    ::::::::::::::
    2.532
    ::::::::::::::
    ak2010.cc.timing_gpu
    ::::::::::::::
    693.709
    ::::::::::::::
    ak2010.pagerank.timing_gpu
    ::::::::::::::
    403.707
    ::::::::::::::
    ak2010.sssp.timing_gpu
    ::::::::::::::
    895.959
    ::::::::::::::
    belgium_osm.bfs.timing_gpu
    ::::::::::::::
    50477.3
    ::::::::::::::
    belgium_osm.cc.timing_gpu
    ::::::::::::::
    308922
    ::::::::::::::
    belgium_osm.pagerank.timing_gpu
    ::::::::::::::
    6188.14
    ::::::::::::::
    belgium_osm.sssp.timing_gpu
    ::::::::::::::
    245204
    ::::::::::::::
    coAuthorsDBLP.bfs.timing_gpu
    ::::::::::::::
    294.236
    ::::::::::::::
    coAuthorsDBLP.cc.timing_gpu
    ::::::::::::::
    2305.12
    ::::::::::::::
    coAuthorsDBLP.pagerank.timing_gpu
    ::::::::::::::
    4419.37
    ::::::::::::::
    coAuthorsDBLP.sssp.timing_gpu
    ::::::::::::::
    4410.53
    ::::::::::::::
    delaunay_n13.bfs.timing_gpu
    ::::::::::::::
    20.194
    ::::::::::::::
    delaunay_n13.cc.timing_gpu
    ::::::::::::::
    132.053
    ::::::::::::::
    delaunay_n13.pagerank.timing_gpu
    ::::::::::::::
    51.655
    ::::::::::::::
    delaunay_n13.sssp.timing_gpu
    ::::::::::::::
    197.521
    ::::::::::::::
    delaunay_n21.bfs.timing_gpu
    ::::::::::::::
    62149.9
    ::::::::::::::
    delaunay_n21.cc.timing_gpu
    ::::::::::::::
    533161
    ::::::::::::::
    delaunay_n21.pagerank.timing_gpu
    ::::::::::::::
    19157.8
    ::::::::::::::
    delaunay_n21.sssp.timing_gpu
    ::::::::::::::
    815236
    ::::::::::::::
    kron_g500-logn21.bfs.timing_gpu
    ::::::::::::::
    10211.2
    ::::::::::::::
    kron_g500-logn21.cc.timing_gpu
    ::::::::::::::
    129696
    ::::::::::::::
    kron_g500-logn21.pagerank.timing_gpu
    ::::::::::::::
    1.15042e+06
    ::::::::::::::
    kron_g500-logn21.sssp.timing_gpu
    ::::::::::::::
    204678
    ::::::::::::::
    soc-LiveJournal1.bfs.timing_gpu
    ::::::::::::::
    9495.58
    ::::::::::::::
    soc-LiveJournal1.cc.timing_gpu
    ::::::::::::::
    138763
    ::::::::::::::
    soc-LiveJournal1.pagerank.timing_gpu
    ::::::::::::::
    323259
    ::::::::::::::
    soc-LiveJournal1.sssp.timing_gpu
    ::::::::::::::
    88575.9
    ::::::::::::::
    webbase-1M.bfs.timing_gpu
    ::::::::::::::
    24.226
    ::::::::::::::
    webbase-1M.cc.timing_gpu
    ::::::::::::::
    5177.71
    ::::::::::::::
    webbase-1M.pagerank.timing_gpu
    ::::::::::::::
    7378.59
    ::::::::::::::
    webbase-1M.sssp.timing_gpu
    ::::::::::::::
    4835.4

     
  • Bryan Thompson

    Bryan Thompson - 2013-08-04

    Fix allows you to specify the implementation (cuda, open mp, or tbb) in r35.

     
  • Bryan Thompson

    Bryan Thompson - 2013-08-04
    • status: open --> closed
     

Log in to post a comment.