Multiple kernel launches

The program can now handle more files, previously we were limited by
memory (3Gb).
We now split the matrix into little submatrices, which we calculate
individually