Thanks for the information on building PyOpenCL. All of the instructions 
worked. 

Before I did anything I checked the version of PyOpenCL on Ubuntu 14.04 and it 
was 2013.2, The windows version was also 2013.2. I tried updating the Ubuntu 
PyOpenCL to 2015.1 using pip. This did not change the output I am getting.

I added some printf's where possible to the code. The results are below. The 
results are the last 16 or so lines of output from the simulation. As you will 
see the results from the Windows calculation on the CPU and Cuda GPU 
calculation on Ubuntu are very close for each step and the final Dose Maximum 
are nearly the same, given the randomness.

The results from the PyOpenCL calculation on the Ubuntu system show the per 
step values for e0, urn, tdl, sfc, etc. are nearly the same, but the dose at 
index [31,31,31] is about 1/2 the value of the Windows and Ubuntu CUDA 
calculations. What is most disturbing is the dose maximum is always nan for the 
Pyopencl calculation on Linux. Note, the third line from the bottom of each run 
has nan values for SeSc and SeSr, this is because e0 is 0 at that point but the 
values ARE not used in getting the dose after this, the variable urn contains 
the dose that will be added at each step.

I have added the code and the test data to my google drive. 
https://drive.google.com/file/d/0B3lyn1ou1_v2NzRjVlJBMC1POTQ/view?usp=sharing

Edit the file eMC-Second-Check-09-14-15.py by changing the variable progdir on 
line 57 to the folder where the file is located. Make sure the dataset folder 
12E10x10Mat is in the same folder as the file. If you just unzip the tar file 
from google drive the resulting folder contains all the necessary 
files/folders. The section that is relevant to this discussion is in lines 
1490-2160 of the eMC-Second-Check file.
 
To run the simulation "python eMC-Second-Check-09-14-15.py"
When the window opens, click "Open File directory" and navigate and double 
click to select the "12E10x10Mat" folder.
Click "Ok"
In "Contours to Override" select "PlasticWater", in "Number of e per cell" 
select "1000", in "Calculation Grid Size" select "2.5", then click "Calc". The 
file TestSettings.png shows the proper selections and the youtube video 
https://www.youtube.com/watch?v=Bm968rcdrCU also shows how to run the program 
(although with a different data set).

Reese
*********************************
From AMD OpenCL SDK INTEL Xeon CPU Windows
e0 = 0.715011 urn= 0.094236 tdl= 0.050000 sfc= 1.000000 SeSc= 1.914332 sfr= 
1.000000 SeSr=0.009564
indx= 31 indy= 31 indz=31 dose= 522.330139
e0 = 0.619294 urn= 0.095717 tdl= 0.050000 sfc= 1.000000 SeSc= 1.957221 sfr= 
1.000000 SeSr=0.008542
indx= 31 indy= 31 indz=31 dose= 522.330139
e0 = 0.521433 urn= 0.097861 tdl= 0.050000 sfc= 1.000000 SeSc= 2.022226 sfr= 
1.000000 SeSr=0.007546
indx= 31 indy= 31 indz=31 dose= 522.330139
e0 = 0.420322 urn= 0.101111 tdl= 0.050000 sfc= 1.000000 SeSc= 2.128243 sfr= 
1.000000 SeSr=0.006575
indx= 31 indy= 31 indz=31 dose= 522.330139
e0 = 0.313910 urn= 0.106412 tdl= 0.050000 sfc= 1.000000 SeSc= 2.324997 sfr= 
1.000000 SeSr=0.005630
indx= 31 indy= 31 indz=31 dose= 522.330139
e0 = 0.197660 urn= 0.116250 tdl= 0.050000 sfc= 1.000000 SeSc= 2.804841 sfr= 
1.000000 SeSr=0.004718
indx= 31 indy= 31 indz=31 dose= 522.330139
e0 = 0.057418 urn= 0.140242 tdl= 0.050000 sfc= 1.000000 SeSc= 5.982077 sfr= 
1.000000 SeSr=0.003610
indx= 31 indy= 31 indz=31 dose= 522.330139
e0 = 0.000000 urn= 0.057418 tdl= 0.050000 sfc= 1.000000 SeSc= -nan sfr= 
1.000000 SeSr=-nan
indx= 31 indy= 31 indz=31 dose= 522.330139
numpy calculated dose3 maximum=  576.792

From CUDA NVIDIA GTX 780 TI
e0 = 0.699718 urn= 0.094441 tdl= 0.050000 sfc= 1.000000 SeSc= 1.920174 sfr= 
1.000000 SeSr=0.009398
indx= 31 indy= 31 indz=31 dose= 546.358154
e0 = 0.603710 urn= 0.096009 tdl= 0.050000 sfc= 1.000000 SeSc= 1.965868 sfr= 
1.000000 SeSr=0.008380
indx= 31 indy= 31 indz=31 dose= 546.358154
e0 = 0.505416 urn= 0.098293 tdl= 0.050000 sfc= 1.000000 SeSc= 2.035780 sfr= 
1.000000 SeSr=0.007388
indx= 31 indy= 31 indz=31 dose= 546.358154
e0 = 0.403627 urn= 0101789 tdl= 0.050000 sfc= 1.000000 SeSc= 2.151626 sfr= 
1.000000 SeSr=0.006421
indx= 31 indy= 31 indz=31 dose= 546.358154
e0 = 0.296046 urn= 0.107581 tdl= 0.050000 sfc= 1.000000 SeSc= 2.373185 sfr= 
1.000000 SeSr=0.005481
indx= 31 indy= 31 indz=31 dose= 546.358154
e0 = 0.177387 urn= 0.118659 tdl= 0.050000 sfc= 1.000000 SeSc= 2.955496 sfr= 
1.000000 SeSr=0.004575
indx= 31 indy= 31 indz=31 dose= 546.358154
e0 = 0.029612 urn= 0.147775 tdl= 0.050000 sfc= 1.000000 SeSc= 9.789070 sfr= 
1.000000 SeSr=0.002632
indx= 31 indy= 31 indz=31 dose= 546.358154
e0 = 0.000000 urn= 0.029612 tdl= 0.050000 sfc= 1.000000 SeSc= nan sfr= 1.000000 
SeSr=nan
indx= 31 indy= 31 indz=31 dose= 546.358154
MAX dose= 583.723

From AMD OpenCL SDK INTEL Xeon CPU Linux
e0 = 0.714894 urn= 0.094238 tdl= 0.050000 sfc= 1.000000 SeSc= 1.914375 sfr= 
1.000000 SeSr=0.009563
indx= 31 indy= 31 indz=31 dose= 242.133011
e0 = 0.619175 urn= 0.095719 tdl= 0.050000 sfc= 1.000000 SeSc= 1.957285 sfr= 
1.000000 SeSr=0.008541
indx= 31 indy= 31 indz=31 dose= 242.133011
e0 = 0.521311 urn= 0.097864 tdl= 0.050000 sfc= 1.000000 SeSc= 2.022326 sfr= 
1.000000 SeSr=0.007545
indx= 31 indy= 31 indz=31 dose= 242.133011
e0 = 0.420195 urn= 0.101116 tdl= 0.050000 sfc= 1.000000 SeSc= 2.128413 sfr= 
1.000000 SeSr=0.006573
indx= 31 indy= 31 indz=31 dose= 242.133011
e0 = 0.313774 urn= 0.106421 tdl= 0.050000 sfc= 1.000000 SeSc= 2.325341 sfr= 
1.000000 SeSr=0.005629
indx= 31 indy= 31 indz=31 dose= 242.133011
e0 = 0.197507 urn= 0.116267 tdl= 0.050000 sfc= 1.000000 SeSc= 2.805859 sfr= 
1.000000 SeSr=0.004717
indx= 31 indy= 31 indz=31 dose= 242.133011
e0 = 0.057214 urn= 0.140293 tdl= 0.050000 sfc= 1.000000 SeSc= 5.997465 sfr= 
1.000000 SeSr=0.003607
indx= 31 indy= 31 indz=31 dose= 242.133011
e0 = 0.000000 urn= 0.057214 tdl= 0.050000 sfc= 1.000000 SeSc= -nan sfr= 
1.000000 SeSr=-nan
indx= 31 indy= 31 indz=31 dose= 242.133011
numpy calculated dose3 maximum=  nan

From INTEL OpenCL SDK INTEL CPU Linux
e0 = 0.717825 urn= 0.094179 tdl= 0.050000 sfc= 1.000000 SeSc= 1.913324 sfr= 
1.000000 SeSr=0.009595
indx= 31 indy= 31 indz=31 dose= 253.760727
e0 = 0.622158 urn= 0.095643 tdl= 0.050000 sfc= 1.000000 SeSc= 1.955667 sfr= 
1.000000 SeSr=0.008573
indx= 31 indy= 31 indz=31 dose= 253.760727
e0 = 0.524375 urn= 0.097759 tdl= 0.050000 sfc= 1.000000 SeSc= 2.019843 sfr= 
1.000000 SeSr=0.007575
indx= 31 indy= 31 indz=31 dose= 253.760727
e0 = 0.423383 urn= 0.100967 tdl= 0.050000 sfc= 1.000000 SeSc= 2.124244 sfr= 
1.000000 SeSr=0.006603
indx= 31 indy= 31 indz=31 dose= 253.760727
e0 = 0.317171 urn= 0.106186 tdl= 0.050000 sfc= 1.000000 SeSc= 2.316915 sfr= 
1.000000 SeSr=0.005657
indx= 31 indy= 31 indz=31 dose= 253.760727
e0 = 0.201325 urn= 0.115817 tdl= 0.050000 sfc= 1.000000 SeSc= 2.780827 sfr= 
1.000000 SeSr=0.004745
indx= 31 indy= 31 indz=31 dose= 253.760727
e0 = 0.062284 urn= 0.139007 tdl= 0.050000 sfc= 1.000000 SeSc= 5.642349 sfr= 
1.000000 SeSr=0.003689
indx= 31 indy= 31 indz=31 dose= 253.760727
e0 = 0.000000 urn= 0.062269 tdl= 0.050000 sfc= 1.000000 SeSc= -nan sfr= 
1.000000 SeSr=-nan
indx= 31 indy= 31 indz=31 dose= 253.760727
numpy calculated dose3 maximum=  nan

From NVIDIA OpenCL NVIDIA GPU
Cannot printf in the kernel on the GPU
numpy calculated dose3 maximum=  nan


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.
_______________________________________________
PyOpenCL mailing list
[email protected]
http://lists.tiker.net/listinfo/pyopencl

Reply via email to