-
Notifications
You must be signed in to change notification settings - Fork 160
Firedrake meeting 2021 02 24
JDBetteridge edited this page Mar 8, 2021
·
7 revisions
Date and time 2021-02-24 16:00UTC (16:00GMT)
- Pick Chair and Minuter.
- ALL: (ongoing) triage the open issues and confirm if they are indeed still open (and perhaps provide labels)
- PB: add comments to own code in this PR
Present: DRS, CW, DH, JB, PB, KS, NB, LM, RK, PK, RNH, SV
Apologies:
- (PB) Quadrature seems to be working well at high degrees.
- (PB) Proposal to change way that basis is computed.
- (DH) Only needed for P1 and P1DG. You need sum factorisation otherwise at high degree you're stuffed.
- (DH) At runtime you're running with tabulated bases. Scaling at 1D is linear. Thinks that any patch will not be controversial.
- (RK) Could be executing FIAT performance issue if changing Jacobi polynomials. Not clear on best path.
- (PB) To attempt barycentric approach.
This commit mysteriously failed tests. Is this indicative of some underlying issue with Jenkins or our codebase?
- (DH) Could be that system ran out of memory (Thetis uses a lot when it runs tests). If we can't reproduce then ignore.
- (DH) Issue is that adjoint has a tendancy to start from an inconveniently high symbolic level. We don't reuse structures enough. How do we avoid having to rebuild the matrices, where do we stash them?
- (DH) We might want to avoid running assembly kernel or symbolic stuff. Assembly only problematic if assembling matrix which adjoint doesn't need to do(it only evaluates the action). The question then becomes can we make interpolate cache it's kernel? Thinks a global cache is suitable.
- (DH) We generally shouldn't stash interpolation matrices. If you're interpolating a coefficient then it would be worth it. Otherwise you don't know if you're getting a fixed matrix.
- (LM) If we do the action then the problem is the symbolic overhead. Then caching is the right thing to do.
- (DH) This is related to Connor's work on separating symbolics and data.
- (DRS) Is it worth building OpenBLAS so it's built single-threaded? Or just to provide the
NUM\_THREADS=1
var? - (DH) Can be controlled during PETSc installation.
- (LM) There is a runtime API for this. Might be good for HPC applications. https://github.com/xianyi/OpenBLAS/wiki/OpenBLAS-Extensions
- (DH) Need
try
block to check for BLAS versions not supporting this. - (JB) Some users use different BLAS implementations. By default BLAS comes from whatever OS the user is on.
- (DH) Should not set
OMP_NUM_THREADS=1
in activate script since it is not always activated. Also settingos.environ
in Firedrake init will not work. - (DH) Setting
OMP_NUM_THREADS=1
should be documented on the install page. - (LM) We should assume most users are not using old supercomputers so will have shared libs. We can have
try
blocks to set the number of threads. - (PK) https://stackoverflow.com/questions/29559338/set-max-number-of-threads-at-runtime-on-numpy-openblas
- CSE poster session is 9am central time next week. No meeting.
2021-03-10 16:00UTC (16:00GMT)
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