Opened 8 years ago
Closed 8 years ago
#665 closed defect (fixed)
opencl wrong for long kernels
Reported by: | pkienzle | Owned by: | wojciech |
---|---|---|---|
Priority: | major | Milestone: | SasView 4.1.0 |
Component: | SasView | Keywords: | |
Cc: | Work Package: | SasView Bug Fixing |
Description (last modified by butler)
On a MacbookPro (Intel HD 4000 GPU), the 2D barbell model with length pd=0.2 radius pd=0.2 gives the wrong scattering pattern when Npts=300.
It works fine for smaller N or smaller pd.
Check other cards/other platforms.
If it is very common problem, we can fetch the results from the GPU every ½ second or so, and sum them on the CPU.
Change History (9)
comment:1 Changed 8 years ago by krzywon
comment:2 Changed 8 years ago by pkienzle
Max 4 polydisperse parameters. Need warnings in GUI if more are selected.
Instead of increasing the number of PD loops in the kernel code, switch to monte carlo integration with importance sampling when more than 4 dimensions. Do not extend the code to contain one more loop. Not only will this be slower, but it will increase code size and possibly reduce the number of q values that can be evaluated in parallel.
comment:3 Changed 8 years ago by pkienzle
Note that the original ticket may already have been fixed, but test before closing.
comment:4 Changed 8 years ago by wojciech
- Owner set to wojciech
- Status changed from new to assigned
comment:5 Changed 8 years ago by wojciech
Barbell with 2 polydisperisty parameters and Npts=300 returns correct diffraction pattern.
Tested on Iris™ Graphics 6100
comment:6 Changed 8 years ago by wojciech
Will be good to test it on some windows machine with GPU card before closing
comment:7 Changed 8 years ago by pkienzle
Tested again on macbook and it seems to work. Running long computations definitely slows the machine to a crawl, but does not crash it or render it completely unusable (this was typed while running the above).
Note: May want to maintain a list of supported/unsupported devices. On the Radeon R9 Nano for Windows I sometimes get speckle patterns in 2D. I also once got an incomplete integration, but was not able to reproduce it.
comment:8 Changed 8 years ago by butler
- Description modified (diff)
comment:9 Changed 8 years ago by pkienzle
- Resolution set to fixed
- Status changed from assigned to closed
Trying to fit the barbell model with polydispersity, this stack trace appeared in my sasview.log for every fit step, with the fit parameters slightly changed every time. Windows 7, Intel® HD Graphics 4600, Intel® Core™ i7-4770 CPU @ 3.40GHz.