Hello guys,
I was considering learning CUDA for making a backtester of my own making faster, but the problem with GPGPU is that these technologies are greatly hindered by the RAM -> GPU bandwidth. Hence it is benefitial for backtests where a large part of RAM is moved onto the graphics card once, from where the GPUs can perform the whole backtest. However, with today's cards having at max 3GBs of memory, you can't possibly hold more than 1.5 year of tick data for some less liquid instruments (say TF).
Backtesting is a sequential event, however not in the sense discussed here. The fact that SMA50 needs to look back 50 periods is valid, however once you precompute the the indicator for the whole investigated period, you can have each core investigate a different period of the market (searching for entries). The same can be applied for exits. However, it is the synchronization of entries and exits on patterns/SL/PT that cannot be done in parallel. So, in my view, GPGPU in backtesting if worth it only if you have enormously complicated entry patterns that take a lot of time to evaluate, where having 3000 cores evaluating entries at every tick is what makes the backtest fast. In any other setup, the power of GPGPU can't be used for quicker backtesting in my view.