#794 closed defect (fixed)
LogicError setting upper Q range limit
Reported by: | smk78 | Owned by: | wojciech |
---|---|---|---|
Priority: | major | Milestone: | SasView 4.1.0 |
Component: | sasmodels | Keywords: | |
Cc: | Piotr.Rozyczko@… | Work Package: | SasView Bug Fixing |
Description
Win v4.0 release
Whilst trying to reduce the Max Q fit setting on a dataset ranging from 0.007 - 0.25 to 0.007 - 0.07 using the sphere model with polydispersity on I got the following error:
Traceback (most recent call last):
File "sas\sascalc\data_util\calcthread.pyc", line 268, in _run
LogicError: clEnqueueReadBuffer failed: invalid value
Setting the Max Q to 0.1 instead of 0.07 did not generate the error.
The logic test generating this is probably fine, but the error is a bit alarming for a user!
Attachments (1)
Change History (9)
comment:1 Changed 8 years ago by smk78
- Summary changed from LogicError setting Q range with polydispersity on to LogicError setting upper Q range limit
comment:2 Changed 8 years ago by smk78
comment:3 Changed 8 years ago by smk78
We have introduced this error in 4.0. The limits work fine in 3.1.2.
comment:4 Changed 8 years ago by butler
- Owner set to wojciech
- Status changed from new to assigned
comment:5 Changed 8 years ago by Piotr Rozyczko <rozyczko@…
- Resolution set to fixed
- Status changed from assigned to closed
comment:6 Changed 8 years ago by piotr
- Cc Piotr.Rozyczko@… added
- Component changed from SasView to sasmodels
comment:7 Changed 8 years ago by GitHub <noreply@…>
comment:8 Changed 8 years ago by pkienzle
This error came about because vectors passed to the GPU are extended to the nearest 16 or 32 value boundary, with some extra space to store the normalization constant. Some parts of the code were reserving 2 slots while others were requesting 3; only 1 is needed. To check the fix, sascomp was run with -nq=100 … -nq=132 on both single and double precision.
On further investigation, this seems not to have anything to do with turning polydispersity on.
With the attached example data (some typically noisy, slightly oversubtracted user data):
Load it
Send it to fitting
Select sphere category
Select sphere model
Try and change the upper Q bound for fitting to a number between 0.068 - 0.073