[firedrake] operations on matrices

Colin Cotter colin.cotter at imperial.ac.uk
Wed Jan 7 09:45:30 GMT 2015


On 07/01/15 09:36, Lawrence Mitchell wrote:

> So one hacky way to do this is as follows (but, it's hacky, there are
> probably better ways):
>
> 1. Generate the kernel for (1)
>
> 2. Generate the kernel that takes the output of (1), an nxm element
> tensor and reads field values to modify the element tensor.
>
> 3. Construct a "super-kernel" that takes all the argument from (1) and
> the additional field arguments from (2) which calls first 1., then 2.
> to generate the correctly modified element tensor.
>
> 4. Use the kernel from 3. as your assembly kernel in a par_loop
> (rather than the kernel from 1.)

Thanks. So, how do I do that in practice, given that I want to write the 
kernel for 2 in a c string?

cheers
--cjc




More information about the firedrake mailing list