Re: [petsc-dev] generatefortranstubs.py cannot run concurrently
I thought of that. But it takes seconds to build and it could be a later run did come after some change to the files so see no harm in rebuilding. If setting up the locking mechanism is as messy as doing them in parallel we might as well do them in parallel. Barry On Mar 26, 2011, at 9:36 AM, Satish Balay wrote:
fortranstubs,etags are common data for all builds. In case of multiple builds one after another - it was ok to just rebuild each time.
With parallel builds - it doesn't make sense to rebuild fortranstubs, etags parallely.
Perhaps we need some kind of locking mechanism? The first configure cleates a lock - before starting a build and removes after completion.
If a subsequent configure comes to the state fo building etags [or fortranstubs] - it checks the lock - and if it exists - skips the build?
Satish
On Sat, 26 Mar 2011, Jed Brown wrote:
Can temporary files be put in a private directory so that multiple reconfigures can be run simultaneously? I think the rest of configure works.
******************************************************************************* UNABLE to EXECUTE BINARIES for ./configure ------------------------------------------------------------------------------- [Errno 2] No such file or directory: '/home/jed/petsc/src/sys/viewer/interface/f90module.f90' ******************************************************************************* File "/home/jed/petsc/config/configure.py", line 272, in petsc_configure framework.configure(out = sys.stdout) File "/home/jed/petsc/config/BuildSystem/config/framework.py", line 922, in configure child.configure() File "/home/jed/petsc/config/PETSc/packages/sowing.py", line 123, in configure self.buildFortranStubs() File "/home/jed/petsc/config/PETSc/packages/sowing.py", line 83, in buildFortranStubs generatefortranstubs.main(self.petscdir.dir, self.bfort, self.petscdir.dir) File "/home/jed/petsc/bin/maint/generatefortranstubs.py", line 196, in main os.path.walk(dir, processDir, [petscdir, bfort]) File "/usr/lib/python2.7/posixpath.py", line 237, in walk walk(name, func, arg) File "/usr/lib/python2.7/posixpath.py", line 237, in walk walk(name, func, arg) File "/usr/lib/python2.7/posixpath.py", line 237, in walk walk(name, func, arg) File "/usr/lib/python2.7/posixpath.py", line 237, in walk walk(name, func, arg) File "/usr/lib/python2.7/posixpath.py", line 229, in walk func(arg, top, names) File "/home/jed/petsc/bin/maint/generatefortranstubs.py", line 161, in processDir FixDir(petscdir,outdir) File "/home/jed/petsc/bin/maint/generatefortranstubs.py", line 123, in FixDir
participants (1)
-
Barry Smith