From 336849201239bba6e7f94b968c60dfad88612f90 Mon Sep 17 00:00:00 2001 From: Daniel Brown <ddb@star.sr.bham.ac.uk> Date: Sat, 9 May 2015 18:46:17 +0100 Subject: [PATCH] changing driver for ROM hdf5 reading --- pykat/optics/romhom.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pykat/optics/romhom.py b/pykat/optics/romhom.py index 4048910..b125dd3 100644 --- a/pykat/optics/romhom.py +++ b/pykat/optics/romhom.py @@ -608,11 +608,11 @@ def CreateTrainingSetHDF5(filename, maxOrder, z, w0, R, halfMapSamples, newtonCo print("Data written to %s.h5" % filename) -def _worker_ROM(hdf5Filename, job_queue, result_err, result_idx, event): +def _worker_ROM(hdf5Filename, job_queue, result_err, result_idx, event, driver='core'): # h5py drivers: 'core', 'sec2', 'stdio', 'mpio' # Need to use something ot her than sec2, the default on OSX, # as it doesn't play nice with multiple processes reading files - with h5py.File("%s.h5" % hdf5Filename, driver="core", mode='r') as file: + with h5py.File("%s.h5" % hdf5Filename, driver=driver, mode='r') as file: TS = file["TS"] @@ -640,7 +640,7 @@ def _worker_ROM(hdf5Filename, job_queue, result_err, result_idx, event): event.set() -def MakeROMFromHDF5(hdf5Filename, greedyFilename=None, EIFilename=None, tol=1e-10, NProcesses=1, maxRBsize=50): +def MakeROMFromHDF5(hdf5Filename, greedyFilename=None, EIFilename=None, tol=1e-10, NProcesses=1, maxRBsize=50, driver="core"): start = time.time() #### Start reading TS file #### @@ -686,7 +686,7 @@ def MakeROMFromHDF5(hdf5Filename, greedyFilename=None, EIFilename=None, tol=1e-1 Names = range(NProcesses) procs = [Process(name="process_%i" % l[0], target=_worker_ROM, - args=(hdf5Filename, queue, l[1], l[2], l[3])) for l in zip(Names, result_err, result_idx, locks)] + args=(hdf5Filename, queue, l[1], l[2], l[3], driver)) for l in zip(Names, result_err, result_idx, locks)] max_res = np.zeros((NProcesses), dtype='d') max_idx = np.zeros((NProcesses), dtype='i') -- GitLab