Page History
...
- 12GB/s from pyFAI? https://www.silx.org/doc/pyFAI/latest/usage/tutorial/Parallelization/MultiGPU.html (see conclusion)
- Stefano getting worrisome numbers for standalone angular integration (as low as 3GB/s but up to 50GB/s if we batch)
- will run the profiler
- pyFAI is not yet running on GPU: will work on that
- Gabriel moved the GPU nodes to the FEE alcove xpm10.
- 1 free connection to xpm10 in the BOS
- all streams are blocked on dma single-event-buffers, so need to create a separate stream to transfer calibration constants on beginrun
- maybe make this "maintenance" stream permanent?
- couldn't launch kernels on anything except default stream because cuda context hadn't been bound to CPU threads. async GPU processes failed with no error.
- set up basic skeleton for transferring the calibration constants to a gpuMemPool (transitions, constants (maybe on the beginrun transition?)) and launches a dummy calibration on L1Accepts
- did both the full serial number and a subset (2 segments) to fetch calibration
- calibration constant dictionary hierarchy: pedestal and gain array (one per gain range). need status/geometry/. could try to do something general? map a python dictionary to a std::map?
- Fundamental idea in CPU-DRP is a MemPool with a file-descriptor
- changing it affects many things
- put many file-descriptors in there? not easy.
- GPUMemPool and CPUMemPool
- both inherit from base MemPool which inherits pebble/transitions
- derived classes handle file-descriptor and dma buffers
- the cudacontext broke the symmetry between the cpu/gpu side
- separated mempool into a PGP side and a pebble side.
- got cpu-drp to run with the new structure
- tried on gpu-drp, but issues arose. made progress over weekend.
- missing a lot of code for multiple file descriptors
Overview
Content Tools