Skip to content

Albany TODOs

Dan Ibanez edited this page Jan 23, 2017 · 19 revisions

This page itemizes the current Albany TODOs, based largely on the moderated discussion session at the 2017 Albany User Meeting. This list will likely be moved to the Albany github page at a later date.

##Project Management

  • Come up with systematic way to "tax" current Albany projects to cover Dan Ibanez' time as Albany "shepherd".
  • Move Albany to a different space on github than gahansen, after figuring out logistics for how to do this.
  • Invite relevant POCs to weekly Monday concall.
  • Create Teams and Projects within the Repository to help organize work efforts within Albany.

##Code Maintenance/Documentation

  • Give Dan Ibanez access to machines where current CDash testing happens.
  • Clean up the Dashboards. Currently most dashboards have some long-standing failures, which undermines the whole purpose of such Dashboards. Many easy fixes are available.
  • Create "master" CDash tests with everything possible enabled.
  • Prune build options; document what compilers are/are not supported for Albany.
  • Put in place develop/master branch workflow - creates incentives for developers to fix broken tests (e.g., cannot push to master until failing tests are fixed).
  • Create separate issue for longer tests?
  • Use github issues for bug fixes, feature requests, other communication, etc.
  • Remove Albany sub-projects identified as being discontinued, starting with those which have the most impact on core Albany infrastructure. Currently those include:
    • Aeras
    • Epetra-based Embedded UQ systems (?)
    • Stochastic Galerkin systems
    • Hydride
    • CTM

##Tpetra/Thyra Porting

  • Convert the following physics/capabilities in Albany to Tpetra/Thyra:
    • ATO (in progress by Irina Tezaur)
    • QCAD (conversion needs to be completed)
    • MOR
    • Embedded UQ? Porting of embedded ensembles in in progress by Jeff Fike
    • Complete Tpetra transition for PDE-constrained optimization
  • Remove Epetra from Albany? Prerequisites include:
    • Certain physics/capabilities are still based on Epetra. Those will have to be converted.
    • Tpetra linear solvers not as performant as Epetra ones (affects FELIX in particular). Trilinos is moving forward with Tpetra, so we need to put pressure on Tpetra Trilinos developers to improve performance. Collecting Epetra benchmarks prior to conversion will be useful.
    • Ensure Trilinos can be built Epetra-free. Work by @gahansen to be continued by @ibaned.

##Kokkos Porting

  • Complete porting of finite element assembly to Kokkos
  • Try linear solve in Albany on next-gen architectures (e.g., GPUs) - should be possible using simple preconditioners (POC: Siva Rajamanickam).
  • Optimize code to obtain good performance on GPUs, Intel Xeon Phis, etc.
    • Document "recipe" for porting code to Kokkos for non-experts to refer to.
  • Remove non-Kokkos code for physics that has been ported to Kokkos?

##New Features

  • Ensure that boundary conditions and certain material properties can be specified in the input file as analytic mathematical formulas (spatially-varying).
  • Generalize the top-level Albany design to allow multiple Problems
  • Allow the use of Physics-based block preconditioning (some of this seems to have been started).

##PUMI Discretization

  • Create a GitHub wiki page describing how to compile with PUMI and Omega_h.
  • Move towards running Albany STK-free. The following features need to be added to the PUMI Discretization:
    • Ability to read Exodus files
    • provide DistParams functionality
  • Continue development and V&V efforts of LCM with adaptivity
    • Compare with/without RCU
    • V&V for the stabilized mixed pressure formulation
    • V&V for an adaptive simulation
    • Explore other element formulations if above runs into trouble
Clone this wiki locally