Esempio n. 1
0
        if key == 'bool':
            continue
        dset = grp[key]
        indices = slice((size - rank - 1) * datasize, (size - rank) * datasize)
        selection = HyperslabSelection(indices, dset.shape)
        new_val = np.ndarray(selection.mshape, dset.dtype, order='C')
        dset.read(new_val, selection, collective=parallel)
        ref_val = np.arange((size - rank - 1) * datasize,
                            (size - rank) * datasize,
                            dtype=key)
        assert ((new_val == ref_val).all)


if world.size > 1:
    comm = world.get_c_object()
    parallel = True
else:
    comm = None
    parallel = False

file = File('tmp.hdf5', 'w', comm=comm)
write(attrs, data, file, parallel)
file.close()

file = File('tmp.hdf5', 'r', comm=comm)
read(attrs, data, file, parallel)
file.close()

if rank == 0:
    os.remove('tmp.hdf5')
    # read data in reversed order
    for key in data:
        if key == "bool":
            continue
        dset = grp[key]
        indices = slice((size - rank - 1) * datasize, (size - rank) * datasize)
        selection = HyperslabSelection(indices, dset.shape)
        new_val = np.ndarray(selection.mshape, dset.dtype, order="C")
        dset.read(new_val, selection, collective=parallel)
        ref_val = np.arange((size - rank - 1) * datasize, (size - rank) * datasize, dtype=key)
        assert (new_val == ref_val).all


if world.size > 1:
    comm = world.get_c_object()
    parallel = True
else:
    comm = None
    parallel = False

file = File("tmp.hdf5", "w", comm=comm)
write(attrs, data, file, parallel)
file.close()

file = File("tmp.hdf5", "r", comm=comm)
read(attrs, data, file, parallel)
file.close()

if rank == 0:
    os.remove("tmp.hdf5")
import numpy as np
import os
from gpaw.io.hdf5_highlevel import File
from gpaw.mpi import world, rank

# write a slice of NumPy array
data = np.arange(10, dtype=float)
sub = data[::2]

if world.size > 1:
    comm = world.get_c_object()
else:
    comm = None

file = File('tmp.hdf5', 'w', comm=comm)

dset = file.create_dataset('noncont', sub.shape, sub.dtype)
if rank == 0:
    selection = 'all'
else:
    selection = None
dset.write(sub, selection)
dset.close()
file.close()

# read data back
file = File('tmp.hdf5', 'r', comm=comm)
dset = file['noncont']
new_data = np.ndarray(dset.shape, dset.dtype, order='C')
dset.read(new_data)
assert ((new_data == sub).all)
Esempio n. 4
0
import numpy as np
import os
from gpaw.io.hdf5_highlevel import File
from gpaw.mpi import world, rank

# write a slice of NumPy array
data = np.arange(10, dtype=float)
sub = data[::2]

if world.size > 1:
    comm = world.get_c_object()
else:
    comm = None

file = File('tmp.hdf5', 'w', comm=comm)

dset = file.create_dataset('noncont', sub.shape, sub.dtype) 
if rank == 0:
    selection = 'all'
else:
    selection = None
dset.write(sub, selection)
dset.close()
file.close()

# read data back
file = File('tmp.hdf5', 'r', comm=comm)
dset = file['noncont']
new_data = np.ndarray(dset.shape, dset.dtype, order='C')
dset.read(new_data)
assert((new_data == sub).all)