Skip to content

Conversation

@sv2518
Copy link
Contributor

@sv2518 sv2518 commented Jul 10, 2022

This a fix for the flop counting. If we turn flop counting on in Firedrake without this fix, all tests are failing see actions run on this commit firedrakeproject/firedrake@fae62c4. The commit later pulls this PyOP2 branch in.
I also refactored the code a tiny bit and made num_flops a method of the specialized local kernels rather than the generic to avoid some of the isinstance special casing we had before.
The coffee flop counting is fixed now too.

There is something funny going on with layer args in the flop counting algorithm that I don't understand yet (see failing tests @ https://github.com/firedrakeproject/firedrake/runs/7272623399?check_suite_focus=true. (EDIT: I had to fix the layer arg in the loopy kernels because we usually pass a value for that in from the global kernel)

Order of merging: firedrakeproject/tsfc#279, then this one, then firedrakeproject/firedrake#2490

@sv2518 sv2518 requested a review from connorjward July 10, 2022 20:27
…ernel does that, but we count the FLOPS of the local kernel here. This changes the result of the extrusion kernel but not its FLOP count I think.
@sv2518
Copy link
Contributor Author

sv2518 commented Jul 11, 2022

Currently the counting is spewing a lot of warnings in loopy and silencing doesn't work as I would expect (possibly my fault). I asked the Loo.py people here inducer/loopy#645.

@sv2518
Copy link
Contributor Author

sv2518 commented Jul 11, 2022

Thanks, Connor! I will waiting with merging this until the warnings are shut up properly.

@connorjward
Copy link
Collaborator

Closing as we are moving PyOP2 into Firedrake. There is a Firedrake PR that references this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants