|
From: Deepak <dee...@3i...> - 2010-03-19 07:27:19
|
Hi Guys, I'm using Monte Carlo engine and Path Generators to price some option types, I want to know what steps should I take to reduce the computation time, or I can say I want to improve performance, I know it all depends on the number of iterations, but I can't reduce it, I want other options like distributed/Parallel/Multithreading or anything similar, to price my options, if there is anything already done in this direction please tell me, I want you guys to give your thoughts even if I'll have to implement, I want to discuss first, QuantLib is a great library may be I can contribute, Please give your inputs. Thanks & Regards, Deepak --- This e-mail message may contain confidential, proprietary or legally privileged information. It should not be used by anyone who is not the original intended recipient.If you have erroneously received this message, please delete it immediately and notify the sender. The recipient acknowledges that 3i Infotech or its subsidiaries and associated companies, (collectively "3i Infotech"), are unable to exercise control or ensure or guarantee the integrity of/over the contents of the information contained in e-mail transmissions and further acknowledges that any views expressed in this message are those of the individual sender and no binding nature of the message shall be implied or assumed unless the sender does so expressly with due authority of 3i Infotech. Before opening any attachments please check them for viruses and defects. |
|
From: Kim K. T. <kue...@vo...> - 2010-03-19 08:05:19
|
Hi Deepak, there are several ways to improve the performance. Before you do that i' ll suggest you to use boost::chrono to see where the bottleneck of your application is.http://svn.boost.org/svn/boost/sandbox/chrono/libs/chrono/doc/html/index.html It will measure the time you use for your application. For example. real 0.832s, cpu 0.813s (97.7%), user 0.813s, system 0.000s After that you can playing around by changing the container ( from vector to list or to quantlib::array, boost::array,...) Try to rewrite your payoff function. If all this dont help , i 'll suggest you to port your calculation into a graphic processor. To help you get starting see the article from Mark S. Joshi Graphical Asian Options Abstract We study the problem of pricing an Asian option using CUDA on a graphics processing unit. We demonstrate that it is possible to get accuracy of 2E-4 in less than a fiftieth of a second. Cheers, Kim Deepak schrieb: > > Hi Guys, > > I’m using *Monte Carlo engine and Path Generators* to price some > option types, I want to know what steps should I take to reduce the > computation time, or I can say I want to improve performance, I know > it all depends on the number of iterations, but I can’t reduce it, I > want other options like distributed/Parallel/Multithreading or > anything similar, to price my options, if there is anything already > done in this direction please tell me, > > I want you guys to give your thoughts even if I’ll have to implement, > I want to discuss first, QuantLib is a great library may be I can > contribute, Please give your inputs. > > Thanks & Regards, > *Deepak* > > > |
|
From: James B. <bro...@gm...> - 2010-03-19 08:46:23
|
On a related note Mark Joshi has made his code available via the kooderive project (http://sourceforge.net/projects/kooderive/) implementing accelerated Asian option pricing using CUDA. It seems to heavily utilize the thrust library which provides a nice C++ interface to CUDA bundled with a series of CUDA accelerated algorithms. You could possibly, depending on the option you're wishing to price, use kooderive as a base. Mark made a post to this list back in February indicating the possibility of integrating kooderive with Quantlib, I'm not sure of the current state of this effort. Cheers, James On Fri, Mar 19, 2010 at 18:04, Kim Kuen Tang <kue...@vo...> wrote: > > Hi Deepak, > > there are several ways to improve the performance. Before you do that i' > ll suggest you to use boost::chrono to see where the bottleneck of your > application > is. > http://svn.boost.org/svn/boost/sandbox/chrono/libs/chrono/doc/html/index.html > > It will measure the time you use for your application. For example. > real 0.832s, cpu 0.813s (97.7%), user 0.813s, system 0.000s > > After that you can playing around by changing the container ( from > vector to list or to quantlib::array, boost::array,...) > Try to rewrite your payoff function. > > If all this dont help , i 'll suggest you to port your calculation into > a graphic processor. To help you get starting see the article from > > Mark S. Joshi > Graphical Asian Options > Abstract > We study the problem of pricing an Asian option using CUDA on a graphics > processing unit. We demonstrate that it is possible to get accuracy of > 2E-4 in less than a fiftieth of a second. > > Cheers, > Kim > > > Deepak schrieb: > > > > Hi Guys, > > > > I’m using *Monte Carlo engine and Path Generators* to price some > > option types, I want to know what steps should I take to reduce the > > computation time, or I can say I want to improve performance, I know > > it all depends on the number of iterations, but I can’t reduce it, I > > want other options like distributed/Parallel/Multithreading or > > anything similar, to price my options, if there is anything already > > done in this direction please tell me, > > > > I want you guys to give your thoughts even if I’ll have to implement, > > I want to discuss first, QuantLib is a great library may be I can > > contribute, Please give your inputs. > > > > Thanks & Regards, > > *Deepak* > > > > > > > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > QuantLib-dev mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-dev > |