Skip to content
Jonathan Hu edited this page Sep 6, 2019 · 38 revisions

Welcome to the Developer-Guide wiki!

Outline of Developer wiki

Github markdown doesn't provide anyway of generating TOC's on individual pages. There is a browser add-on solution that works pretty well on Firefox, Chrome, and Safari: https://github.com/arthurhammer/github-toc.

Introduction

  • Introduction to Xpetra [LBV]

    • Find a jupyter notebook for Xpetra related training here. You can download the raw file here and run it in your local jupyter installation. The document is released as part of SAND2017-4901 O.

      Alternatively, there is a docker container with all prerequisites preinstalled (Trilinos, jupyter, cling, LaTeX, etc.). Here you can find all necessary information how to download and use the docker container.

  • First steps in MueLu: [TAW; completed]

    • There are three jupyter notebook containing a basic introduction into software design and concepts of MueLu

      1. Basics of MueLu::Level: Find it here or download it from here
      2. Basics of MueLu level smoothers: Find it here or download it from here
      3. Basics of MueLu::Hierarchy: Find it here or download it from here

      These documents are released as part of SAND2017-4901 O.

      Please note: there is a docker container with all prerequisites preinstalled (Trilinos, jupyter, cling, LaTeX, etc.). Here you can find all necessary information how to download and use the docker container.

  • MueMex: The Matlab Interface to MueLu [CMS; Completed]

Developer environment

  • Using git [JHU]

  • code development

  • building

    • SEMS modules
    • required TPLs
    • cmake configuration
    • external resources
    • how to build on HPC machines [JHU,CMS]
      • Hint: The SEMS modules will not help you.
  • debugging

  • To contribute to the Trilinos repository,

    1. clone the repository
    2. create a feature branch
    3. implement you condtribution
    4. commit locally to your feature branch
    5. push your feature branch to GitHub
    6. open a pull request against develop

Communication [JHU]

Testing

  • how to write a unit test [LBV]
  • Writing a non-unit test
  • MueLu's cdash dashboard
    • different tracks (nightly, experimental, etc.)
  • how to set up nightly testing on a new machine
    • follow ASCIC machines for naming conventions (Chris will send out an email with details)