CUDA Tests
==========

Cuda tests are enabled if cmake is invoked with
-DTEST_SUITE_EXTERNALS_DIR=<externals path> and specified externals
directory contains at least one CUDA installation.

Expected externals directory structure:
Externals/
  cuda/
    cuda-X.Y/  -- One or more CUDA installation.
    gcc-X.Y.Z/ -- One or more GCC installation for libstdc++.

export EXTERNALS=/your/externals/path
export CUDA_EXTERNALS=$EXTERNALS/cuda  # Note: not $EXTERNALS!
export CLANG_DIR=/your/clang/build/dir
export TEST_SUITE_DIR=/path/to/test-suite-sources

* Externals installation
  For each cuda version:
    $ bash cuda-linux64-rel-XXXXXX.run --toolkit --toolkitpath=$CUDA_EXTERNALS/cuda-Y.Z --silent

  To install libstdc++:
    # Clone GCC, doesn't need to live inside of $CUDA_EXTERNALS.
    $ git clone git://gcc.gnu.org/git/gcc.git
    $ cd gcc

    # Repeat starting from here for each version of libstdc++ you want.
    $ git checkout gcc-6_2_0  # or whatever version
    $ mkdir objdir
    $ cd objdir
    $ ../configure --enable-languages=c,c++ --disable-libsanitizer
    $ make bootstrap
    $ make DESTDIR=$CUDA_EXTERNALS/gcc-X.Y.Z install
    $ cd ..
    # Nuke the objdir before building a different gcc version.
    $ rm -rf objdir

  Fetch thrust:
    $ git clone https://github.com/thrust/thrust.git $CUDA_EXTERNALS/thrust

* Configure, build and run tests
  Note that if externals are checked out into <test-suite>/test-suite-externals
  there's no need to specify location explicitly with -DTEST_SUITE_EXTERNALS_DIR=

  $ mkdir test-suite-build-dir
  $ cd test-suite-build-dir
  $ PATH=$CLANG_DIR/bin:$PATH CXX=clang++ CC=clang \
    cmake -G Ninja -DTEST_SUITE_EXTERNALS_DIR=$EXTERNALS $TEST_SUITE_DIR
  $ ninja cuda-tests-all
  $ lit -j1 External/CUDA

  When you run cmake, it should say "Found CUDA prerequisites $CUDA_EXTERNALS",
  followed by "Found cuda X.Y" and "Found GCC X.Y.Z" for each version you've
  installed.

  There's a cuda-tests-simple target that excludes tests that take a long time
  to build (Thrust), and cuda-tests-thrust builds only Thrust.

  There are also top-level targets that build only one particular variant of the
  tests:

    cuda-tests-<variant_suffix>

  where <variant_suffix> is <cuda-version>-<c++ std>-<libc++|libstdc++-version>

  Similarly individual test variants can be built using the same convention:

    <test_name>-<variant suffix>

  E.g: thrust-cuda-7.5-c++98-libstdc++-4.9.3 OR axpy-cuda-7.0-c++11-libc++

  `ninja help | grep cuda` will show all the targets, for your copy/pasting
  pleasure.
