I was wondering if I can improve the speed of my simulations with CUDA in Matlab by simply breaking up the loop into GPU-threads.

So far I have done the loops with mclapply in R, but I was wondering, if I could **speed it up in Matlab with CUDA**? (Nvidia Gtx 650 ti boost)

Here is a **simplified example** of what I'm doing:
I have a dataset of dim 2000x9 and I want to run at least 250 loops with moving data window (ca. 1500 rows), these loops are independent thus perfect for parallel computation.

**Example of loop:** Take the first 1500 rows. Some magic with the whole dataset (1500x9). Calculate univariate function on each column (do 9times operation on 1500x1) and then run minimization problem with a certain loss function for each column (do 9times operation on 1500x1).
(inbetween I'm also working with all columns, so I cannot separate the columns in different threads)

**My idea:**
If I would be running each loop in different GPU-thread? Does it make sense to do such a hard computational problem in single GPU core? (for illustration, 1 loop takes ca. 300seconds on i7 3770k on 1 core)

I know that single GPU threads are much slower compared to CPU, but if all loops will be running simultaneously? Especially since each loop takes so long once its given data, so feeding the data to GPU will take only insignificant portion of overall time.

Important note: I'm a very lousy "programmer", and what I plan is just splitting the for loop (i in 1:250) in function of variable i and passing this to GPU.