Hi Toby, this is a machine which is about 6-7 years old and still operating in 32-bit mode. We see these errors also in the standard ViennaCL nightly builds, but at least in one case I'm convinced that this is just a bug in the OpenCL implementation. There is good evidence that the same holds true for the other cases as well - given that we haven't seen problems on any of the other machines.
Long story short: Consider this Mac OS 10.6 machine as a compilation testing machine, but don't worry too much about these runtime problems, as they are beyond our control. Hopefully we will soon have a less dated Mac machine... Best regards, Karli On 05/18/2014 01:21 PM, Toby St Clere Smithe wrote: > Hi all, > > So I've been looking at how easy it is to get PyViennaCL working on Mac > OS X, and the good news is that, apart from the usual long compile time > (because there are no prebuilt binaries yet), it's very easy! This is > probably because OS X ships with OpenCL. I've been using my account on > the jwein3.iue.tuwien.ac.at machine, which has Mac OS X 10.6.8 (I think > 10.9 is the most recent?) and Apple's Python 2.6.1 build. > > Now, most of the basic matrix / vector / scalar operations (axbx, > elementwise mathematics functions, etc) pass their tests, which is > great, but a number of less basic routines fail with an error like this: > > ViennaCL: FATAL ERROR: Kernel start failed for 'sum'. > ViennaCL: Smaller work sizes could not solve the problem. > Traceback (most recent call last): > File "vector_operations.py", line 456, in <module> > sys.exit(test()) > File "vector_operations.py", line 442, in test > test_vector_slice(run_test, epsilon, p.float32, 11) > File "/Users/tsmithe/venv1/pyviennacl-1.0.3/tests/test_common.py", line > 127, in test_vector_slice > dtype = dtype) > File "vector_operations.py", line 70, in run_test > X = vcl_A.dot(vcl_B) > File > "/Users/tsmithe/venv1/lib/python2.6/site-packages/pyviennacl/pycore.py", line > 1246, in dot > return Scalar(_v.inner_prod(self.vcl_leaf, rhs.vcl_leaf), > RuntimeError: ViennaCL: FATAL ERROR: CL_INVALID_WORK_GROUP_SIZE > The supplied work group size is invalid. If you have set this value > manually, please reconsider your choice. > If you think that this is a bug in ViennaCL, please report it at > viennacl-supp...@lists.sourceforge.net and supply at least the following > information: > * Operating System > * Which OpenCL implementation (AMD, NVIDIA, etc.) > * ViennaCL version > Many thanks in advance! > > In this case, the failing routine is the vector dot product. Vector norm > routines fail in the same way, and matrix products give the same CL > error, but the kernel is 'kernel_0_0'. > > I haven't been able to test the solvers, as my test uses SciPy, which I > haven't been able to get installed. > > The OpenCL version is 1.0, and the hardware info is below. > > Now, I suspect that this might be more trouble than it's worth to > investigate, because OS X 10.6 and OpenCL 1.0 are both fairly old. Of > course, I haven't tested on other Mac systems, so I don't know if these > errors remain in newer versions. I guess that it's likely they do not, > so this e-mail is mostly good news that PyViennaCL is easy to build and > run on Macs! > > >>>> print(ocl.get_current_device().full_info) > Address Bits: 64 > Available: 1 > Compiler Available: 1 > Endian Little: 1 > Error Correction Support: 0 > Execution Capabilities: CL_EXEC_KERNEL CL_EXEC_NATIVE_KERNEL > Extensions: cl_khr_fp64 cl_khr_global_int32_base_atomics > cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics > cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store > cl_APPLE_gl_sharing cl_APPLE_SetMemObjectDestructor > cl_APPLE_ContextLoggingFunctions > Global Mem Cache Size: 4194304 Bytes > Global Mem Cache Type: CL_READ_WRITE_CACHE > Global Mem Cacheline Size: 64 Bytes > Global Mem Size: 1610612736 Bytes > Image Support: 1 > Image2D Max Height: 8192 > Image2D Max Width: 8192 > Image3D Max Depth: 2048 > Image3D Max Height: 2048 > Image3D Max Width: 2048 > Local Mem Size: 16384 Bytes > Local Mem Type: CL_GLOBAL > Max Clock Frequency: 2000 MHz > Max Compute Units: 2 > Max Constant Args: 8 > Max Constant Buffer Size: 65536 Bytes > Max Mem Alloc Size: 1073741824 Bytes > Max Parameter Size: 4096 Bytes > Max Read Image Args: 128 > Max Samplers: 16 > Max Work Group Size: 1 > Max Work Item Dimensions: 3 > Max Work Item Sizes: 1 1 1 > Max Write Image Args: 8 > Mem Base Addr Align: 1024 > Min Data Type Align Size: 128 Bytes > Name: Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz > Platform: 0x7fff0000 > Preferred Vector Width char: 16 > Preferred Vector Width short: 8 > Preferred Vector Width int: 4 > Preferred Vector Width long: 2 > Preferred Vector Width float: 4 > Preferred Vector Width double: 2 > Profile: FULL_PROFILE > Profiling Timer Resolution: 1 ns > Queue Properties: CL_QUEUE_PROFILING_ENABLE > Single FP Config: CL_FP_DENORM CL_FP_INF_NAN > CL_FP_ROUND_TO_NEAREST > Type: CPU > Vendor: Intel > Vendor ID: 16909312 > Version: OpenCL 1.0 > Driver Version: 1.0 > > > Cheers, > > > Toby > > ------------------------------------------------------------------------------ "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs _______________________________________________ ViennaCL-devel mailing list ViennaCL-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/viennacl-devel