Separates CUDA blocks from the actual matrix block

* In theory (not tested yet), now the size of the CUDA block is
  completely independent from the matrix block that it is computing.