INFOS uses parallelization for some calculations if a ‘Matlabpool’ is available, using the ‘parfor’ function. However, not all operations in INFOS are possible in parallel. Therefore, parallelization will usually speed up INFOS calculation, but for N cores, INFOS may be far from gaining the full Nx speed-up desired. This should be considered when running on shared clusters, or any system for which resources could be used more efficiently.
Specifically, the FitSpec function fits sub-spectra in parallel, but must reconstruct the fit and spectrum in between fitting iterations in series, and must also perform dynamic peak list editing in series. In contrast, the FitError function runs fully in parallel and is usually an efficient usage of parallelization. The FitTrace function runs initial fitting fully in parallel, but the latter fitting of the full spectrum runs with the same limitations as the FitSpec function. Finally, one should note that fits for which many parameters are fixed, the ratio of communication overhead to the cores versus time savings from parallelization can become unfavorable. Alternatively, if multiple spectra must be fit, using a ‘parfor’ loop around the fits is typically the more efficient usage of computational resources (for details on controlling parallelization, click here).