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


-- 
Toby St Clere Smithe
http://tsmithe.net


------------------------------------------------------------------------------
"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

Reply via email to