[parsec-users] Question about swaptions output

Matt Sinclair msinclair at wisc.edu
Mon May 3 10:40:21 EDT 2010


Hello list,

I have a question regarding the output of swaptions.  I have tried
running swaptions on several different machines, for all of the
different input sizes (test, simdev, ..., native), but regardless of
input, I am finding that the answer for each swaption (0 --> 128 for
native, 0 --> 3 for simdev, etc.) are the same.  By the same, I mean
swaption[0] = swaption[1] = ... = swaption[N-1] for that particular
test (not that the answers are the same for simdev and native).  I
looked through the code to see why this might be occurring, and the
conclusion I reached is that it must be because the worker() function
uses a constant value as the seed for all threads:

  for(int i=beg; i < end; i++) {
	int iSuccess = HJM_Swaption_Blocking(pdSwaptionPrice,
								 swaptions[i].dStrike,
								 swaptions[i].dCompounding,
								 swaptions[i].dMaturity,
								 swaptions[i].dTenor,
								 swaptions[i].dPaymentInterval,
								 swaptions[i].iN,
								 swaptions[i].iFactors,
								 swaptions[i].dYears,
								 swaptions[i].pdYield,
								 swaptions[i].ppdFactors,
								 100, // ** iRndSeed set to 100 for all threads
								 NUM_TRIALS,
								 BLOCK_SIZE,
								 0,
								 gpuPdZ,
								 gpuRandZ);
      ...
  }

I looked through the archive and did not find this issue posted
previously, so I wanted to ask if this is expected?  Thanks for any
help you may be able to provide!

Regards,
Matt Sinclair
University of Wisconsin-Madison
College of Engineering, ECE Dept.
Vertical Research Group


More information about the parsec-users mailing list