You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
The text was updated successfully, but these errors were encountered:
Going with OPTION 2, above, combined with the ability for shotsets to contain a list of detector objects.
So, this gives me a significant amount to do:
(1) Rip out the scipy interpolation algo and OMP it
(2) Extend xray.Shotset to hold a list of xray.Detectors, and use them in all calcs
(3) Amend xray.Shotset._implicit_interpolation to use the new code
(4) Test the speed of computing ray intersections in xray.Detector` and parallelize if very slow
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
The text was updated successfully, but these errors were encountered: