PureBytes Links
Trading Reference Links
|
It is kind of shocking that the $100 video card that came with my
system has 64 floating point cores with a high bandwidth connection
to dedicated memory. These are the "shaders" used to render 3d
graphics. Each of these cores can perform a floating point
multiply/add per cycle. Better cards have even more cores.
NVIDIA released a C API about a year ago to allow the cores to allow
the shaders to be used for general purpose computing. Here is a link:
http://www.nvidia.com/object/cuda_get.html
The program model is very interesting. It would be possible, but not
very easy to have a dll load data into the graphics card and complete
the computation there, then move the result back to API to provide
the backtest framework. Many applications that have done this,
including computational finance report a 40 - 100 fold performance
improvement.
However, the programming model is very different. It depends on many
threads taking the same execution path and kept in sync. Each set of
8 cores share the same thread scheduler. It works best when the
number of threads is much larger than the number of cores. A
reasonable mapping would be to map each symbol to a separate thread
and run parallel. So, a backtest of 1,000 symbols would result in
1,000 threads running at the same time.
Memory access is about 100 times more expensive than a floating point
operation. So the threads must have high calculation "density" so
that many calculations are performed for each memory load. Also
enough threads must be available so that other threads may be
scheduled to hide the memory latency. To perform peak memory
bandwidth, loads and stores have to be planed so that memory io from
many threads can be combined into a single memory transaction. Also,
very little cache memory. They used the transistors to built more
cores rather than cache.
So, it is very different than the array streaming processing used by
AMI... And only works if you are running on a late model NVIDIA
card.
So, it would be MUCH more complex to use than just re-writing your
calculation in C. Still, I am tempted to do it just because it is
cool. Imagine 500 step walkforward tests where the run time per step
drops from several hours to a minute or so.
--- In amibroker@xxxxxxxxxxxxxxx, "brian_z111" <brian_z111@xxx> wrote:
>
> > Too bad that we cant run the calculation on the 64 idle cores in
> >the
> > video card using the CUDA api. Now that would be cool.
>
> Now, theres an interesting thought!
>
> I'll leave the computer department to sort that one out while I
dream
> up some more applications for all of this power we are going to
have
> (Tomasz said, from the time I started with AB, that I wanted the
MP3
> player, and everything else as well, so it looks as if we are now
> close to having the means to deliver it all, plus some).
>
> brian_z
>
> --- In amibroker@xxxxxxxxxxxxxxx, "dloyer123" <dloyer123@> wrote:
> >
> > Thanks for responding.
> >
> > On further testing, it looks like the dll is only passed the
> partial
> > array, implying that dll's will also get the benifit of having
less
> > data to process.
> >
> > I am hoping to cache partial results in my dll to avoid
> recalcuating
> > values that do not depend on opimization parameters. It looks
like
> I
> > will need to detect when the first/last bar change and flush my
> cache.
> >
> > Too bad that we cant run the calculation on the 64 idle cores in
> the
> > video card using the CUDA api. Now that would be cool.
> >
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@>
> > wrote:
> > >
> > > Hello,
> > >
> > > Thank you for your kind words.
> > >
> > > Everything you need to know about QuickAFL:
> > > http://www.amibroker.com/kb/2008/07/03/quickafl/
> > >
> > > Best regards,
> > > Tomasz Janeczko
> > > amibroker.com
> > > ----- Original Message -----
> > > From: "dloyer123" <dloyer123@>
> > > To: <amibroker@xxxxxxxxxxxxxxx>
> > > Sent: Friday, July 04, 2008 5:33 PM
> > > Subject: [amibroker] Re: AmiBroker 5.14.0 BETA released
> > >
> > >
> > > > Love the new Quick AFL support! It improved my execution
time
> > from
> > > > 41sec to 25sec for each optimization pass. It will shave
hours
> > off
> > > > each walkforward step.
> > > >
> > > > The new optimizer is a also a huge improvment and makes walk
> > forward
> > > > testing practical.
> > > >
> > > > A couple of questions for you:
> > > > Is the full array still passed to a DLL, or just the part of
> the
> > > > array that Quick AFL is using? It looks like the full
array.
> Is
> > > > there any way that a dll can tell what part to use/ignore?
> > > >
> > > > Keep up the great work. Ami has taken a giant leap foward in
> the
> > > > last few months.
> > > >
> > > > --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@>
> > > > wrote:
> > > >>
> > > >> Hello,
> > > >>
> > > >> AmiBroker 5.14.0 BETA is released now:
> > > >> http://www.amibroker.com/devlog/2008/07/04/amibroker-5140-
beta-
> > > > released/
> > > >>
> > > >> CHANGES IN VERSION 5.14.0 (as compared to 5.13.0):
> > > >>
> > > >> 1.. added support for Quarterly and Yearly intervals in
all
> > parts
> > > > of the program
> > > >> 2.. Changes to drawing made in v5.13 caused improper
drawing
> > > > lines located PAST the last available quote (trendlines and
> > > > pitchforks) when timestamping method was "START TIME of
> > interval".
> > > > This is fixed now.
> > > >> 3.. Fixed AddSummaryRows so 'onlycols' parameter default
> > (zero)
> > > > is applied properly
> > > >> 4.. Implemeted "Select all" via Ctrl-A keyboard shortcut
for
> > all
> > > > list (result list in AA for example)
> > > >> 5.. Mouse cursor shape (moving/sizing) reflects the
selected
> > > > study priority when more than one study exists under mouse
> > position
> > > >> 6.. new multiple Volume At Price charts at user-defined
> points
> > > > via new PlotVolumeOverlayA function
> > > >> 7.. QuickAFL can now be used in Automatic Analysis
> (Settings:
> > > > General: "Use QuickAFL" - check this box) - this can speed up
> > > > explorations, scans and backtests by factor of 2+ if range is
> > less
> > > > than "all quotations". More on this:
> > > > http://www.amibroker.com/kb/quickafl
> > > >> 8.. Range Bars compression now uses TickSize as "1R step".
> > > > TickSize defined in the Symbol Information, if its value is
> zero,
> > > > then 1R would be equivalent to 0.01 movement (for backward
> > compat)
> > > >> 9.. selecting date in multiple linked charts is now faster
> > > > because redraw is not made when selected line in higher
> > compressed
> > > > interval remains in place
> > > >> 10.. selector line in linked charts works OK now,
regardless
> > of
> > > > selected time compression timestamping method
> > > >> 11.. SetBarsRequired accepts now values -2 in special
> meaning:
> > > > reference ALL bars
> > > >> 12.. Sometimes progress bar did not show the name of
> > optimization
> > > > engine used. Now it is fixed
> > > >> 13.. Status("ActionEx") provides more codes than Status
> > ("action")
> > > > to detect special executions states
> > > >> 14.. Streaming chart update could stall if trend line
handle
> > was
> > > > clicked in attempt to resize and released in the very same
> > position
> > > > (without moving the mouse). Now it is fixed.
> > > >> 15.. TimeFrameMode() now supports mode == 4 - which
> expresses
> > > > RANGE bars in TickSize units (as opposed to mode 3 that uses
> > dollars
> > > > for backward compatiblity)
> > > >> 16.. when display chart timing option is turned on and RT
> > stream
> > > > is active the application STATUS BAR now displays TOTAL time
> for
> > all
> > > > charts, it should be BELOW 1 second for RT trading
> > > >>
> > > >> Best regards,
> > > >> Tomasz Janeczko
> > > >> amibroker.com
> > > >>
> > > >
> > > >
> > > >
> > > > ------------------------------------
> > > >
> > > > Please note that this group is for discussion between users
> only.
> > > >
> > > > To get support from AmiBroker please send an e-mail directly
to
> > > > SUPPORT {at} amibroker.com
> > > >
> > > > For NEW RELEASE ANNOUNCEMENTS and other news always check
> DEVLOG:
> > > > http://www.amibroker.com/devlog/
> > > >
> > > > For other support material please check also:
> > > > http://www.amibroker.com/support.html
> > > > Yahoo! Groups Links
> > > >
> > > >
> > > >
> > >
> >
>
------------------------------------
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
For other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/amibroker/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:amibroker-digest@xxxxxxxxxxxxxxx
mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|