BLonD code development meeting
CERN
BLonD 30.10.2020
News
HPC workshop received well our comments, our requests were noted
Data types: merging pull request by Simon
- Presentation on usage to be prepared
GPU/CPU tests on ARIS
Update from Kostis & Panagiotis
* GPU and approximate computing methods, now ported
* PS, SPS, LHC cases up to 16 nodes tested
* mostly tested weak scaling (scaling of input size with nodes)
* GPU RAM size more restrictive on input size than the node memory -> only smaller configs possible
* LHC & PS test case
* GPU throughput: up to 4-5x speed-up w.r.t. CPU version
* CPU with task parallelism gives 20-50 % speed-up
* SPS test case
* decline with more nodes (dominated by non-parallel regions)
* GPU speed-up up to 8x
* With f32 and SRP approximation, up to 80-100x speed-up for different test cases with 1 GPU/node and 16 nodes
* Also other approximations give important speed-up
* Detailed analysis of speed-up for different approximations one by one
* f32 speed-up
RF Objects
Alex: update with files
https://github.com/alasheen/blond_common/blob/master/__EXAMPLES/interfaces/rf_system.py
https://github.com/alasheen/blond_common/blob/master/__EXAMPLES/interfaces/rf_station.py
https://codimd.web.cern.ch/8OvY8feSSaOeS1UHe-3Lzw#
* Naming convention to be decided: e.g. f_rf or frequency
* Recap: RFSystems can be combined to one RFSystem
* Vector sum only for those that have the same harmonic
* Voltages combined in different time bases: uses linear interpolation combining the two sets of time steps
* Input allowed: only [scalar], [vector], or [data_vector, time_vector]
* Data for several harmonics not allowed
* RFStation, combine_systems=False as default, can pass a list of RFSystems
* Fixed-frequency case
* Error if harmonic and frequency are both defined
* phase_slippage=True kwarg, integrating the phase offset per turn
* Pre-calculated phi_rf based on slippage and put phase programme in phase_offset
* OR: use harmonic and frequency offset instead??
* RFStation.direct_input() from data_type, having complex cases here
* Good option: RFSystem(voltage, phase, harmonic, frequency_offset=optional, phase_offset=optional)
* Unittests and examples to come
* Helga: should start integrating Ring, RF and data_types in BLonD tracking code
* Alex: pull request coming 1-2 weeks for the RF objects, afterwards new branch on BLonD