FEniCSx: Design of the Next Generation FEniCS Libraries for Finite Element Methods
Offered By: Inside Livermore Lab via YouTube
Course Description
Overview
Explore the design and capabilities of FEniCSx, the next generation of FEniCS libraries for finite element methods, in this seminar presented by Garth Wells from the University of Cambridge. Delve into the evolution of the FEniCS Project, examining how it addresses limitations in performance, extensibility, and maintainability while retaining its strengths in providing high-level representations for solving partial differential equations. Discover the new design features that enable the creation of flexible, fast solvers in both C++ and Python. Gain insights into high-performance finite element kernels, including double, single, and half-precision implementations, and learn about a cache-aware performance model that accurately predicts performance across architectures. Understand the challenges and solutions in developing efficient exascale discretizations, and explore the implications for future finite element method applications.
Syllabus
Introduction
Quiz
UFL
Directed Graph
Code Generation
Dolphin
Legacy Phoenix
Performance
Prerequisites
Background
Tools
PhoenixX
PhoenixX Overview
Extensibility
Philosophy
Functions Operating on Data
No Classes Involved
Geometric Operations
Summary
Partitioners
Mixed Formulations
Assembly Curve
Distributed Parallel Mesh
Kernel Code
Basics
Performance Summary
Performance Models
Memory Bandwidth
Questions
Taught by
Inside Livermore Lab
Related Courses
Differential Equations in ActionUdacity Dynamical Modeling Methods for Systems Biology
Icahn School of Medicine at Mount Sinai via Coursera An Introduction to Functional Analysis
École Centrale Paris via Coursera Practical Numerical Methods with Python
George Washington University via Independent The Finite Element Method for Problems in Physics
University of Michigan via Coursera