conda-forge / libgpuarray-feedstock

A conda-smithy repository for libgpuarray.
BSD 3-Clause "New" or "Revised" License
0 stars 7 forks source link

Building with an OpenCL BLAS #6

Open jakirkham opened 7 years ago

jakirkham commented 7 years ago

Am working on adding two OpenCL BLASes to conda-forge. In particular am adding clBLAS and CLBlast. IIUC libgpuarray can support one or the other. So am opening this issue to discuss how we handle building libgpuarray. With CPU BLAS support we have a selection package, which determines the CPU BLAS used by all packages. Perhaps a similar strategy makes sense here.

xref: https://github.com/conda-forge/staged-recipes/pull/3190 xref: https://github.com/conda-forge/staged-recipes/pull/3196 ref: https://github.com/conda-forge/blas-feedstock ref: https://conda-forge.hackpad.com/BLAS-Numpy-Friends-86De62hoNdT

jakirkham commented 7 years ago

Actually it seems like these might be run time detected, which I did not realize before. This is unnecessary in that case.

nouiz commented 7 years ago

That would be great! It would allow us to test in Travis more code when the package are available.

Le lun. 26 juin 2017 19:46, jakirkham notifications@github.com a écrit :

Actually it seems like these might be run time detected, which I did not realize before. This is unnecessary in that case.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/conda-forge/libgpuarray-feedstock/issues/6#issuecomment-311212450, or mute the thread https://github.com/notifications/unsubscribe-auth/AALC--hQ4DNYSU9KPyPdy27hm4qajIWwks5sIELLgaJpZM4OFiF0 .

jakirkham commented 7 years ago

To make sure I understand this correctly, libgpuarray doesn't link against clblas, but it can load it at run time even if it wasn't present at build time, correct? If that's the case, we can just make clblas a test requirement and run some tests. Will libgpuarray skip tests it doesn't have dependencies for? Also how would we also run clblast tests? Can clblas and clblast be installed at the same time during the tests or do we have to pick one?

abergeron commented 7 years ago

Yes, libgpuarray doesn't require clblas (or clblast) to be present at build time and it will load it at runtime if found.

Currently tests that don't have the requirements will fail. We could change that so they are skipped instead.

To run with both clblas and clblast, we would have to run the tests two times in different environments since it will only load one of the libraries with a fixed order of preference.