Serving the Quantitative Finance Community

  • 1
  • 3
  • 4
  • 5
  • 6
  • 7
  • 39
 
User avatar
Cuchulainn
Posts: 20254
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Parallel RNG and distributed MC

January 28th, 2012, 2:14 pm

Very good, ThijsBTW are #include <boost/random/counter_based_urng.hpp>#include <boost/random/philox.hpp>part of Boost distribution now?
 
User avatar
Cuchulainn
Posts: 20254
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Parallel RNG and distributed MC

January 28th, 2012, 2:48 pm

QuoteOriginally posted by: outrunYes, its very nice to see that we can create independent rnd streams now!The random123 is now being proposed as part of boost random by the authors (they call it prf). They have rewritten bits already, and the link to the zip is they first port. I unzipped the zip and added *that* boost *also* to my list of include directories -causing the two trees to be merges-.And that made it work.Later more (shopping now)!Ah great. Thanks. How will 1. Ctor for the new RNG2. Calling it
Last edited by Cuchulainn on January 27th, 2012, 11:00 pm, edited 1 time in total.
 
User avatar
Cuchulainn
Posts: 20254
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Parallel RNG and distributed MC

January 28th, 2012, 3:49 pm

Alan,What about a more high-level interface to GPU, i.e. Accelerator F# Black-Scholes running on GPUs and SSE3 Multicore Processors using Accelerator edit: if you were running the code from C/C++ then a C++/CLI wrapper can be made around F#. Granted, an extra level of indirection but probably still massive speedup. http://msdn.microsoft.com/en-us/magazine/cc163681.aspx
Last edited by Cuchulainn on January 28th, 2012, 11:00 pm, edited 1 time in total.
 
User avatar
Cuchulainn
Posts: 20254
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Parallel RNG and distributed MC

January 29th, 2012, 7:29 am

QuoteOriginally posted by: outrun1 thread 100M samples take 7 sec4 thread, 400M samples total take 14 sec..so I have 2 cores in my machine I have the feeling that Random123 is ideal for massively parallel DNA/molecular dynamics problems on massive numbers of cores.On 8-core Intel machines I think we need to consider 1) other algos will also need thread support 2) how many rng threads do we need in an MC simulator for optimal load balancing? 3) Is the following possible issue resolved?QuoteIt s more about guaranteeing that there are no intercorrelations in your simulations. Random seeding does not guarantee that. Thread safety, although is a requirement for a rng, will not guarantee lack of intercorrelations in the random sequences. You could also indeed assign a different rng to each thread, but it would be easier to use the parameterization technique: for each thread initialize the same type of generator with different parameters. For example Mersenne Twister can be initialized with 1024 parameter sets.
Last edited by Cuchulainn on January 28th, 2012, 11:00 pm, edited 1 time in total.
 
User avatar
Cuchulainn
Posts: 20254
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Parallel RNG and distributed MC

January 29th, 2012, 8:06 am

Excellent work!
 
User avatar
Cuchulainn
Posts: 20254
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Parallel RNG and distributed MC

January 29th, 2012, 8:17 am

QuoteOriginally posted by: outrunThe math from random123 looks to be comming from encryption. You combine a key and a message (an int) an encrypt it with a well known algorithm. Slight changes in either the key or the message give complete uncorrelated outcomes.This sounds like some inherent property of the algorithm, i.e. crypto algos produce uncorrelated data.What do you think about this .NET RNG?
 
User avatar
Cuchulainn
Posts: 20254
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Parallel RNG and distributed MC

January 29th, 2012, 9:12 am

QuoteOriginally posted by: outrunSounds similar, one of the constructors accepts parameters with a "key" in it.We would need to investigate the possibility of that, and also speeds and see if it passes statistical tests?http://msdn.microsoft.com/en-us/library ... .aspxYes.I can use this RNG as well in the C# MC engine. So, I can check accuracy and performance.How would we execute statistical tests on these RNGs?
Last edited by Cuchulainn on January 28th, 2012, 11:00 pm, edited 1 time in total.