How to build the test-suite executables?

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

How to build the test-suite executables?

Moreton, Peter
Hi,
 
I'm new to Quantlib, and need some advice on how to build the Test-Suite executables. I'm running Ubuntu 6.06, and have built the boost libraries, and Quantlib, and have been able to compile up the examples (Swap, BermudanSwaption, ConvertibleBonds etc) and execute and benchmark these just fine.
 
Now I'd like to get the EuropeanOption code working, and I can see an example of this under test-suite, and I see a EuropeanOption.cpp and the .o file, but no executable? Should I be able to build a standalone .exe?
 
Could someone pls put me out of my misery, and tell me what I'm doing wrong? - thanks.
 
Regards
Peter Moreton
 
PS: Please note that I'm also new to Linux, (first used this yesterday!) so having to learn fast! - apologies if I'm asking about something really obvious ....


Reply | Threaded
Open this post in threaded view
|

Re: How to build the test-suite executables?

Dirk Eddelbuettel

On 8 June 2006 at 20:44, Moreton, Peter wrote:
| Hi,
|  
| I'm new to Quantlib, and need some advice on how to build the Test-Suite executables. I'm running Ubuntu 6.06, and have built the boost libraries, and Quantlib, and have been able to compile up the examples (Swap, BermudanSwaption, ConvertibleBonds etc) and execute and benchmark these just fine.
|  
| Now I'd like to get the EuropeanOption code working, and I can see an example of this under test-suite, and I see a EuropeanOption.cpp and the .o file, but no executable? Should I be able to build a standalone .exe?
|  
| Could someone pls put me out of my misery, and tell me what I'm doing wrong? - thanks.

You could download the source package of my Debian packages and look at what
they do.  But to cut through the suspense it is mostly just 'configure;
make; make install'.  That seems to build the examples for me too.

Or just install the binaries... On my Ubuntu 5.10 box I see
edd@joe:~$ apt-cache search quantlib
libquantlib-0.3.9c2 - Quantitative Finance Library -- development package
libquantlib0-dev - Quantitative Finance Library -- library package
quantlib-examples - Quantitative Finance Library -- example binaries
quantlib-python - Python bindings for the Quantlib Quantitative Finance library
quantlib-refman - Quantitative Finance Library -- reference manual
quantlib-refman-html - Quantitative Finance Library -- reference manual in html
quantlib-ruby - Ruby bindings for the Quantlib Quantitative Finance library
r-cran-rquantlib - GNU R package interfacing the QuantLib finance library

The net has quite a few tutorials about (locally re-)building Debian (and
hence Ubuntu) packages -- so this may be an alternative to you.

Hope this helps,  Dirk

--
Hell, there are no rules here - we're trying to accomplish something.
                                                  -- Thomas A. Edison


Reply | Threaded
Open this post in threaded view
|

Re: How to build the test-suite executables?

Moreton, Peter
Thanks Dirk, I looked again, and found that the test-suite had built just fine; I missed the 'quantlib-test-suite' executable when I was looking through the folders. (Lack of knowledge of the OS is the problem here, but having moved from XP to Ubuntu for this project, I have to say I love Linux, and Ubuntu 6.06 makes XP look pretty shabby).

Installing binaries is not an option, because my interest is performance optimisation of the compute intensive code under the Opteron platform, and later offload to FPGA coprocessors, so I need the source code to compile fully.

Thanks again, Peter



-----Original Message-----
From: Dirk Eddelbuettel [mailto:[hidden email]]
Sent: Fri 09/06/2006 02:13
To: Moreton, Peter
Cc: [hidden email]
Subject: Re: [Quantlib-users] How to build the test-suite executables?
 

On 8 June 2006 at 20:44, Moreton, Peter wrote:
| Hi,
|  
| I'm new to Quantlib, and need some advice on how to build the Test-Suite executables. I'm running Ubuntu 6.06, and have built the boost libraries, and Quantlib, and have been able to compile up the examples (Swap, BermudanSwaption, ConvertibleBonds etc) and execute and benchmark these just fine.
|  
| Now I'd like to get the EuropeanOption code working, and I can see an example of this under test-suite, and I see a EuropeanOption.cpp and the .o file, but no executable? Should I be able to build a standalone .exe?
|  
| Could someone pls put me out of my misery, and tell me what I'm doing wrong? - thanks.

You could download the source package of my Debian packages and look at what
they do.  But to cut through the suspense it is mostly just 'configure;
make; make install'.  That seems to build the examples for me too.

Or just install the binaries... On my Ubuntu 5.10 box I see
edd@joe:~$ apt-cache search quantlib
libquantlib-0.3.9c2 - Quantitative Finance Library -- development package
libquantlib0-dev - Quantitative Finance Library -- library package
quantlib-examples - Quantitative Finance Library -- example binaries
quantlib-python - Python bindings for the Quantlib Quantitative Finance library
quantlib-refman - Quantitative Finance Library -- reference manual
quantlib-refman-html - Quantitative Finance Library -- reference manual in html
quantlib-ruby - Ruby bindings for the Quantlib Quantitative Finance library
r-cran-rquantlib - GNU R package interfacing the QuantLib finance library

The net has quite a few tutorials about (locally re-)building Debian (and
hence Ubuntu) packages -- so this may be an alternative to you.

Hope this helps,  Dirk

--
Hell, there are no rules here - we're trying to accomplish something.
                                                  -- Thomas A. Edison



Reply | Threaded
Open this post in threaded view
|

Re: How to build the test-suite executables?

Luigi Ballabio
In reply to this post by Moreton, Peter

On 06/08/2006 08:44:26 PM, Moreton, Peter wrote:
> I'm new to Quantlib, and need some advice on how to build the
> Test-Suite executables. I'm running Ubuntu 6.06, and have built the
> boost libraries, and Quantlib, and have been able to compile up the
> examples (Swap, BermudanSwaption, ConvertibleBonds etc) and execute
> and benchmark these just fine.

As you found out already, the test suite is built automatically.


> Now I'd like to get the EuropeanOption code working, and I can see an
> example of this under test-suite, and I see a EuropeanOption.cpp and
> the .o file, but no executable? Should I be able to build a  
> standalone .exe?

'make examples' will do the trick.

Later,
        Luigi


----------------------------------------

Humphrey's Requirements Uncertainty Principle:
        For a new software system, the requirements will not be
        completely known until after the users have used it.


Reply | Threaded
Open this post in threaded view
|

Re: How to build the test-suite executables?

Moreton, Peter
Thanks Luigi, I have the whole of Quantlib running just fine under Ubuntu now.
 
My interest is in the area of performance of the algorithms, and I wonder is there any place on the 'net where the Quantlib test-suite benchmarks have been gathered together for comparison purposes?
 
My results so far are:
 
test-suite, 236 test cases:    AMD XP2000+ 1.7Ghz, 256Kb L2, 1Gbyte RAM    : 10 minutes 23 seconds
                                          Intel Pentium-M  1.5Ghz, 1Mb L2, 512Mbyte RAM : 8 minutes 24 seconds
 
Regards, Peter Moreton
 

________________________________

From: Luigi Ballabio [mailto:[hidden email]]
Sent: Mon 19/06/2006 11:11
To: Moreton, Peter
Cc: [hidden email]
Subject: Re: [Quantlib-users] How to build the test-suite executables?




On 06/08/2006 08:44:26 PM, Moreton, Peter wrote:
> I'm new to Quantlib, and need some advice on how to build the
> Test-Suite executables. I'm running Ubuntu 6.06, and have built the
> boost libraries, and Quantlib, and have been able to compile up the
> examples (Swap, BermudanSwaption, ConvertibleBonds etc) and execute
> and benchmark these just fine.

As you found out already, the test suite is built automatically.


> Now I'd like to get the EuropeanOption code working, and I can see an
> example of this under test-suite, and I see a EuropeanOption.cpp and
> the .o file, but no executable? Should I be able to build a
> standalone .exe?

'make examples' will do the trick.

Later,
        Luigi


----------------------------------------

Humphrey's Requirements Uncertainty Principle:
        For a new software system, the requirements will not be
        completely known until after the users have used it.


Reply | Threaded
Open this post in threaded view
|

Re: How to build the test-suite executables?

Luigi Ballabio

On 06/19/2006 01:09:23 PM, Moreton, Peter wrote:
> Thanks Luigi, I have the whole of Quantlib running just fine under
> Ubuntu now.

Good.

> My interest is in the area of performance of the algorithms, and I
> wonder is there any place on the 'net where the Quantlib test-suite
> benchmarks have been gathered together for comparison purposes?

I don't think so. Drop a line here on the mailing list if you want to  
gather such data.

> My results so far are:
>
> test-suite, 236 test cases:    AMD XP2000+ 1.7Ghz, 256Kb L2, 1Gbyte
> RAM    : 10 minutes 23 seconds
>                                           Intel Pentium-M  1.5Ghz, 1Mb
> L2, 512Mbyte RAM : 8 minutes 24 seconds

What compiler are you using on the two machines? (Of course it's gcc  
for Ubuntu, but I don't know what version it distributes.) How about  
compiler options?

Luigi


----------------------------------------

All generalizations are false, including this one.
-- Mark Twain


Reply | Threaded
Open this post in threaded view
|

Re: How to build the test-suite executables?

Moreton, Peter
OK, if anyone wants to email me with performance data regarding the Quantlib test-suite executing on various platforms, I'd be happy to maintain, and periodically publish this. The following data would be useful:
 
* Quantlib version
* Number of test cases
* CPU Name (Intel Xeon, AMD Opteron etc)
* CPU Clockrate
* CPU L2 Cache
* Memory
* Elapsed time to run all test-cases
 
The compiler used on my benchmarks is GCC v4.0.3. I'm sure I could squeeze a few percent by messing with compiler switches, and maybe a couple of hundred percent by optimizing the code to keep the CPU piplelines full etc. However, my interest is in porting the code to an FPGA, which might yield gains of a hundred-fold or more.
 
Regards, Peter Moreton
 
 
 
 

________________________________

From: Luigi Ballabio [mailto:[hidden email]]
Sent: Mon 19/06/2006 12:13
To: Moreton, Peter
Cc: [hidden email]
Subject: Re: [Quantlib-users] How to build the test-suite executables?




On 06/19/2006 01:09:23 PM, Moreton, Peter wrote:
> Thanks Luigi, I have the whole of Quantlib running just fine under
> Ubuntu now.

Good.

> My interest is in the area of performance of the algorithms, and I
> wonder is there any place on the 'net where the Quantlib test-suite
> benchmarks have been gathered together for comparison purposes?

I don't think so. Drop a line here on the mailing list if you want to
gather such data.

> My results so far are:
>
> test-suite, 236 test cases:    AMD XP2000+ 1.7Ghz, 256Kb L2, 1Gbyte
> RAM    : 10 minutes 23 seconds
>                                           Intel Pentium-M  1.5Ghz, 1Mb
> L2, 512Mbyte RAM : 8 minutes 24 seconds

What compiler are you using on the two machines? (Of course it's gcc
for Ubuntu, but I don't know what version it distributes.) How about
compiler options?

Luigi


----------------------------------------

All generalizations are false, including this one.
-- Mark Twain


Reply | Threaded
Open this post in threaded view
|

Re: How to build the test-suite executables?

Klaus Spanderen
Hi Peter,

A while ago I''ve set-up a "QuantLib Benchmark" composed of 28 numerically
intensive tests based on the test-suite. On my P4@3Ghz, 2MB L2, 2GB Ram,
gcc-4.01, shared lib, I'm getting the following Mflops figures,

-------------------------------
Benchmark Suite QuantLib 0.3.12
-------------------------------

AmericanOption::FdAmericanGreeks        : 176 mflops
AmericanOption::FdShoutGreeks           : 200 mflops
AsianOption::MCArithmeticAveragePrice   : 333 mflops
BarrierOption::BabsiriValues            : 154 mflops
BasketOption::EuroTwoValues             : 137 mflops
BasketOption::TavellaValues             : 109 mflops
BasketOption::OddSamples                : 440 mflops
BatesModel::DAXCalibration              : 448 mflops
DigitalOption::MCCashAtHit              : 320 mflops
DividendOption::FdEuropeanValues        : 263 mflops
DividendOption::FdEuropeanGreeks        : 233 mflops
DividendOption::FdAmericanGreeks        : 145 mflops
EuropeanOption::FdGreeks                : 228 mflops
EuropeanOption::FdMcEngines             : 164 mflops
EuropeanOption::ImpliedVol              : 107 mflops
EuropeanOption::FdEngines               : 275 mflops
EuropeanOption::PriceCurve              : 278 mflops
HestonModel::DAXCalibration             : 454 mflops
HestonModel::McVsCached                 : 171 mflops
JumpDiffusion::Greeks                   :  66 mflops
LiborMarketModel::SwaptionPricing       : 253 mflops
LiborMarketModel::Calibration           :  50 mflops
LiborMarketModelProcess::CapletPricing  : 158 mflops
OldPricer::McMultiFactorPricers         : 230 mflops
QuantoOption::ForwardGreeks             :  48 mflops
RandomNumber::MersenneTwisterDescrepancy: 209 mflops
RiskStatistics::Results                 : 401 mflops
ShortRateModel::Swaps                   : 433 mflops
-------------------------------------------------------
QuantLib Benchmark Index                :  232 mflops

Please find the C++ sources enclosed in the attachment. (The benchmark should
be OS independent). Compile quantlibbenchmark.cpp with the same statement you
are using for quantlibtestsuite.cpp.


I've also played around with different compiler and options to speed-up
the QuantLib. Please find the results here


cheers
 Klaus

On Monday 19 June 2006 1:39 pm, Moreton, Peter wrote:

> OK, if anyone wants to email me with performance data regarding the
> Quantlib test-suite executing on various platforms, I'd be happy to
> maintain, and periodically publish this. The following data would be
> useful:
>
> * Quantlib version
> * Number of test cases
> * CPU Name (Intel Xeon, AMD Opteron etc)
> * CPU Clockrate
> * CPU L2 Cache
> * Memory
> * Elapsed time to run all test-cases
>
> The compiler used on my benchmarks is GCC v4.0.3. I'm sure I could squeeze
> a few percent by messing with compiler switches, and maybe a couple of
> hundred percent by optimizing the code to keep the CPU piplelines full etc.
> However, my interest is in porting the code to an FPGA, which might yield
> gains of a hundred-fold or more.
>
> Regards, Peter Moreton
>
>
>
>
>
> ________________________________
>
> From: Luigi Ballabio [mailto:[hidden email]]
> Sent: Mon 19/06/2006 12:13
> To: Moreton, Peter
> Cc: [hidden email]
> Subject: Re: [Quantlib-users] How to build the test-suite executables?
>
> On 06/19/2006 01:09:23 PM, Moreton, Peter wrote:
> > Thanks Luigi, I have the whole of Quantlib running just fine under
> > Ubuntu now.
>
> Good.
>
> > My interest is in the area of performance of the algorithms, and I
> > wonder is there any place on the 'net where the Quantlib test-suite
> > benchmarks have been gathered together for comparison purposes?
>
> I don't think so. Drop a line here on the mailing list if you want to
> gather such data.
>
> > My results so far are:
> >
> > test-suite, 236 test cases:    AMD XP2000+ 1.7Ghz, 256Kb L2, 1Gbyte
> > RAM    : 10 minutes 23 seconds
> >                                           Intel Pentium-M  1.5Ghz, 1Mb
> > L2, 512Mbyte RAM : 8 minutes 24 seconds
>
> What compiler are you using on the two machines? (Of course it's gcc
> for Ubuntu, but I don't know what version it distributes.) How about
> compiler options?
>
> Luigi
>
>
> ----------------------------------------
>
> All generalizations are false, including this one.
> -- Mark Twain
>
>
>
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users

ql benchmark.ppt.gz (63K) Download Attachment
quantlibbenchmark.cpp (8K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

LFM constant vol wrapper

Toyin Akin

Hi Klaus,

You need to modify the include file line used within the LFM const vol
wrapper header file as currently it is including itself!!

Toy out.