BLonD code development meeting

→ Europe/Zurich
864/1-B04 (CERN)

864/1-B04

CERN

22
Show room on map

General

Reminder on blond cernbox -- use it for benchmarking and website material, for instance

Website

To be migrated to Drupal 8 by hand

Please upload content on Animations, Publications, Developers once online

Pull requests on BLonD

  • Ivan: remove old request, check that added
  • Kostis: push if we can the one from July 2019
  • Kostis: MPI bugfix, profile.track() can happen to be done by multiple workers -> counted many times; new flag added, but explanation should be in beam generation function
    • Simon: flip a flag in beam object whenever beam.split or beam.gather is called
  • Helga: upcoming requests on docs and SPS OTFB

Issues on BLonD

  • Simon: check function to remove lost particles
  • Simon: functions to beam objects adding/removing new particles - > beam.ratio stays, but beam.intensity changes

Unittests

  • Simon: if testing different options of a class, don't initialise the class in SetUp, but in the test
  • Precision of array comparison -- can break when there is a new release of scipy, numpy

News

  • Kostis: Added installation options in the README
  • Ivan: different versions for Joël's generation function for multi-bunch distribution

BLonD-common (Simon)

  • RingOptions and RFStationOptions: burden on user to put in the right format for inputting different harmonics and time dependence
    • Docs exist, but complicated and logics is complicated
    • Suggestion: make an np.ndarray subclass for each time-varying machine parameter, where each parameter contains the definition for how it should be interpolated/preprocessed, removing the need to create the *Options objects and simplifying the passing of parameters in the Ring and RFStation objects
    • For most use cases the inputs to Ring and RFStation can be cast to the appropriate types internally, leaving the user to only interact with the new objects for more complicated use cases
    • Test current implementation on Simon's branch of BLonD-common
    • Give your opinion next time, think about alternatives on how to construct an intelligent object
  • Buckets waiting for pull request
    • Contains separatrix with induced voltage and emittance contours
    • Fixed emittance could be used also for triple splitting - identify when the bunch is split
  • To be moved from LoCa
    • iso-Hamiltonian for given [dt, dE], synch freq spread, inner separ, bunch profile calculation
  • Impedance sources
    • Sub-classed in impedance table and wakefield table
    • Resonators: remove requirement to start from 0 Hz --> not for tracking, would need to overwrite it
    • Helga: try to keep the default options of BLonD-common compatible with all common codes, incl. tracking; add specific functionalities as options
  • Induced voltage
    • Making normalisation an option for non-tracking cases
  • Variable time sampling for e.g. momentum programme (finer/coarser in the beginning/end of the ramp)
    • Down-sample arrays: Delphine's code downsamples based on relative error generated by not keeping the point

GPU Histogram Kernel (Panagiotis)

  • Algorithm to find optimal grid size and block size values for the shared-memory version
    • To find optimum, maximize utilisation of CPU resources
    • GPU speed-up w.r.t. CPU with 64 threads: > x50 for 4 M particles or more
    • n_macroparticles/n_slices = 1000; n_slices to be scanned still
    • Speed-up = 1 for 100,000 particles => worth to use even for few particles
There are minutes attached to this event. Show them.
    • 10:30 → 10:40
      News 10m
      Speakers: Aaron Farricker (CERN), Alexandre Lasheen (CERN), Christoffer Hjerto Grindheim (Western Norway University of Applied Sciences (NO)), Giulia Papotti (CERN), Ivan Karpov (CERN), Konstantinos Iliakis (CERN), Luis Eduardo Medina Medrano (CERN), Markus Schwarz (CERN), Panagiotis Tsapatsaris (NTUA), Simon Albright (CERN), Theodoros Argyropoulos (CERN)
    • 10:40 → 11:00
      BLonD common 20m
      Speakers: Alexandre Lasheen (CERN), Markus Schwarz (CERN), Simon Albright (CERN)
    • 11:00 → 11:20
      MPI and GPU development 20m
      Speakers: Konstantinos Iliakis (CERN), Panagiotis Tsapatsaris (NTUA)