Skip to content
This repository has been archived by the owner on Jan 26, 2024. It is now read-only.

How to build this on windows? #43

Open
SASkievua opened this issue Nov 5, 2017 · 6 comments
Open

How to build this on windows? #43

SASkievua opened this issue Nov 5, 2017 · 6 comments
Assignees
Labels

Comments

@SASkievua
Copy link

What installation steps exactly must be done to build this on windows?

@Ruyk Ruyk assigned cjdb Nov 6, 2017
@cjdb cjdb added the question label Nov 6, 2017
@cjdb
Copy link
Collaborator

cjdb commented Nov 6, 2017

This will be addressed by #41.

@SASkievua
Copy link
Author

Do I understand correctly that now only ComputeCpp supported for windows build in /origin/parallel-stl-msvc/?
And likewise in /origin/vs2015_solution/ ?

@Ruyk
Copy link
Contributor

Ruyk commented Nov 10, 2017

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.

@keryell
Copy link
Member

keryell commented Nov 10, 2017

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

@MathiasMagnus
Copy link

MathiasMagnus commented Nov 12, 2017

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.

@keryell
Copy link
Member

keryell commented Jan 9, 2018

In #53 there is some Visual Studio support from @MathiasMagnus for triSYCL but I have not tested it.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

5 participants