BLonD code development meeting

Europe/Zurich
864/1-B04 (CERN)

864/1-B04

CERN

40
Show room on map

News

New members:

  • Panagiotis (NTUA) who will work remotely on GPU acceleration
  • Together with a new technical student to arrive

New users (Simon):

  • Diamond-II light source in UK
  • Trying BLonD for beam-loading + high-harm. cavity + almost full machine
  • Usecase for partial histograms and multi-turn wakes

Performance tests object (Alex)

  • New object to collect runtime results over x runs
  • Comparison of functions/implementations
  • Fitting profiles: gather measured profiles for all machines as example, e.g. curve_fit() and minimize()

Global parameters (Markus)

  • Consistent handling of parameters for distribution and fitting, see BLonD_common/tree/fitting_overhaul
    • e.g. bunch length -> different definitions, consistent with getters and setters
    • later: think what else could be put (interpolation etc.)
    • function to check kwargs?
  • Distribution object (line distribution): different calling signatures implemented (Gaussian and binomial so far)
    • just an object
    • in: time_array -> out: data_array
    • in: data_array -> out: fit performed
  • 2D distribution to be implemented (based on action and Hamiltonian)
  • Alex: propagate structure to all other distributions
  • Kostis: kwargs -> check whether some parameters are not consumed
    • Nested functions can use a subset but check on the highest-level fucntion

Profiling & BLonD-mpi (Kostis)

  • MPI version has more and more users
  • Started to look at integration to master branch
    • No errors for sequential running => should be easy to implement
  • git-prompt: small repo for git usage in cluster
    • More informative output on console
    • E.g. to see a branch, and whether files are commited
  • Profiling: pyprof module
    • timing -> runtime of regions
    • papiprof -> HW details
    • mpiprof -> mpi code profiling
    • perfdeluxe -> architectural events reported
  • Support for python3.5 dropped
    • now testing python3.8 -> incompatibilities...
  • C++ code coverage: can be reported, but needs to be set up

New implementation of drift equation (Alex)

  • PSB test with alpha_0, alpha_1, alpha_2
    • Benchmark: non-linear terms improved with new implementation
    • Unittests: comparison_drift.py (different implementations) and test_drift.py (py vs cpp)
      • Using assert_allclose to evaluate relative and absolute tolerances
  • Tracker options: simple/legacy/new available
  • Pull request launched
    • Approved by all
There are minutes attached to this event. Show them.