Pre-Christmas meeting!!
News
Mihály: python3.8 compatibility of the .dll
- pull request changing __init__.py for import of .dll
- related to windows dll with python3.8 or python3.9
- winmode=0 needs to be specified (not winmode=None as in docs)
- cpp library added to search paths for PATH
- Works with lxplus python3.8
- Kostis: add to appveyor and travis python 3.8
- Simon: some coding comments
- Markus: blond and macos 14? programmes can only access their own folders
- Ivan works on macos big sur
Alex: gcc version we were using - no updates anymore since a while
- Should clarify which version to use in the future
Kostis: pull requests
- Fast resonator: openMP directives put back
- Alex: zero frequency check
- Simon: does if break the vectorisation?
- Fix issue with beam split: only used in MPI version
- random/fast option of coordinate distribution
- randomisation fixed
Helga: BLonD publication
- Please log in and put your names on the parts you volunteer to revise
- Add new paragraphs on new developments as you see fit
- Markus: revise induced voltage
Alex & Kostis: MPI usage for PS end-to-end simulations
Application: e.g. blow-up in ramp
- W/o intensity effects, chopped simulations into chuncks and transferred profiles
- Bunch position and bunch length look similar to development in the machine
- Difficulty in including impedance model
- Several profiles with different bin sizes? difficult to implement, needs tracking several times
- Adapt bin size to bunch length? requires to adapt impedance
- Keep a fixed bin size? large no of particles needed -> with slurm we can do that!
- Can save time on updating only parts of the impedance model
- needed as impedance changes with energy
- MPI: each worker can work on a frequency range of the impedance model
- scatter does not necessarily scatter in order of frequency -> use fast resonator function
- can use multiprocessing functions: for python functions (where no C++ function existing)
- pool.starmap - > giving every function the arguments that need to be used
- python multiprocessing: small speed-up for few points, but x2 for large amounts of points
- MPI gave significant speed-up, up to 5.6x
- 480 M particles on SLURM can be calculated with 280 ms/turn -> 2.5 days for full simulation
- Simon: GPU could give benefits!
- Panagiotis: preparing pull request
- Kostis: can test MPI-over-GPU with Alex' main file
- Ivan: multi-turn wake -> N. Mounet's thesis p. 50 alternative method for long-range wakes
Simon: data types
Datatype object in BLonD-common
- self-identify and self-interpolate information
- inherit from numpy array
- initialise with *args
- removes ambiguity of input shape
- 0D: single value
- 1D: turn-by-turn data
- 2D: time, data
- output size is pre-defined, with n_elements in the output
- class name tells what the contents is (momentum, voltage etc.)
- units and information (rms, fwhm) can be added
- time or turn data, either one or the other
- transformation between e.g. momentum and energy
- passing arguments needed
- self-identifies, too
- structure: core handles base class and numpy class
- ring_programs, rf_programs etc for specific functions
- inheritance structure
- eases to define lower-level definitions
- todo: save and load functionality
- with units and definitions
- Alex: need to agree on reshaping and keep it slide 10
- for inheritance, can simply define new variables like beta -> to keep in mind for integration in BLonD
There are minutes attached to this event.
Show them.