[firedrake] CUDA support broken after update
Hector Dearman
hector.dearman at gmail.com
Mon Apr 27 13:45:37 BST 2015
Hi all,
I recently updated Firedrake, PyOP2, etc and now any attempt to use the
CUDA backend fails with the following stack trace (the sequential backend
still works):
...elided...
File "/homes/hjd11/proj/Firedrake/firedrake/firedrake/functionspace.py",
line 585, in __init__
super(VectorFunctionSpace, self).__init__(mesh, element, name, dim=dim,
rank=1)
File "/homes/hjd11/proj/Firedrake/firedrake/firedrake/functionspace.py",
line 121, in __init__
with function.Function(self).dat.vec_ro as v:
AttributeError: 'Dat' object has no attribute 'vec_ro'
The problem seems to be this new code in firedrake/functionspace.py
introduced in commit 109e128133d6622d99d80fe99144cf269e1039bf:
+ # Tell the DM about the layout of the global vector
+ with function.Function(self).dat.vec_ro as v:
+ self._dm.setGlobalVector(v.duplicate())
Which depends on Dat having a vec_ro which is defined on the PETSc derived
Dat class but not on the CUDA one.
Is the CUDA backend broken for everyone, or did I do something wrong when I
updated Firedrake?
Thanks!
Hector
Commit:
https://github.com/firedrakeproject/firedrake/commit/109e128133d6622d99d80fe99144cf269e1039bf
Code in Firedrake master:
https://github.com/firedrakeproject/firedrake/blob/master/firedrake/functionspace.py#L121
Minimal Example & Traceback:
https://gist.github.com/chromy/9117a372d1b2c3b9d27d
-------------- next part --------------
HTML attachment scrubbed and removed
More information about the firedrake
mailing list