-
Notifications
You must be signed in to change notification settings - Fork 160
Firedrake meeting 2024 11 20
Date and time 2024-11-20 1600 UTC
- Pick Chair and Minuter (PB to pick)
- ALL: (ongoing) triage the open issues and confirm if they are indeed still open (and perhaps provide labels)
- CW (formerly JB): Move PyOP2 and TSFC to firedrake and move FInAT to FIAT
- ALL: do things with SV's branches
- DH: Email to Andreas to have 2 (+ others!!!) loopy PRs merged TODO: FIND OUT WHICH PRS THESE ARE
- DH: Get Firedrake a docker open source account (link here)
- DH: Talk to GregVernon about PR#2116.
- JB: Enable merge queues (minutes)
- LC: Try to merge RNH' PR: Movable VOM
- ANY: Add Python 3.13 to PyOP2, TSFC, FIAT, FInAT CI (and others?)
- UZ: ngsPETSc releases (minutes) (more or less done)
- PB: Speed up some tests (minutes)
- RK: sort out Firedrake USA details and website before Christmas time
- CW: tackle Loopy warnings
Present: CW (minuter), UZ, FA, JHC, PB, DH, KS, DD, RK, LC, IM
Apologies:
- DH: multi-minute compile times seems like a bug. We are possibly having a recursive tree walk or exploding a DAG into a tree.
- Action point: PB profile codegen to see what is slow.
Allow set_working_tape
and stop_annotating
to be used as function decorators, and implement no_annotations
in terms of stop_annotating
.
- Interface bikeshedding. Small TODOs.
https://github.com/firedrakeproject/firedrake/pull/3817 is very nearly ready I believe. I am keen to get it merged ASAP as it is holding up any changes to PyOP2.
- DH:
--doi
tofiredrake-install
never really worked. Is prepared to lose this. - Action point: fix
firedrake-zenodo
. - Action point: check install and zenodo pages for inaccuracies.
- Once these and checklist items addressed happy-ish to merge.
- DH: Script entrypoints may not work. Good candidate for
fdtools
.
- I believe that we want to be moving towards
pip install firedrake
(even without a wheel) as the sole installation method. -
firedrake-install
should be made much more minimal, effectively building PETSc and then calledpip install firedrake
. Importantly this means:- The script should not manage
homebrew
orapt
- Extra packages like pytorch, gusto etc should not be installed via special flags. They can just be pip-installed.
- The script should not manage
Thoughts? If people agree then I can work to rip out a lot of code and incrementally improve the installation process.
- DH:
firedrake-install
can go away! Likes idea of having afiredrake-build-petsc
script andpip install firedrake
. The former could spit out the environment variables that need setting. - DH: Not concerned about supporting
firedrake-update
.
Ongoing discussion on what is the right interface to restrict any FunctionSpace given the bcs of a problem.
My proposal: RestrictedFunctionSpace(MixedFunctionSpace, bcs)
- More discussion (and clarity) needed
Note that PRs put in this section should either be trivial or already have been reviewed. Discussion-worthy PRs should be separate agenda items.
-
UZ+PB: ngsPETSc was not installed via pip PR#3873 (merged)
-
DD: Disk checkpointing for adjoints with schedules: Firedrake PR 3812 (tiny change requested) + Pyadjoint PR 173 (basically ready)
-
KS: dtype (merged)
1600 UTC 2024-11-27
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