|
From: | Jose Ramom Flores das Seixas |
Subject: | Re: Hardware to run Octave |
Date: | Mon, 1 Mar 2021 21:06:24 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 |
Às 20:51 de 23/02/21, vrozos wrote:
Your current machine configuration, though 10 year-old, is not that bad. Do not expect any significant improvement with a new one. You have three options: 1. find a more efficient algorithm for your problem, 2. if you have nested for-loops you cannot avoid, consider implementing them in C -> mex 3. parallelization (alas, multi-core processing is not a easy thing). BTW, if your problem involves eigenvalues, eigen-3.3.5 library does miracles. If you need normxcorr, I can suggest a nice solution too.
Thanks to Etienne Grossmann's tips, and after some time spent investigating the use of parrarrayfun, I was able to "parallelize" my algorithm a little more and use all 4 cores of my computer, dividing the calculation time by 2.8, so that now the program takes about 6 hours to finish.
In order to help people who may have the same difficulty in understanding the spartan documentation of the parallel package, I am attaching a file with two relatively simple examples showing how to use the parrarrayfun function with one and two dimensional arrays.
Surely yours Ramom
Examples of how to use parrarrayfun.pdf
Description: Adobe PDF document
[Prev in Thread] | Current Thread | [Next in Thread] |