The h5py documentations (http://www.h5py.org/docs/high/dataset.html) says the following:
Importantly, h5py does not use NumPy to do broadcasting before the write...
>>> dset2 = f.create_dataset("MyDataset", (1000,1000,1000), 'f')
>>> data = np.arange(1000*1000, dtype='f').reshape((1000,1000))
>>> dset2[:] = data # Does NOT allocate 3.8 G of memory
What doest broadcasting refers to in this case?