FiPy Developers,

I am currently using FiPy 3.1 with Python 2.7 on a laptop running Ubuntu
14.04. I am attempting to find the impulse responses of a Fokker-Planck
equation. In the below snippets of code, funcCall(args) calculate an impulse
response with FiPy using a non-parallelized solver.


Serial Calls

for k in range(N):
    responses[k,:] = funcCall(args) 


Parallel Calls

pool = multiprocessing.Pool(processes=1)
responses = pool.map(funcCall, [args for k in range(N)])
pool.close()
pool.join()


I am finding that FiPy returns different numerical results when I call this
method in serial or in parallel. Strangely, even if the parallel calls are
carried out by only one worker using the same solver, the results are still
different.

Using a debugging tool, all arguments appear to be correctly passed to FiPy.
After considering a few test cases, the serial calls appear to arrive at the
correct numerical solutions while the parallel version does not. I am unsure
what is causing this behavior. Are you aware of any potential cause of this
behavior?

If necessary, I can post a more complete version of the code.

Thank you,
Tony

_______________________________________________
fipy mailing list
[email protected]
http://www.ctcms.nist.gov/fipy
  [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]

Reply via email to