FYI: I was able to get Pyopencl running on Windows 10 using the method outlined in this link

 

https://www.ibm.com/developerworks/community/blogs/jfp/entry/Installing_PyOpenCl_On_Anaconda_For_Windows?lang=en

 

The laptop is HP ENVY with I7-6700HQ with Intel 530 graphics and NVidia GeForce GTX 950M. I was able to get my code working on both graphics cards with no problems using both Python 2.7 and Python 3.5 based installers from anaconda, and the Pyopencl binaries from Christoph Golke, (2015 for 2.7, 2016 for 3.5). Python 3.5 is slow in a couple of places, seemingly due to arbitrary integer precision and the fact I have a couple of while loops that are 32 bit integer dependent. Indeed, those would not finish on the python 3.5 code. BUT, Pyopencl worked as expected. I did not run the test suite only my code.

 

Also, I was able to put Ubuntu 16.04 on this same laptop and get Pyopencl to run with no problems by using the Ubuntu repository binaries for nvidia-cuda-toolkit and python-pyopencl. However, I had to disable UEFI secure boot or the NVIDIA drivers would not load. I need to run the test suite here because I am seeing the following problem with my code.

 

On Windows everything calculates as expected that is I get the results I expect in my code test. In Ubuntu there appears to be a problem with my sorting function. (Code on windows and Ubuntu are exactly the same except for the program working directory.) That is particles in the simulation appear stacked to one side instead of uniformly randomly distributed across the simulation grid. If I remove the sorting function that problem goes away but the final answer I expect (100) is double (200). I see this on my Ubuntu 14.04 workstation with NVidia GTX 780 TI as well.

 

I assume the problem is in the CUDA toolkit and Pyopencl combination. No other systems have this behavior. I have the code running on windows on Intel Graphics Cards, AMD graphics cards, and now NVidia Cards. It doesn't work on Linux. The equivalent Cuda version works as expected on Linux and an OpenCL version using Scipy Weave inline works as expected (only a little slower).

 

Joe Reese Haywood, Ph.D., DABR

Medical Physicist

Johnson Family Cancer Center

Mercy Health Muskegon

1440 E. Sherman Blvd, Suite 300

Muskegon, MI 49444

Phone: 231-672-2019

Email: haywoojr@mercyhealth.com

 


Confidentiality Notice:
This e-mail, including any attachments is the property of Trinity Health and is intended for the sole use of the intended recipient(s). It may contain information that is privileged and confidential.  Any unauthorized review, use, disclosure, or distribution is prohibited. If you are not the intended recipient, please delete this message, and reply to the sender regarding the error in a separate email.