Some tests failing for > 5 processes
This looks to be caused by some processes being without data. when running a full test, there are many failures but when run individually the only failing files are as follows:

- test_io
- test_operations
diff --git a/.travis.yml b/.travis.yml
index 535e53f7..8d4149a4 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -17,7 +17,7 @@ script:
   # Running multiple mpi process count, generate a unique coverage report for each one and merge into one report
   - |
     docker exec -t unittest /bin/bash -c '. /root/.bashrc && \
-      for i in {1..4}; do mpirun --allow-run-as-root -np $i coverage run --source=heat --parallel-mode -m pytest heat/ > /dev/null; done && \
+      for i in {1..6}; do mpirun --allow-run-as-root -np $i coverage run --source=heat --parallel-mode -m pytest heat/ > /dev/null; done && \
       coverage combine && \
       coverage report && \
       coverage xml'
diff --git a/heat/core/io.py b/heat/core/io.py
index b2c2d6f0..35792da6 100644
--- a/heat/core/io.py
+++ b/heat/core/io.py
@@ -267,9 +267,17 @@ else:
         # actually load the data
         with nc.Dataset(path, 'r', parallel=__nc_has_par, comm=comm.handle) as handle:
             data = handle[variable][:]
+
+            # prepare meta information
             gshape = tuple(data.shape)
-            _, _, indices = comm.chunk(gshape, split)
-            data = torch.tensor(data[indices], dtype=dtype.torch_type(), device=device.torch_device)
+            split = sanitize_axis(gshape, split)
+
+            # chunk up the data portion
+            _, local_shape, indices = comm.chunk(gshape, split)
+            if split is None or local_shape[split] > 0:
+                data = torch.tensor(data[indices], dtype=dtype.torch_type(), device=device.torch_device)
+            else:
+                data = torch.empty(local_shape, dtype=dtype.torch_type(), device=device.torch_device)
 
             return tensor.tensor(data, gshape, dtype, split, device, comm)
 
diff --git a/heat/core/tests/test_tensor.py b/heat/core/tests/test_tensor.py
index e868b401..5f12f00b 100644
--- a/heat/core/tests/test_tensor.py
+++ b/heat/core/tests/test_tensor.py
@@ -765,13 +765,13 @@ class TestTensorFactories(unittest.TestCase):
             ht.empty_like(ones, split='axis')
 
     def test_eye(self):
-
         def get_offset(tensor_array):
             x, y = tensor_array.shape
             for k in range(x):
                 for l in range(y):
                     if tensor_array[k][l] == 1:
                         return k, l
+            return x, y
 
         shape = 5
         eye = ht.eye(shape, dtype=ht.uint8, split=1)
['heat/core/io.py', 'heat/core/tests/test_tensor.py', '.travis.yml']