-
Notifications
You must be signed in to change notification settings - Fork 160
MergeComplexSprint
We are close to merge the complex branch onto master, remaining tasks being:
- ensure type safety in each part of Firedrake,
- reduce the size of tests to make complex tests run in a reasonable amount of time.
The purpose of this sprint is to make these happen, each working on their favorite parts of Firedrake.
We will also be hosting a pre-sprint meeting to discuss the workflow.
This sprint and the pre-sprint meeting are going to happen on Zoom, and we are going to provide the participants with the links to the Zoom meetings on Slack general channel beforehand.
Friday 17th April 2020 at 16:00 (UK time, GMT+1)
Action items @ALL
- Run installation see below
- Run tests -> create issues
- Allocate problems of failing tests to yourself
Potential error causes
- C-string codes, e.g. containing hard coded doubles
- Implicit real assumptions, math is invalid for complex, e.g. uvdx has to be proper inner product
- Interfacing to external libraries which do not supply complex version e.g. for libspatialindex the coords have to be casted to doubles
Further problems
- Petsc only has single scalar type/always rebuild Petsc
- Test system needs to do tests for both modes (=complex/real) -> boil down tests where possible
- Docker image generation will take longer, -> decide if we want to put complex in docker
- Installation will take longer
- Merge claras changes of loopy prolongation/restriction for multigrid, @Lawrence
Additional notes
- Out of scope for now: what is the most performant caching (at the moment TSFC turns of loopy caching)
- Complex does complex valued pdes on real domains, nothing on complex domains
First task allocation
- David: be prepared for questions
- Reuben, Nacime, Koki, Darko: collect failing tests
- Alberto: PyOP2/adjoint?
- Lawrence: multigrid
- Sophia: loopy
Afternoons (UK time, GMT+1) of the week beginning 20th April 2020
python3 firedrake-install --complex --package-branch loopy complex --package-branch tsfc complex-sprint --package-branch PyOP2 complex-sprint --package-branch firedrake complex-sprint
(TODO: Check loopy branch at the pre-sprint meeting)
Please add your name if you would be able to attend
- David Ham
- Lawrence Mitchell
- Nacime Bouziani
- Sophia Vorderwuelbecke
- Reuben Hill
- Koki Sagiyama
- Alberto Paganini
Building locally
Tips
- Running Firedrake tests with different subpackage branches
- Modifying and Rebuilding PETSc and petsc4py
- Vectorisation
- Debugging C kernels with
lldb
on MacOS - Parallel MPI Debugging with
tmux-mpi
,pdb
andgdb
- Parallel MPI Debugging with VSCode and
debugpy
- Modifying generated code
- Kernel profiling with LIKWID
- breakpoint() builtin not working
- Debugging pytest with multiple processing
Developers Notes
- Upcoming meeting 2024-08-21
- 2024-08-07
- 2024-07-24
- 2024-07-17
- 2024-07-10
- 2024-06-26
- 2024-06-19
- 2024-06-05
- 2024-05-29
- 2024-05-15
- 2024-05-08
- 2024-05-01
- 2024-04-28
- 2024-04-17
- 2024-04-10
- 2024-04-03
- 2024-03-27
- 2024-03-20
- 2024-03-06
- 2024-02-28
- 2024-02-28
- 2024-02-21
- 2024-02-14
- 2024-02-07
- 2024-01-31
- 2024-01-24
- 2024-01-17
- 2024-01-10
- 2023-12-13
- 2023-12-06
- 2023-11-29
- 2023-11-22
- 2023-11-15
- 2023-11-08
- 2023-11-01
- 2023-10-25
- 2023-10-18
- 2023-10-11
- 2023-10-04
- 2023-09-27
- 2023-09-20
- 2023-09-06
- 2023-08-30
- 2023-08-23
- 2023-07-12
- 2023-07-05
- 2023-06-21
- 2023-06-14
- 2023-06-07
- 2023-05-17
- 2023-05-10
- 2023-03-08
- 2023-02-22
- 2023-02-15
- 2023-02-08
- 2023-01-18
- 2023-01-11
- 2023-12-14
- 2022-12-07
- 2022-11-23
- 2022-11-16
- 2022-11-09
- 2022-11-02
- 2022-10-26
- 2022-10-12
- 2022-10-05
- 2022-09-28
- 2022-09-21
- 2022-09-14
- 2022-09-07
- 2022-08-25
- 2022-08-11
- 2022-08-04
- 2022-07-28
- 2022-07-21
- 2022-07-07
- 2022-06-30
- 2022-06-23
- 2022-06-16
- 2022-05-26
- 2022-05-19
- 2022-05-12
- 2022-05-05
- 2022-04-21
- 2022-04-07
- 2022-03-17
- 2022-03-03
- 2022-02-24
- 2022-02-10
- 2022-02-03
- 2022-01-27
- 2022-01-20
- 2022-01-13
- 2021-12-15
- 2021-12-09
- 2021-11-25
- 2021-11-18
- 2021-11-11
- 2021-11-04
- 2021-10-28
- 2021-10-21
- 2021-10-14
- 2021-10-07
- 2021-09-30
- 2021-09-23
- 2021-09-09
- 2021-09-02
- 2021-08-26
- 2021-08-18
- 2021-08-11
- 2021-08-04
- 2021-07-28
- 2021-07-21
- 2021-07-14
- 2021-07-07
- 2021-06-30
- 2021-06-23
- 2021-06-16
- 2021-06-09
- 2021-06-02
- 2021-05-19
- 2021-05-12
- 2021-05-05
- 2021-04-28
- 2021-04-21
- 2021-04-14
- 2021-04-07
- 2021-03-17
- 2021-03-10
- 2021-02-24
- 2021-02-17
- 2021-02-10
- 2021-02-03
- 2021-01-27
- 2021-01-20
- 2021-01-13
- 2021-01-06