The reason it doesn't have a Windows installer is that a process
post-build host-based tuning which was used on clAmdBlas has been
replaced by direct access to driver properties in the compilation of
clBlas. This means that each user of the package has to compile it on
their machine before they can use it, which also means that wrappers
for the package to pyOpenCL have to be built at that time. In
addition, if you have a machine with multiple OpenCL devices (for
example I have AMD and Intel OpenCL on my workstation, with the Intel
CPU chip acting as a separate platform and device), I don't know if
the build is correct and optimal for all devices and platforms on the
machine at build time or only correct and optimal for the AMD device.
Thanks for sharing your wrapper. So clBlas does tuning at the actual
build time of the library? That seems a little weird, given that the
device that the dgemm would target might not even be available until
runtime... and since OpenCL makes JIT so easy, I get this even less.
Looking at the source, it seems that the library might ship a binary
called clblastune that a use could run to redo the hw tuning:
If the tuning could be done after the fact, I don't really see the
obstacle to a Windows installer.