Skip to content
This repository was archived by the owner on Aug 11, 2023. It is now read-only.

Conversation

@DuncanMcBain
Copy link
Member

Moving these compiler checks to a separate module keeps the main
FindComputeCpp.cmake clean and makes the checks "opt-in", if you
know that you won't need the check for your project.

@MathiasMagnus @ProGTX I'd appreciate if you could look at this!
Should fix #159

Moving these compiler checks to a separate module keeps the main FindComputeCpp.cmake clean and makes the checks "opt-in", if you know that you won't need the check for your project.
Copy link
Contributor

@mmha mmha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks sensible to me.

It might be a good idea to put all of this inside a function like computecpp_check_compiler() so it doesn't execute (and inserts variables) by merely importing the module

@MathiasMagnus
Copy link
Contributor

I'll take a look on monday. I've not checked the code out yet, but I generally agree with the comment.

@ProGTX
Copy link
Contributor

ProGTX commented Dec 10, 2018

Looks good, seems to work.

@DuncanMcBain DuncanMcBain removed the bug label Dec 11, 2018
@DuncanMcBain
Copy link
Member Author

I kind of want it to execute just on import, since that's kind of the point. If you want the compiler checks, boom, import(ComputeCppCompilerChecks). If you don't want them... don't 😛

@MathiasMagnus
Copy link
Contributor

Fair enough… I mean it's just bikeshedding afterall. The functionality is there, if it really hurts anyone, we can reiterate. The checks have to be made anyhow, so this will be invoked inside FindComputeCpp.cmake anyway. Perhaps the nuance of a difference might be apparent when we go about guarding FindComputeCpp.cmake against multiple runs.

@DuncanMcBain DuncanMcBain merged commit b4da41a into master Dec 11, 2018
mehdi-goli pushed a commit to mehdi-goli/computecpp-sdk that referenced this pull request Dec 12, 2018
* Add explicit tests option to CMakeLists.txt This option has existed for some time, but was never explicitly written in the main CMake file. While adding this, some old unused lines were removed from the CMake (the directory has long not been set by FindComputeCpp.cmake, so the lines were totally useless). * This commit removes the unnessasary usage of the buffer allocator in virtual pointer. * Add check so `end` iterator is not dereferenced (codeplaysoftware#150) The current behaviour of `get_node` in the virtual pointer mapper will use `lower_bound` to get the buffer which is not less than the input pointer. If the pointer mapper has only allocated one buffer, and we are looking up a pointer offset into that buffer then the call to `lower_bound` will return an iterator pointing past the end of the map. This means we cannot dereference this iterator, as it does not point into the map, but we still want to decrement this iterator to get the buffer that the virtual pointer is referencing. By adding a check for whether the iterator is the end we can short circuit the iterator dereference, and so avoid this problem without otherwise changing the behaviour of the pointer mapper. * Fix type shadowing (codeplaysoftware#152) The type buffer_t is defined in the class PointerMapper and redefined to a different type in get_buffer which results in shadowing warnings. SYCLmalloc doesn't have this issue but the alias should probably be changed for consistency. * Add property_list parameter to syclmalloc (codeplaysoftware#157) Property lists are useful, and we still want to pass them to buffers through the SYCL malloc interface. In addition, a related test was failing because of an interface change, and has been removed. * Improve portability of FindComputeCpp.cmake Contains improvements designed to improve the reliablity of FindComputeCpp.cmake, brought on by the MSVC policy of supporting only two Clang versions at any given time. * Added way to check MSVC STL/Clang compatibility * Fix and simplify force-include for MSVC * Ensure device compiler arguments are always stored as CMake list * Added initial example of builtin kernel Small sample showing how to use built-in kernels in ComputeCpp. * Warn when computecpp_info can't be found Fixes issue codeplaysoftware#126 but allows for optional ComputeCpp use. * Add synchronous error handling sample (codeplaysoftware#163) Specifically this shows a device selector that fails to find a device. Similar effect could be achieved with the fallback queue. This should fix codeplaysoftware#105. * Move compiler checks to separate module (codeplaysoftware#160) Moving these compiler checks to a separate module keeps the main FindComputeCpp.cmake clean and makes the checks "opt-in", if you know that you won't need the check for your project. * Changes to the tiled-convolution branch * Use `handler::copy` instead of copying in kernel * Initialize output data to zero * Only create single temporary buffer object * Use on-chip memory for temporary buffer objects * Made `compute_index` a single function * Added existing sample from master * As `tiled-convolution-standard` * `input_data_info` * Changed OpenCL parameters * Addressed many PR comments * `constexpr matrix_size_t` * Typo fixes and formatting * Validate returns `bool` * No need to specifiy global buffer target * CMake cleanup * Display profiling
@DuncanMcBain DuncanMcBain deleted the split-cmake-compiler-checks branch December 14, 2018 16:37
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.