Sow in driver.optimize()

Newbie question about the mode=‘sow’ with a conda installation of v1.3.2, python3.6. I’m interested in parallelizing finite difference calculations with sow/reap for geometry optimizations (as suggested here). When using the pywrap-opt-sowreap sample, no evidence of sow/reap behavior is found: the calculation runs to completion, regardless of the number of threads specified (e.g. $ conda activate base; psi4 input.dat -n 5) and no BASIC files are generated. Happy to provide the output file if needed.

The sample prints the warning “This file will not work outside a cmake test environment,” and I’m pretty sure this warning is suggesting I do something that I’m currently not: any guidance would be greatly appreciated! I noticed that psi4.driver.optimize() and psi4.driver.hessian() both dispatch all finite displacements serially, however: is the desired behavior simply not implemented yet?

Additional, possibly helpful information:
The pywrap-db1 and -db3 samples run successfully, whereas the -db2 sample produces an error similar to that described in #833 after the three BASIC files are generated:

Traceback (most recent call last):
File “/home/wpm216/psi4conda/bin/psi4”, line 287, in
File “”, line 29, in
File “/home/wpm216/psi4conda/lib//python3.6/site-packages/psi4/driver/”, line 563, in database
pickle.dump(kwargs, freagent)

TypeError: write() argument must be str, not bytes

-db2 runs successfully after removing {mode=‘sow’} from the db() command’s kwargs.

Happy to clarify anything. Thanks in advance!

We had sow/reap capabilities, but we removed them temporarily. There were technical problems involving how you pickle a molecule. Then Python3 broke the mechanism Psi had for sow/reap. Between all that, Lori Burns and Daniel Smith decided to completely rewrite the system, rather than to repair it. The old system is removed, and the new one is in the works. The last I heard is that the new system should be available in 1.4 later this year.

@dgasmith would know more about the timeline and the interface to the new sow/reap.

1 Like

Sow/Reap should be back in 1.4 which should come out some time this fall. You can track the progress here:

1 Like