pace-neutrons / Horace

Horace is a suite of programs for the visualization and analysis of large datasets from time-of-flight neutron inelastic scattering spectrometers.
https://pace-neutrons.github.io/Horace/stable/
GNU General Public License v3.0
7 stars 4 forks source link

EPIC: Student project: Parallel IO for reading/writing pixels #1699

Open abuts opened 2 months ago

abuts commented 2 months ago

Horace spend substantial time on reading writing pixels participating in various operations. General way of operating usually goes as follows: 1) Read block of source pixel data 2) do operation 3) write results into target pixel data 4) repeat untill all source pixel data are read.

It is obvious that if operation 1 and opration 3 are done in separate threads, the performance of the program can be improved at least 3-fold (will be determined by the performance of the slowest step)

In addition to that, binary C++ IO is often much more efficient (especially for small data chunks) than Maltab IO operations.

The pupropse of the project is to wrtie C++ IO plugin which would read/write pixel data in parallel

This task can be difived into multiple subtasks: