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
Artificial Intelligence for RoboticsStanford University via Udacity Intro to Computer Science
University of Virginia via Udacity Design of Computer Programs
Stanford University via Udacity Web Development
Udacity Programming Languages
University of Virginia via Udacity