-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Here's what needs to happen. There are two options.
OPTION 1: Python parallel
(1) Remove xray.Shotset._implicit_interpolation inner loop over shots -- just does one shot at a time
(2) Parallelize xray.Shotset._implicit_interpolation at that level
Benefits: easy to code
Downsides: will use a lot of memory
Challenges: need to parallelize a class method robustly
OPTION 2: OMP parallel
(1) If many energies are passed, compute detector intersections inside loop over shot intensities (https://github.com/tjlane/odin/blob/master/src/python/xray/xray.py#L1342)
(2) Parallize scipy.ndimage.map_coordiantes w/OMP and build it in odin
(3) Benchmark the detector intersection computation, and if rate-limiting, parallelize
Benefits: higher-performance final product
Downsides: more coding
Challenges: getting scipy code we call parallel/wrapped