Detect symmetries when generating code with FErari optimizations
Registered by
Anders Logg
FErari does not detect symmetries. FFC should detect symmetries (directly from UFL) and take advantage of symmetries when generating code. For example, the symmetric Laplacian comes out as:
A[1] = -0.5*G0_0_0 - 0.5*G0_1_0;
A[5] = 0.5*G0_0_1;
A[0] = -A[1] + 0.5*G0_0_1 + 0.5*G0_1_1;
A[7] = 0.5*G0_1_0;
A[6] = -A[7] - 0.5*G0_1_1;
A[8] = 0.5*G0_1_1;
A[2] = -A[8] - 0.5*G0_0_1;
A[4] = 0.5*G0_0_0;
A[3] = -A[4] - 0.5*G0_0_1;
A[1] should be equal to A[3] etc.
Thanks to Francis Russel for reporting.
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Low
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- New
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
(?)