summaryrefslogtreecommitdiff
path: root/opencl
AgeCommit message (Collapse)AuthorFilesLines
2015-04-22Various #include <sal/log.hxx> fixupsStephan Bergmann2-0/+2
rtl/string.hxx and rtl/ustring.hxx both unnecessarily #include <sal/log.hxx> (and don't make use of it themselves), but many other files happen to depend on it. Cleaned up some, but something like grep -FwL sal/log.hxx $(git grep -Elw \ 'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF') -- \*.cxx) shows lots more files that potentially need fixing before the include can be removed from rtl/string.hxx and rtl/ustring.hxx. Change-Id: Ibf033363e83d37851776f392dc0b077381cd8b90
2015-03-28Clean up C-style casts from pointers to voidStephan Bergmann3-22/+22
Change-Id: I7e6315bf2a2e3d6e089ef8f5eacc69d2b413374a
2015-03-20Typo: (O/o)veride(n)->(O/o)verride(n)Julien Nabet1-1/+1
Change-Id: Ied81ede9aaf045866596adc40d357cbbddb3d704
2015-03-02OpenCL: correctly handle platforms without devicesGiuseppe Bilotta1-4/+22
When an OpenCL platform has no devices (of the requested type), calls to clGetDeviceIDs() are required to return with the error value CL_DEVICE_NOT_FOUND. Some platforms (e.g. Clover as of Mesa 10.4.2) do not touch their output parameters in such cases, which means that in some conditions the `num` variable where the number of devices of the platform should be stored may be used uninitialized. This can lead to segmentations faults in the subsequent calls to clGetDeviceInfo(). Simply reinitializing num to 0 is sufficient to prevent the segfault in the case of Mesa, but proper error handling is included for completeness. Change-Id: Ia25192f6aa953838a545a9e7c9fca050d2703b60 Reviewed-on: https://gerrit.libreoffice.org/14700 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2015-02-10Add SAL_INFOs for tracing kernel and program life cycleTor Lillqvist1-0/+1
Change-Id: Icb28114d3939063dedaedbd0ce370210b3721fc5
2015-02-06shared_ptr<T>(new T(args)) -> make_shared<T>(args)Caolán McNamara1-1/+1
and boost:make_shared->std::make_shared Change-Id: Ic1e187c52c856a7b27817967b2caa8920f23a98d
2015-02-06Move OpenCLError::strerror() from sc to opencl, and rename to errorString()Tor Lillqvist1-0/+58
There is nothing Calc-specific in this function, and surely it will be good to output OpenCL errors symbolically also in the opencl module. Change-Id: Ibe7d0d036f24dd87e06b8290224e1033dda0f3d1
2015-02-05The horrible CHECK_OPENCL() fortunately is used only in openclwrapper.cxxTor Lillqvist1-0/+14
So move it there. While at it, make it use SAL_WARN() instead of printf. Also, add a few more SAL_WARN() and SAL_INFO(). Change-Id: Ib058fb20d07757331ca364a8d7649abc59e9494b
2015-01-20Some more loplugin:cstylecast: openclStephan Bergmann1-2/+2
Change-Id: I93c590a71ea768511a89d6fe17dc7aa01fe73b02
2015-01-19Fix typo comments Resouce->ResourceAndrea Gelmini1-1/+1
Change-Id: Ia3195a21ad46b4c9830ee6293135dfe5945986a2 Reviewed-on: https://gerrit.libreoffice.org/13985 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-01-07Set up foundation for supporting multiple OpenCL command queues per device.Kohei Yoshida1-15/+51
Change-Id: Ia63c8bd6552cdbc2b5eabadaa044b9f1eca5f664
2014-12-18opencl: Use appropriate OUString functions on string constantsStephan Bergmann1-4/+4
Change-Id: I0c461fa2c2ac62f9dd63e793f8cbc0c68c510082
2014-12-17Enable out-of-order kernel execution.Kohei Yoshida1-1/+1
Change-Id: I4dbc69ca2618c37184ffdc217493e3880e149617
2014-12-08Don't treat clew as part of an "external" clcc moduleTor Lillqvist2-2/+3
There is no obvious authoritative upstream for clew anyway, so it causes philosophical problems for distros. For a while, we used to use a zip archive from the "clcc" project on SourceForge that included clew.c and clew.h. (Before that we also just had clew.c and clew.h in our source repo.) So, drop the external/clcc module and have clew.c and clew.h in the source repo again. But this time clew is in a module of its own, not in sc. This re-introduces "No need to have OpenCL optional at configure-time" This reverts commit 764836cb00e8e6dfd2ab48e080a166ec90359e01. Change-Id: I413142f4f9f8399489f9c3e5327132822f07a454 Reviewed-on: https://gerrit.libreoffice.org/13368 Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com>
2014-11-27The OpenCLEnv struct is used only inside openclwrapper.cxxTor Lillqvist1-0/+8
Change-Id: I95fbee302213e6ced469dd7a2a1c254178159357
2014-11-27Clean up confusing OpenCL code a bitTor Lillqvist3-71/+67
Get rid of the silly OpenCLDevice class that had only static members. We can as well just use namespacing. Remove functions only used internally in openclwrapper.cxx from the now public openclwrapper.hxx header. Change-Id: If7336edd262c772564dc13e64113d72d0b52428c
2014-11-27Need -lrt for clock_gettime() with older glibc versionsTor Lillqvist1-0/+6
Change-Id: I4651f74a89b8707cbf0ebdd3b950df3a5b99177a
2014-11-27Use correct SAL_INFO log areaTor Lillqvist1-2/+2
Change-Id: I47e6dcf18fe141b8dba33a8c3cd83f80950045cd
2014-11-27Move more Calc-independent OpenCL stuff from the sc to the opencl moduleTor Lillqvist5-0/+2075
No cleanups yet. Just removed the "sc" namespace parts now when this stuff is no longer Calc-specific. There is still horribly confusing use of the same OpenCLDevice name for both a class and as a namespace, for instance. And the OpenCLDevice class has only public static members even, so effectively it acts as just a namespace anyway... Etc. Change-Id: Idc5f30a721df0101426c676f04a85e02c5dc8443
2014-11-27Add a README fileTor Lillqvist1-0/+7
Change-Id: Id0f8a146ca90efe6f84c7a0c377ad3f83ba7da8d
2014-11-27Work in progress: Move Calc-independend OpenCL configuration out of scTor Lillqvist5-0/+374
Intermediate commit. More changes will follow: The device selection logic needs to be moved, too. (And cleaned up.) Instead of the separate formulacalculationoptions dialog we should simply have a normal options page for those OpenCL-related settings that will remain purely Calc-specific, like the formula opcode subsetting. Change-Id: Id60d95e80d377cbbf5780beb473b221bce06b5e5