Skip to content

Latest commit

 

History

History
72 lines (49 loc) · 2.38 KB

COMMIT.md

File metadata and controls

72 lines (49 loc) · 2.38 KB

PIConGPU Commit Rulez

We agree on the following simple rules to make our lives easier :)

  • Stick to the style below for commit messages
  • Commit compiling patches for the main branches (master and dev), you can be less strict for (unshared) topic branches

Commit Messages

Let's go for an example:

Use the 1st line as a topic, stay <= 50 chars

  • the blank line between the "topic" and this "body" is MANDATORY
  • use several key points with - or * for additional information
  • stay <= 72 characters in this "body" section
  • avoid blank lines in the body
  • Why? Pls refer to http://stopwritingramblingcommitmessages.com/

Compile Tests

We provide an (interactive/automated) script that compiles all examples within the examples/ directory in your branch.

This helps a lot to maintain various combinations of options in the code (like different solvers, boundary conditions, ...).

PIConGPU CompileTest

Assume

  • repo=<pathToYourPIConGPUgitDirectory>
  • tmpPath=<tmpFolder>

Now run the tests with

  • $repo/compile -l $repo/examples/ $tmpPath

Further options are:

  • -q : continue on errors
  • -j <N> : run <N> tests in parallel (note: do NOT omit the number <N>)

If you ran your test with, let's say -l -q -j 4, and you got errors like

[compileSuite] [error] In PIC_EXTENSION_PATH:PATH=.../params/ThermalTest/cmakePreset_0: CMAKE_INSTALL_PREFIX:PATH=.../params/ThermalTest/cmakePreset_0 (.../build) make install

check the specific test's output (in this case examples/ThermalTest with CMake preset #0) with:

  • less -R $tmpPath/build/build_ThermalTest_cmakePreset_0/compile.log

Compile Tests - Single Example

Compile all CMake presets of a single example with:

  • $repo/compile $repo/examples/ $tmpPath

Compile Tests - Cluster Example:

  • Request an interactive job (to release some load from the head node) qsub -I -q laser -lwalltime=03:00:00 -lnodes=1:ppn=64
  • Use a non-home directory, e.g. tmpPath=/net/cns/projects/HPL/<yourTeam>/<yourName>/tmp_tests/
  • Compile like a boss! <pathToYourPIConGPUgitDirectory>/compile -l -q -j 60 <pathToYourPIConGPUgitDirectory>/examples/ $tmpPath
  • Wait for the thumbs up/down :)