[parsec-users] swaptions benchmark returns all zeros---is this normal?

Joseph Greathouse jlgreath at umich.edu
Mon May 30 20:59:51 EDT 2011


I see the same thing when running a small input set size. I believe that 
even if the input sets test and simdev are giving non-zero outputs, 
they're still performing all required calculations correctly.

It appears that within the first few hundred (240 to be precise) rounds 
of the MC simulation, none of the calculations results in a positive 
answer (see the line "dSwaptionPayoff = dMax(dFixedLegValue - 1.0, 0);" 
in HJM_Swaption_Blocking.cpp). Increasing the number of simulation 
rounds to >241 (as simsmall and above do) yields numbers like you're 
expecting.

Test and simdev run 5 and 50 Monte Carlo simulations, respectively. The 
outputs for simsmall, simmediuim, simlarge, and native all yield actual 
answers. Try running 'parsecmgmt -a run -p swaptions -n 5 -i simsmall' 
and see if that works for you.

-Joe

On 5/26/2011 11:57 PM, Damon Wang wrote:
> Hello everyone,
>
> I'm trying to port some of the PARSEC benchmarks to SML, and I noticed that all
> the swaptions come out with zero price and zero standard deviation.  Is this
> correct output?
>
> I've appended my session below [1].  I had to edit a Makefile a little [2] so
> parsecmgmt could find my compiler [3], but otherwise this was a fresh download.
>
> Yours,
> Damon Wang
>
> [1] I unpacked a fresh download, made the edit [2], and then did this:
> damonwang at arcturus/tmp/parsec-2.1$ source env.sh
> damonwang at arcturus/tmp/parsec-2.1$ parsecmgmt -a build -p swaptions
> [PARSEC] Packages to build:  swaptions
>
> [PARSEC] [========== Building package swaptions ==========]
> [PARSEC] [---------- Analyzing package swaptions ----------]
> [PARSEC] Package swaptions already exists, proceeding.
> [PARSEC] Done.
> damonwang at arcturus/tmp/parsec-2.1$ parsecmgmt -a run -p swaptions -n 5
> [PARSEC] Benchmarks to run:  swaptions
>
> [PARSEC] [========== Running benchmark swaptions ==========]
> [PARSEC] Setting up run directory.
> [PARSEC] No archive for input 'test' available, skipping input setup.
> [PARSEC] Running 'time
> /tmp/parsec-2.1/pkgs/apps/swaptions/inst/amd64-linux.gcc/bin/swaptions
> -ns 1 -sm 5 -nt 5':
> [PARSEC] [---------- Beginning of output ----------]
> PARSEC Benchmark Suite Version 2.1
> Swaption0: [SwaptionPrice: 0.0000000000 StdError: 0.0000000000]
> Swaption1: [SwaptionPrice: 0.0000000000 StdError: 0.0000000000]
> Swaption2: [SwaptionPrice: 0.0000000000 StdError: 0.0000000000]
> Swaption3: [SwaptionPrice: 0.0000000000 StdError: 0.0000000000]
> Swaption4: [SwaptionPrice: 0.0000000000 StdError: 0.0000000000]
> Number of Simulations: 5,  Number of threads: 5 Number of swaptions: 5
>
> real    0m0.002s
> user    0m0.000s
> sys     0m0.000s
> [PARSEC] [----------    End of output    ----------]
> [PARSEC] Done.
>
> [2] In pkgs/apps/swaptions/src/Makefile I added this line:
>      CXX=/usr/bin/g++
>
> [3] If I don't edit the Makefile, I get this error:
>
> damonwang at arcturus/tmp/parsec-2.1$ parsecmgmt -a build -p swaptions
> [PARSEC] Packages to build:  swaptions
>
> [PARSEC] [========== Building package swaptions ==========]
> [PARSEC] [---------- Analyzing package swaptions ----------]
> [PARSEC] swaptions does not depend on any other packages.
> [PARSEC] [---------- Building package swaptions ----------]
> [PARSEC] Copying source code of package swaptions.
> [PARSEC] Running 'env version=pthreads /usr/bin/make':
> /n/fs/parsec/local/gcc-4.4.0-static/bin/g++ -O3 -funroll-loops
> -fprefetch-loop-arrays -fpermissive -fno-exceptions -static-libgcc
> -Wl,--hash-style=both,--as-needed -DPARSEC_VERSION=2.1 -pthread
> -DENABLE_THREADS -c CumNormalInv.cpp -o CumNormalInv.o
> make: /n/fs/parsec/local/gcc-4.4.0-static/bin/g++: Command not found
> make: *** [CumNormalInv.o] Error 127
> [PARSEC] Error: 'env version=pthreads /usr/bin/make' failed.


More information about the parsec-users mailing list