From 5f4d38265ec3dc9ae3664f3a85488f34f374b647 Mon Sep 17 00:00:00 2001 From: Junyi Xu Date: Mon, 26 Aug 2024 19:00:27 +0800 Subject: [PATCH] docs: refine --- docs/src/GSoC.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/src/GSoC.md b/docs/src/GSoC.md index b9cea8e..3d92a7f 100644 --- a/docs/src/GSoC.md +++ b/docs/src/GSoC.md @@ -9,13 +9,13 @@ ## Project Overview Trixi.jl is a numerical simulation framework for conservation laws written in Julia. The integration of Trixi.jl with Compiler-Based (LLVM level) automatic differentiation via Enzyme.jl offers the following benefits: facilitates rapid forward mode AD, enables reverse mode AD, supports cross-language AD, and critically, supports mutating operations and caching, on which Trixi.jl relies, to enhance the performance of both simulation runs and AD. The final deliverable will include as many of Trixi's advanced features as possible, such as adaptive mesh refinement, shock capturing, etc., showcasing the benefits of differentiable programming in Julia's ecosystem. -- **Forward Mode Automatic Differentiation (AD) for Discontinuous Galerkin Collocation Spectral Element Method (DGSEM)**: Implement forward mode automatic differentiation to enhance the calculation of derivatives in DG methods, improving computational efficiency and accuracy for various applications. -- **Reverse Mode Automatic Differentiation for DG**. +- **[Forward Mode](https://junyixu.github.io/TrixiEnzyme.jl/dev/api.html#TrixiEnzyme.jacobian_enzyme_forward) Automatic Differentiation (AD) for Discontinuous Galerkin Collocation Spectral Element Method (DGSEM)**: Implement forward mode automatic differentiation to enhance the calculation of derivatives in DG methods, improving computational efficiency and accuracy for various applications. +- **[Reverse Mode](https://junyixu.github.io/TrixiEnzyme.jl/dev/api.html#TrixiEnzyme.jacobian_enzyme_reverse-Tuple{Any}) Automatic Differentiation for DG**. - **Improve Performance**: - **Extract Parameters Passed to Enzyme**: Implement a systematic approach to extract and manage parameters passed to Enzyme, ensuring optimal configuration and efficiency in the execution of AD tasks. - **`batchsize` for Jacobians**: - **Optimize for Memory Bandwidth**: Fine-tune the batch size in Jacobian computations to optimize the use of memory bandwidth, thus improving the overall performance and speed of the computations. - - **Automatically Pick `batchsize`** + - **Automatically [Pick](https://junyixu.github.io/TrixiEnzyme.jl/dev/api.html#TrixiEnzyme.pick_batchsize) `batchsize`** - **Explore Enzyme Custom Rules**: Investigate and implement custom rules within the Enzyme AD framework to handle specific cases and operations that are not optimally managed by the default settings, enhancing the flexibility and capability of the AD processes. Please note that the last step was planned but remains incomplete due to time constraints and this step will be completed in the future if possible. @@ -26,7 +26,7 @@ Please note that the last step was planned but remains incomplete due to time co ## Acknowledgments -The entire project, along with this blog website, is developed and maintained by Junyi([@junyixu](https://github.com/junyixu)). +The entire project, along with this website, is developed and maintained by Junyi([@junyixu](https://github.com/junyixu)). The whole project is under the guidance of two outstanding professors, Michael([@sloede](https://github.com/sloede)) and Hendrik([@ranocha](https://github.com/ranocha)), from Trixi Framework community. The project also received support from other Julia contributors, including Benedict from Trixi Framework community.