Question on MC using multi cores
- Andrew Kirillov
- Posts: 1589
- Joined: 28 Jul 2005
- Has thanked: 2 times
- Been thanked: 31 times
- Contact:
CUDA will not help MultiCharts, because it uses different approach for computing. CUDA is designed to handle specific tasks. Don't expect to get such incredible performance improvement in MultiCharts with CUDA. Our short review of this technology demonstrates that it works great for massive computation of arrays. It is very powerful for cg and other similar tasks. We make additional research, but we are skeptical so far.
-
- Posts: 71
- Joined: 25 Aug 2007
- Been thanked: 2 times
Calculation on TimeSeries is one the best application for Vector Computing - and CUDA use a Vector Computing Model.
Have a look at this experiment by a user on a competitor software:
http://www.purebytes.com/archives/amibr ... 09359.html
Of course such implementation can't be purely generic because of classical parallel computing constraints.
E.g : translating a loop calculation into a Vector Calculation can only be done if no dependencies exist.
It's not an easy task but with some "constraints" or "programming rules" allowing a PL script to be "CUDA Compatible", why not ?
Have a look at this experiment by a user on a competitor software:
http://www.purebytes.com/archives/amibr ... 09359.html
Of course such implementation can't be purely generic because of classical parallel computing constraints.
E.g : translating a loop calculation into a Vector Calculation can only be done if no dependencies exist.
It's not an easy task but with some "constraints" or "programming rules" allowing a PL script to be "CUDA Compatible", why not ?
- Andrew Kirillov
- Posts: 1589
- Joined: 28 Jul 2005
- Has thanked: 2 times
- Been thanked: 31 times
- Contact:
-
- Posts: 71
- Joined: 25 Aug 2007
- Been thanked: 2 times
- Andrew Kirillov
- Posts: 1589
- Joined: 28 Jul 2005
- Has thanked: 2 times
- Been thanked: 31 times
- Contact:
Re: Question on MC using multi cores
Sorry for digging up an old topic, but it is full of relevant knowledge
I recently had a chat with Henry about this and I'd like to make it public knowledge with a little more clarification.
I'd like a suggestion for LIVE TRADING with regards to hyper-threading being on or off. I don't care about optimizations or back-tests, just live trading and how hyper-threading affects MC positively or negatively.
Live trading usually consists of many charts with 1 strategy applied to each.
I recently had a chat with Henry about this and I'd like to make it public knowledge with a little more clarification.
I'd like a suggestion for LIVE TRADING with regards to hyper-threading being on or off. I don't care about optimizations or back-tests, just live trading and how hyper-threading affects MC positively or negatively.
Live trading usually consists of many charts with 1 strategy applied to each.
- TJ
- Posts: 7743
- Joined: 29 Aug 2006
- Location: Global Citizen
- Has thanked: 1033 times
- Been thanked: 2222 times
Re: Question on MC using multi cores
TJ,
I'm sorry if my question wasn't clear, but I already know how to enable/disable Hyper-Threading("HT"). My question is asking the MC developers whether or not having HT on or off for live trading will increase performance, decrease performance, or have no effect on the live trading performance.
Depending on how MC is built, more cores with less power or less cores with more power might help or hinder live performance.
I'm sorry if my question wasn't clear, but I already know how to enable/disable Hyper-Threading("HT"). My question is asking the MC developers whether or not having HT on or off for live trading will increase performance, decrease performance, or have no effect on the live trading performance.
Depending on how MC is built, more cores with less power or less cores with more power might help or hinder live performance.
Re: Question on MC using multi cores
MAtricks, turning hyperthreading on can help or hurt depending on program characteristics and the best thing is to benchmark using your particular requirements. Having multiple threads running on a core can help since one thread may be able to run when another is sleeping on a disk or network operation. However, one thread can thrash another thread's cache data in which case hyperthreading can hurt rather than help.