Announcement

Collapse
No announcement yet.

You Can Now Benchmark The ArrayFire GPU Library With The Phoronix Test Suite

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • You Can Now Benchmark The ArrayFire GPU Library With The Phoronix Test Suite

    Phoronix: You Can Now Benchmark The ArrayFire GPU Library With The Phoronix Test Suite

    If you have some spare GPU cycles this weekend, ArrayFire can now be benchmarked via the Phoronix Test Suite...

    http://www.phoronix.com/scan.php?pag...re-PTS-Testing

  • #2
    Well....that's a very pleasant surprise. And thanks to nevion. Onward and upward for PTS !

    Comment


    • #3
      Fought getting it to build, and it fails when I run it on Mac OS. T_T cry

      Comment


      • #4
        labyrinth153 I'll see if I can shine a light in the right direction - if you can compile arrayfire itself in a manner similar to the build the script like below that's probably most of the way towards the test executing. Make sure you set OpenCL_INCLUDE_DIR appropriately. After that see if you can play with the core benchmark utility here: https://github.com/nevion/arrayfire-benchmark . There's a few awk and perl commands scrubbing the test results too so those may be an additional failure point.

        Code:
        git clone -b pts --recursive https://github.com/nevion/arrayfire.git arrayfire_source
        cd arrayfire_source
        git submodule init
        git submodule update
        # Compile ArrayFire and install it to a local directory
        mkdir -p arrayfire_source/build
        cd arrayfire_source/build
        cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=$HOME/arrayfire \
            -DBUILD_EXAMPLES=OFF -DBUILD_DOCS=OFF -DBUILD_TEST=OFF \
            -DBUILD_GRAPHICS=OFF -DOpenCL_INCLUDE_DIR=${OpenCL_INCLUDE_DIR} ..
        make -j12
        It's kind of a one shot deal on the of build of arrayfire - so if it fails to build you may also need to clean stale build products (e.g. rm -r ~/.phoronix-test-suite/installed-tests/local/arrayfire , or wherever it manages to get installed), then run the build again
        Last edited by nevion; 01-22-2017, 07:01 AM.

        Comment


        • #5
          Some initial results - http://www.phoronix.com/scan.php?pag...A-Pascal-Linux
          Michael Larabel
          http://www.michaellarabel.com/

          Comment


          • #6
            Originally posted by nevion View Post
            It's kind of a one shot deal on the of build of arrayfire - so if it fails to build you may also need to clean stale build products (e.g. rm -r ~/.phoronix-test-suite/installed-tests/local/arrayfire , or wherever it manages to get installed), then run the build again
            Thanks nevion! I will do some debugging later today when I can.

            Comment


            • #7
              Hey Guys,

              I tried to do a pts install of the arrayfire benchmark, and the install fails with a "pushd: not found" due to something about the shell being invoked not providing the pushd/popd builtins for me (pushd/popd are evidently bash extensions to sh, while at least in ubuntu 16.10, sh links to dash).

              The below diff fixes it up for me.

              Code:
              diff --git a/install.sh b/install.sh
              index 31e1865..48583ea 100644
              --- a/install.sh
              +++ b/install.sh
              @@ -40,16 +40,16 @@ tar -xvzf arrayfire-benchmark-git-20170116.tar.gz
              
               if [ ! -e arrayfire-benchmark.git/bin/benchmark_opencl ]
               then
              -    pushd arrayfire-benchmark.git
              +    test_dir=`pwd`
              +    cd arrayfire-benchmark.git
                   AF_ROOT=`pwd`
                   ./updateLibraries.sh --build --prefix=${AF_ROOT} --cl-path=${OpenCL_INCLUDE_DIR}
              -    pushd build
              +    cd build
                   cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DArrayFire_DIR=${AF_ROOT}/arrayfire-3/share/ArrayFire/cmake -DOpenCL_INCLUDE_DIR=${OpenCL_INCLUDE_DIR} ..
                   #make -j${NUM_CPU_CORES} benchmark_opencl
                   make -j${NUM_CPU_CORES}
                   echo $? > ~/install-exit-status
              -    popd
              -    popd
              +    cd ${test_dir}
               fi
               #pushd arrayfire-benchmark.git
               cd ~/
              Last edited by Veerappan; 01-23-2017, 09:35 AM.

              Comment

              Working...
              X