Commits on Oct 1, 2018
  1. Check if ComputeCpp target exists before adding (#146)

    jwlawson authored and DuncanMcBain committed Oct 1, 2018
    Rather than just adding the import ComputeCpp target, check to ensure
    that the target doesn't already exist. This could happen if a single
    cmake list ends up calling `find_package(ComputeCpp)` multiple times.
Commits on Sep 27, 2018
  1. Update SDK to ComputeCpp v1.0.1

    DuncanMcBain committed Sep 27, 2018
    The workaround for the reinterpret feature has been removed, as it
    is no longer necessary.
  2. Change PATH to HINTS in FindComputeCpp.cmake

    DuncanMcBain committed Sep 27, 2018
    When using PATH in calls to find_program (and friends), the system
    path is searched before the directory specified in PATH. This
    behaviour rarely produces a result different to what the user expects
    but can occasionally, so using HINTS instead will make CMake check
    the user-specified directory first.
Commits on Sep 20, 2018
  1. Simplify crosscompilation tooling (#144)

    ProGTX authored and DuncanMcBain committed Sep 20, 2018
    Added `ComputeCpp_HOST_DIR` option to al;low the user to specify
    that the host binaries are in a different location to the target binaries.
Commits on Sep 12, 2018
  1. Update depfile generation for device compiler

    DuncanMcBain committed Sep 12, 2018
    Ninja has a problem if the name of the object doesn't match what it
    expects, so this changes the generation to output a relative path, not
    an absolute one. Additionally, the quotes in the optional DEPFILE
    variable were causing problems, so they have also been removed.
    Many thanks to @jwlawson for finding and fixing this.
Commits on Sep 7, 2018
  1. Update exception handling in parallel for sample

    DuncanMcBain committed Sep 7, 2018
    The correct exception types are now caught by the catch clauses.
    Additionally we catch by const&.
Commits on Sep 4, 2018
  1. Update CUDA to SYCL converter naming (#138)

    Cp-Graham authored and DuncanMcBain committed Sep 4, 2018
    The folder names have been updated, and minor corrections made
    to the text of the README.
Commits on Sep 3, 2018
  1. Remove -isystem from device compiler command

    DuncanMcBain committed Sep 3, 2018
    This was causing issues if you installed ComputeCpp to a system
    directory (like /usr). It was necessary in old code, but isn't
    needed any more since we get all includes from the target that is
    being compiled.
Commits on Aug 31, 2018
  1. Replace target_link_libraries with set_property (#139)

    mmha authored and DuncanMcBain committed Aug 31, 2018
    This will enable CMake code that uses `target_link_libraries` without the
    keywords `PRIVATE|PUBLIC|INTERFACE` to continue to work with our CMake,
    as those keyword changes aren't backwards compatible. The syntax in this
    commit is compatible with both old and new.
  2. Remove CUDA to SYCL example (#137)

    Cp-Graham authored and DuncanMcBain committed Aug 31, 2018
Commits on Aug 29, 2018
  1. Update makefile example for PkgConfig support (#135)

    mmha authored and DuncanMcBain committed Aug 29, 2018
Commits on Aug 23, 2018
  1. version updated to 1.0.0

    Cp-Graham committed Aug 23, 2018
    This commit updates the version to 1.0.0
Commits on Aug 17, 2018
  1. Add graphical SYCL demos (#48)

    Vtec234 authored and DuncanMcBain committed Aug 17, 2018
Commits on Jul 30, 2018
  1. Adding cuda to sycl converter class (#129)

    mehdi-goli committed Jul 30, 2018
    * Adding cuda to sycl convetor
    * Adding
Commits on Jul 26, 2018
  1. Use depfiles in FindComputeCpp.cmake (#130)

    mmha authored and DuncanMcBain committed Jul 26, 2018
    Adds `DEPFILE` to the custom command that invokes the device compiler to
    trigger rebuilds of the integration header once an included header changed when
    using the Ninja generator and CMake 3.7 and up.
    Also, ComputeCpp_ROOT_DIR is set based on the location of the INCLUDE
    directory. These locatons are derived from the cache variable passed
    by the user, if present, failing that an environment variable, and if
    neither are passed, the standard system locations.
    Additionally removes a trailing whitespace.
Commits on Jul 20, 2018
  1. Update SDK to ComputeCpp v0.9.1

    cjdb authored and DuncanMcBain committed Jul 20, 2018
    The change to the Windows debug library has been reverted. It was fixed
    in the 0.9.1 release. Additionally, there have been some minor API
    updates from the SYCL working group in Khronos, resulting in some small
    changes to the samples. For details, see the blogpost on the Codeplay
Commits on Jul 18, 2018
  1. Update copyright year

    rodburns committed Jul 18, 2018
Commits on Jul 5, 2018
  1. Update SDK to ComputeCpp v0.9.0

    DuncanMcBain committed Jul 5, 2018
    Obviously, the Travis change. Slightly less obviously, the debug
    build of ComputeCpp for Windows (which links against the debug CRT)
    is missing from the package. If you are building on Windows, you
    might get link errors for debug builds, or possibly even runtime
    crashes. If you do run into any errors, please let us know. It will
    be fixed in a subsequent release.
Commits on Jul 4, 2018
  1. Remove -emit-llvm from compiler flags

    DuncanMcBain committed Jul 4, 2018
    This old flag is no longer required. It will eventually be removed
    from computecpp_info, but until then we can filter it out.
  2. [sample/tiled-convolution[ Enable overriding local size (#124)

    mehdi-goli authored and Ruyk committed Jul 4, 2018
    Simple patch that enables overriding the local size using a pre-processor macro.
Commits on Jun 28, 2018
  1. Add crosscompilation toolchains to SDK

    DuncanMcBain committed Jun 28, 2018
    Bright-eyed watchers might have noticed that the previous
    FindComputeCpp.cmake changes added some small support for
    crosscompilation. These toolchain files require environment
    variables to be set to identify the location of the tools.
    From there, everything should be automatic!
  2. Add sample tiled convolution

    mehdi-goli authored and DuncanMcBain committed Jun 28, 2018
    This sample demonstrates how to do tiled convolutions in SYCL.
    It also has some sample profiling code.
Commits on Jun 25, 2018
  1. Update Travis configuration (#122)

    DuncanMcBain committed Jun 25, 2018
    Unfortunately we install an old version of CMake while travis appears
    to have a nice new one preinstalled which we should use instead.
    The previous changeset changed the CXX standard to a global
    property. It appears it is still broken in the version of CMake
    used on Travis, regrettably.
  2. Update CMake version required

    DuncanMcBain committed Jun 25, 2018
    The minimum version of CMake needed is now 3.4.3. This version is
    still quite old, and is required by some other projects (e.g. LLVM).
    This might be a problem if you are still on Ubuntu 14.04 - please
    let us know if you are.
Commits on Jun 22, 2018
  1. Modernise FindComputeCpp.cmake (#118)

    DuncanMcBain committed Jun 22, 2018
    This is a very large update to FindComputeCpp.cmake that brings with
    it (regrettably) some API changes. See the samples for details, but
    the short story is that the add_sycl_to_target function now takes
    named parameters, which has helped a lot. Additionally, there have
    been bugfixes in the internals of the module, meaning that the include-
    after property is more well-behaved.
    The other change that is most likely to affect users is the way in which
    different bitcode outputs are selected. Previously different options
    like "USE_PTX" or similar could be specified, but now an actual value
    must be set, and defaults to spir64. This requires a little more work
    on the part of the user when a different kind of IR is needed but is
    more robust.
Commits on Jun 19, 2018
  1. Fix OpenCL interop sample

    DuncanMcBain committed Jun 19, 2018
    The sample doesn't specifically need a GPU device, it just needs
    any OpenCL device that can consume SPIR and OpenCL C. The easiest
    way to do this is to use the default selector and bail out if it
    is running on a host device (which can't do much with the OpenCL
    C kernel).
Commits on May 15, 2018
  1. Update SDK to ComputeCpp v0.8.0 (#115)

    DuncanMcBain committed May 15, 2018
    The hierarchical samples now have the required h_item. Other samples
    have had updates to their vector code, as single-element swizzles now
    return 1-d vectors, not scalars, so require some coercing.
    Additionally the travis config was slightly updated again, hopefully
    to be even more robust with regards to the new ComputeCpp version.
  2. Fix Windows tests (#114)

    psalz authored and DuncanMcBain committed May 15, 2018
    For more details, see:
    This is also a necessary (but not sufficient) change in order to make
    the tests build on Windows again.
    This changes the hardcoded static library paths for Google Test, as
    these paths (and file names) differ for Windows builds. CMake is
    perfectly able to locate them just by name.
    Likewise, instead of linking pthreads directly, the cross-platform CMake
    "Threads" are used instead.
    Additionally, the C++ language standard for the legacy-pointer tests is
    changed from 11 to 14, as Clang will otherwise complain about missing
    trailing return types in some MS headers.
  3. Fix const capture crash on Windows CMake builds (#113)

    psalz authored and DuncanMcBain committed May 15, 2018
    For more details, see:
    This is also a necessary (but not sufficient) change in order to make
    the tests build on Windows.
Commits on May 11, 2018
  1. Handle alloc of size zero in vptr (#110)

    Rbiessy authored and DuncanMcBain committed May 11, 2018
    * Update vptr to handle zero-size allocations
    * Add alloc_zero test
Commits on Apr 20, 2018
  1. Update error handling in accessors.cpp (#106)

    cjdb authored and DuncanMcBain committed Apr 20, 2018
    * Changed the catch block so that it catches by exception
    * Changed std::endl to '\n'
Commits on Apr 16, 2018
  1. Update SDK to ComputeCpp v0.7.0

    DuncanMcBain committed Apr 16, 2018
  2. Expose OpenMP support in samples in CMake (#103)

    mmha authored and DuncanMcBain committed Apr 16, 2018
    The matrix-multiply sample has some OpenMP code for comparison's
    sake, but there was no way to enable it through our configuration.
    This changeset allows the user to request OpenMP support for the matmul.
Commits on Apr 12, 2018
  1. Add new reinterpret buffer sample code

    DuncanMcBain committed Apr 12, 2018
    This new sample shows how the reinterpret buffer feature works. It
    also shows a minor workaround required for the current version of
    ComputeCpp related to dependency checking and reinterpreted buffers.
    The sample shows how you can manipulate floating-point numbers as
    though they are integers. Who knows, maybe your hardware doesn't
    have an FP unit?
Commits on Apr 3, 2018
  1. Use offset variable in for loop limits

    DuncanMcBain committed Apr 3, 2018