re-enabled allocation of 2D data-areas
fixed corner case for empty matrizes
fallback to hostdrv if cuda kernel launch fails