Use_same_rnd_numbers parameter broken (Defect #468)


Added by Christopher Pinke over 6 years ago. Updated over 6 years ago.


Status:Feedback Start date:28 Apr 2013
Priority:Normal Due date:
Assignee:Matthias Bach % Done:

0%

Category:-
Target version:-

Description

I found out that if I use the inverter with --use_same_rnd_numbers=true and gaussian sources, the squarenorm of the sources differ on CPU and GPU (thus, the results of the inversion also differ).

Of course, the purpose of the parameter is that this makes CPU and GPU results compareable by means of rnd numbers at the cost of performance, so this is troubling.

I already checked that the kernel works correctly:
After only thread 0 survives the #ifdef, ie only thread 0 fills the spinorfield with rnd numbers.

I guess one obvious possibility for the difference is that the seed for thread 0 is just different on GPU and CPU.
Is that so? Is this by chance peculiar only to the ranlux?


History

Updated by Christopher Pinke over 6 years ago

  • Assignee set to Matthias Bach
  • Status changed from New to Feedback

Updated by Matthias Bach over 6 years ago

Ranlux performs some operations on the seed to ensure that enough seeds can be located for each thread to be created on the device. this might effect this if CL_RANLUX_MAX_WORKITEMS ist not set.

Also available in: Atom PDF