@stevebronder sent me this message but I have some time constraints in the next couple of weeks so I want to open this up. @mitzimorris said she might be able to help with this issue. Pasted the message below:
Is the Jenkins computer a mac? Usually Mac’s should come with OpenCL, but this one does not seem to have anything available?
Apple ships OpenCL but not the C++ header only wrapper cl.hpp: you need to download the header and probably commit it to your repo, then it should work fine w/o AMD’s OpenCL SDK.
@mitzimorris thanks! I believe this is the last piece the GPU side needs for testing. Once we pass Jenkins we can start the review process
@maedoc apologies, I grabbed the wrong console output from the jenkins run. In the below output you can see the tests fail because of a linker error for OpenCL and not the OpenCL header IE
ld: library not found for -lOpenCL
clang: error: linker command failed with exit code 1 (use -v to see invocation)
uhm… at the risk of hijacking this… I am in a similar situation as I need to test code inside Stan with has “special” dependencies (MPI). So I am wondering how you solved the issues around
making sure that during the tests you have access to the GPU - in terms of hardware and in terms of additional software dependencies
what do you do with tests which rely on the presence of a GPU on machines which do not have them? Are these tests disabled and if so, how?
making sure that during the tests you have access to the GPU - in terms of hardware and in terms of additional software dependencies
what do you do with tests which rely on the presence of a GPU on machines which do not have them? Are these tests disabled and if so, how?
We are able to install the AMD-SDK for Travis which compiles the OpenCL so it runs on the CPU (see here). Jenkins has OpenCL installed already (mac) and also compiles on the CPU for testing.
This blog seems to have a decent explanation of how to test MPI based code on Travis. For Jenkins we may have to install an MPI package
I’m working on problems in which GPU integration into Stan would be extremely helpful. I talked to some of the developers at StanCon2018 about lending a hand with the effort. How get started to help contribute?
At this point we have everything working and are breaking down the GPU PR into smaller PRs for review purposes (while dotting some T’s and crossing some i’s along the way).
The rest are tbd. I think at this point I would rather get a green light on these three then build out the rest so that I don’t have to merge/rebase two more PRs
That test ran on the linux node. I thought maybe we were running the GPU tests on the Mac Pro? If this is the case, you should change the agent line to refer to gelman-group-mac.
Oh wait, I already installed the thing on the linux box. Or at least, I ran the travis script you linked to, but that just installed it for my current user and current session. What’s the appropriate way to install this for all users?