Re: [firedrake] Problem with Nonlinear solvers after update
Ugh, one of the recent changes we made was to turn on COFFEE's optimisations by default. Unfortunately, this has led to some teething problems. I assume that all components -- COFFEE, Firedrake, PyOP2, FFC, UFL, and FIAT -- are up to date, and that you're running with a clean cache (from the Firedrake base directory, run "./scripts/firedrake-clean"). If the problem persists, as a short-term workaround, can you add op2.init() parameters["coffee"]["O2"] = False to the start of your file, just after the imports? This will result in sub-optimal performance during the assembly stage, so isn't ideal in the long-term. Fabio, our resident barista, will have some fixes after the new year, I'm sure. Andrew On 22 December 2014 at 13:47, Anna Kalogirou <A.Kalogirou@leeds.ac.uk> wrote:
Dear all,
I very recently updated firedrake, pyop2 and installed coffee, but since then none of my codes include nonlinear solvers don’t work (they used to work fine before the update).
I even tried to run the burgers.py code from the demo and even that diverges.
I get something like:
Traceback (most recent call last): File "benney-luke.py", line 57, in <module> phi_solver = solver_phi(phi1, phi1, phi0, eta0, etaR, phi, gamma, dt, mu, epsilon, is_linear); File "/Users/matak/Documents/Firedrake/modules/solvers.py", line 26, in solver_phi phi_solver = NonlinearVariationalSolver(phi_problem,solver_parameters={'snes_monitor': True,'ksp_monitor': True,'snes_linesearch_monitor': True}) File "/Users/matak/firedrake/firedrake/variational_solver.py", line 97, in __init__ form_compiler_parameters=self._problem.form_compiler_parameters) File "/Users/matak/firedrake/firedrake/assemble.py", line 58, in assemble form_compiler_parameters=form_compiler_parameters) File "/Users/matak/firedrake/firedrake/assemble.py", line 79, in _assemble kernels = ffc_interface.compile_form(f, "form", parameters=form_compiler_parameters) File "/Users/matak/firedrake/firedrake/ffc_interface.py", line 268, in compile_form ffc_kernel = FFCKernel(f, name + str(i) + str(j), parameters) File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/caching.py", line 202, in __new__ obj = make_obj() File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/caching.py", line 192, in make_obj obj.__init__(*args, **kwargs) File "/Users/matak/firedrake/firedrake/ffc_interface.py", line 194, in __init__ (name, it.integral_type(), it.subdomain_id()), opts, inc), File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/backends.py", line 118, in __call__ return t(*args, **kwargs) File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/caching.py", line 202, in __new__ obj = make_obj() File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/caching.py", line 192, in make_obj obj.__init__(*args, **kwargs) File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/base.py", line 3632, in __init__ self._code = self._ast_to_c(code, opts) File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/host.py", line 63, in _ast_to_c ast_handler.plan_cpu(opts) File "/usr/local/lib/python2.7/site-packages/coffee/plan.py", line 405, in plan_cpu loop_opts = _generate_cpu_code(self, **params) File "/usr/local/lib/python2.7/site-packages/coffee/plan.py", line 241, in _generate_cpu_code loop_opt.rewrite(rewrite) File "/usr/local/lib/python2.7/site-packages/coffee/optimizer.py", line 110, in rewrite ew.expand() File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 168, in expand ee.expand(self.stmt.children[1], self.stmt, itvars_occs, itvar_exp) File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 565, in expand return self.expand(node.children[0], node, itvars_occs, itvar_exp) File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 567, in expand l_node, l_type = self.expand(node.children[0], node, itvars_occs, itvar_exp) File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 565, in expand return self.expand(node.children[0], node, itvars_occs, itvar_exp) File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 599, in expand l_node, l_type = self.expand(node.children[0], node, itvars_occs, itvar_exp) File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 565, in expand return self.expand(node.children[0], node, itvars_occs, itvar_exp) File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 608, in expand raise RuntimeError("Expansion error: unknown node: %s" % str(node)) RuntimeError: Expansion error: unknown node: (LI_IPK_1_0[k] * LI_IPJ_1_1[j]) / LI_C_1_0
Thank you.
Anna.
_______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake
Oh, I should have done what Andrew suggests before sending my email... op2.init() parameters["coffee"]["O2"] = False seems to fix at least part of my problem :-) Sorry for the noise, Eike -- Dr Eike Hermann Mueller Research Associate (PostDoc) Department of Mathematical Sciences University of Bath Bath BA2 7AY, United Kingdom +44 1225 38 5803 e.mueller@bath.ac.uk http://people.bath.ac.uk/em459/
On 22 Dec 2014, at 13:58, Andrew McRae <a.mcrae12@imperial.ac.uk> wrote:
Ugh, one of the recent changes we made was to turn on COFFEE's optimisations by default. Unfortunately, this has led to some teething problems.
I assume that all components -- COFFEE, Firedrake, PyOP2, FFC, UFL, and FIAT -- are up to date, and that you're running with a clean cache (from the Firedrake base directory, run "./scripts/firedrake-clean").
If the problem persists, as a short-term workaround, can you add
op2.init() parameters["coffee"]["O2"] = False
to the start of your file, just after the imports? This will result in sub-optimal performance during the assembly stage, so isn't ideal in the long-term.
Fabio, our resident barista, will have some fixes after the new year, I'm sure.
Andrew
On 22 December 2014 at 13:47, Anna Kalogirou <A.Kalogirou@leeds.ac.uk <mailto:A.Kalogirou@leeds.ac.uk>> wrote: Dear all,
I very recently updated firedrake, pyop2 and installed coffee, but since then none of my codes include nonlinear solvers don’t work (they used to work fine before the update).
I even tried to run the burgers.py code from the demo and even that diverges.
I get something like:
Traceback (most recent call last): File "benney-luke.py", line 57, in <module> phi_solver = solver_phi(phi1, phi1, phi0, eta0, etaR, phi, gamma, dt, mu, epsilon, is_linear); File "/Users/matak/Documents/Firedrake/modules/solvers.py", line 26, in solver_phi phi_solver = NonlinearVariationalSolver(phi_problem,solver_parameters={'snes_monitor': True,'ksp_monitor': True,'snes_linesearch_monitor': True}) File "/Users/matak/firedrake/firedrake/variational_solver.py", line 97, in __init__ form_compiler_parameters=self._problem.form_compiler_parameters) File "/Users/matak/firedrake/firedrake/assemble.py", line 58, in assemble form_compiler_parameters=form_compiler_parameters) File "/Users/matak/firedrake/firedrake/assemble.py", line 79, in _assemble kernels = ffc_interface.compile_form(f, "form", parameters=form_compiler_parameters) File "/Users/matak/firedrake/firedrake/ffc_interface.py", line 268, in compile_form ffc_kernel = FFCKernel(f, name + str(i) + str(j), parameters) File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/caching.py", line 202, in __new__ obj = make_obj() File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/caching.py", line 192, in make_obj obj.__init__(*args, **kwargs) File "/Users/matak/firedrake/firedrake/ffc_interface.py", line 194, in __init__ (name, it.integral_type(), it.subdomain_id()), opts, inc), File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/backends.py", line 118, in __call__ return t(*args, **kwargs) File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/caching.py", line 202, in __new__ obj = make_obj() File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/caching.py", line 192, in make_obj obj.__init__(*args, **kwargs) File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/base.py", line 3632, in __init__ self._code = self._ast_to_c(code, opts) File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/host.py", line 63, in _ast_to_c ast_handler.plan_cpu(opts) File "/usr/local/lib/python2.7/site-packages/coffee/plan.py", line 405, in plan_cpu loop_opts = _generate_cpu_code(self, **params) File "/usr/local/lib/python2.7/site-packages/coffee/plan.py", line 241, in _generate_cpu_code loop_opt.rewrite(rewrite) File "/usr/local/lib/python2.7/site-packages/coffee/optimizer.py", line 110, in rewrite ew.expand() File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 168, in expand ee.expand(self.stmt.children[1], self.stmt, itvars_occs, itvar_exp) File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 565, in expand return self.expand(node.children[0], node, itvars_occs, itvar_exp) File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 567, in expand l_node, l_type = self.expand(node.children[0], node, itvars_occs, itvar_exp) File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 565, in expand return self.expand(node.children[0], node, itvars_occs, itvar_exp) File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 599, in expand l_node, l_type = self.expand(node.children[0], node, itvars_occs, itvar_exp) File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 565, in expand return self.expand(node.children[0], node, itvars_occs, itvar_exp) File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 608, in expand raise RuntimeError("Expansion error: unknown node: %s" % str(node)) RuntimeError: Expansion error: unknown node: (LI_IPK_1_0[k] * LI_IPJ_1_1[j]) / LI_C_1_0
Thank you.
Anna.
_______________________________________________ firedrake mailing list firedrake@imperial.ac.uk <mailto:firedrake@imperial.ac.uk> https://mailman.ic.ac.uk/mailman/listinfo/firedrake <https://mailman.ic.ac.uk/mailman/listinfo/firedrake>
_______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake
Thank you very much Andrew. That fixed my problems! Anna. P.S. Happy holidays and Merry Christmas to all of you :) On 22 Dec 2014, at 14:22, Eike Mueller <e.mueller@bath.ac.uk<mailto:e.mueller@bath.ac.uk>> wrote: Oh, I should have done what Andrew suggests before sending my email... op2.init() parameters["coffee"]["O2"] = False seems to fix at least part of my problem :-) Sorry for the noise, Eike -- Dr Eike Hermann Mueller Research Associate (PostDoc) Department of Mathematical Sciences University of Bath Bath BA2 7AY, United Kingdom +44 1225 38 5803 e.mueller@bath.ac.uk<mailto:e.mueller@bath.ac.uk> http://people.bath.ac.uk/em459/ On 22 Dec 2014, at 13:58, Andrew McRae <a.mcrae12@imperial.ac.uk<mailto:a.mcrae12@imperial.ac.uk>> wrote: Ugh, one of the recent changes we made was to turn on COFFEE's optimisations by default. Unfortunately, this has led to some teething problems. I assume that all components -- COFFEE, Firedrake, PyOP2, FFC, UFL, and FIAT -- are up to date, and that you're running with a clean cache (from the Firedrake base directory, run "./scripts/firedrake-clean"). If the problem persists, as a short-term workaround, can you add op2.init() parameters["coffee"]["O2"] = False to the start of your file, just after the imports? This will result in sub-optimal performance during the assembly stage, so isn't ideal in the long-term. Fabio, our resident barista, will have some fixes after the new year, I'm sure. Andrew On 22 December 2014 at 13:47, Anna Kalogirou <A.Kalogirou@leeds.ac.uk<mailto:A.Kalogirou@leeds.ac.uk>> wrote: Dear all, I very recently updated firedrake, pyop2 and installed coffee, but since then none of my codes include nonlinear solvers don’t work (they used to work fine before the update). I even tried to run the burgers.py code from the demo and even that diverges. I get something like: Traceback (most recent call last): File "benney-luke.py", line 57, in <module> phi_solver = solver_phi(phi1, phi1, phi0, eta0, etaR, phi, gamma, dt, mu, epsilon, is_linear); File "/Users/matak/Documents/Firedrake/modules/solvers.py", line 26, in solver_phi phi_solver = NonlinearVariationalSolver(phi_problem,solver_parameters={'snes_monitor': True,'ksp_monitor': True,'snes_linesearch_monitor': True}) File "/Users/matak/firedrake/firedrake/variational_solver.py", line 97, in __init__ form_compiler_parameters=self._problem.form_compiler_parameters) File "/Users/matak/firedrake/firedrake/assemble.py", line 58, in assemble form_compiler_parameters=form_compiler_parameters) File "/Users/matak/firedrake/firedrake/assemble.py", line 79, in _assemble kernels = ffc_interface.compile_form(f, "form", parameters=form_compiler_parameters) File "/Users/matak/firedrake/firedrake/ffc_interface.py", line 268, in compile_form ffc_kernel = FFCKernel(f, name + str(i) + str(j), parameters) File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/caching.py", line 202, in __new__ obj = make_obj() File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/caching.py", line 192, in make_obj obj.__init__(*args, **kwargs) File "/Users/matak/firedrake/firedrake/ffc_interface.py", line 194, in __init__ (name, it.integral_type(), it.subdomain_id()), opts, inc), File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/backends.py", line 118, in __call__ return t(*args, **kwargs) File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/caching.py", line 202, in __new__ obj = make_obj() File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/caching.py", line 192, in make_obj obj.__init__(*args, **kwargs) File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/base.py", line 3632, in __init__ self._code = self._ast_to_c(code, opts) File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyOP2-0.11.0_148_g8a1955c-py2.7-macosx-10.9-x86_64.egg/pyop2/host.py", line 63, in _ast_to_c ast_handler.plan_cpu(opts) File "/usr/local/lib/python2.7/site-packages/coffee/plan.py", line 405, in plan_cpu loop_opts = _generate_cpu_code(self, **params) File "/usr/local/lib/python2.7/site-packages/coffee/plan.py", line 241, in _generate_cpu_code loop_opt.rewrite(rewrite) File "/usr/local/lib/python2.7/site-packages/coffee/optimizer.py", line 110, in rewrite ew.expand() File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 168, in expand ee.expand(self.stmt.children[1], self.stmt, itvars_occs, itvar_exp) File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 565, in expand return self.expand(node.children[0], node, itvars_occs, itvar_exp) File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 567, in expand l_node, l_type = self.expand(node.children[0], node, itvars_occs, itvar_exp) File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 565, in expand return self.expand(node.children[0], node, itvars_occs, itvar_exp) File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 599, in expand l_node, l_type = self.expand(node.children[0], node, itvars_occs, itvar_exp) File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 565, in expand return self.expand(node.children[0], node, itvars_occs, itvar_exp) File "/usr/local/lib/python2.7/site-packages/coffee/rewriter.py", line 608, in expand raise RuntimeError("Expansion error: unknown node: %s" % str(node)) RuntimeError: Expansion error: unknown node: (LI_IPK_1_0[k] * LI_IPJ_1_1[j]) / LI_C_1_0 Thank you. Anna. _______________________________________________ firedrake mailing list firedrake@imperial.ac.uk<mailto:firedrake@imperial.ac.uk> https://mailman.ic.ac.uk/mailman/listinfo/firedrake _______________________________________________ firedrake mailing list firedrake@imperial.ac.uk<mailto:firedrake@imperial.ac.uk> https://mailman.ic.ac.uk/mailman/listinfo/firedrake _______________________________________________ firedrake mailing list firedrake@imperial.ac.uk<mailto:firedrake@imperial.ac.uk> https://mailman.ic.ac.uk/mailman/listinfo/firedrake
participants (3)
- 
                
                Andrew McRae
- 
                
                Anna Kalogirou
- 
                
                Eike Mueller