How to build this on windows?
SASkievua opened this issue · 6 comments
What installation steps exactly must be done to build this on windows?
Do I understand correctly that now only ComputeCpp supported for windows build in /origin/parallel-stl-msvc/?
And likewise in /origin/vs2015_solution/ ?
I am not sure about triSYCL support on Windows, but maybe @keryell can say something about it ? There is nothing ComputeCpp specific on the changes for windows that are coming soon, but we are not testing internally with triSYCL on windows at the moment.
i do not think triSYCL is tested with the ParallelSTL with Visual Studio.
But at least the unit tests of triSYCL work on CPU & OpenMP with Visual Studio thanks to the amazing contribution from @MathiasMagnus
I have not tested it myself (though now that you mention it, I did want to make an alternative backend to triSYCL, one that uses the parallel STL, and SyclParallelSTL might be a really good starting point with no vendor pSTL implementations out there).
Should you want to use parallelSTL with triSYCL, I believe all you need is make the same defines as we do for all our unit tests and turn on OpenMP support within the compiler. I do not know if you're using CMake, but you might get some inspiration as to what to do from our CMakeLists files, particularily from the one that declares the add_sylc_to_target
function here. (Sorry, no standalone files available, triSYCL has 100+ unit tests and I wanted to create a centrallized function, so it's easy to update across all the tests.) This is the function that sets up everything on the target that is triSYCL specific. It has a fair amount of generator expressions (testing for the boolean value of triSYCL behavioral options), but basically you can go for the unconditional links and includes, and OpenMP, which is opt-in for triSYCL (ON by default).
I intentionally named the utility function add_sycl_to_target
which is the same utility function used for ComputeCpp, one day I would like to create not a FindTriSycl.cmake
and FindComputeCpp.cmake
, but simply a FindSYCL.cmake
which can detect both and use them in a way that makes sense.
Hope that helps.
In #53 there is some Visual Studio support from @MathiasMagnus for triSYCL but I have not tested it.