12/24/2022 0 Comments Gnu octave matrix operationsYou'll notice a performance boost, but the boost will leave you searching for a better way to use all the processor. Atlas won't make your single threaded Octave program max out your 2,4,6,8 core processor. (Split your program into 8 equivalent programs that work on 1/8th of the problem and run them all simultaneously, when all are done, reassemble the results).Ītlas helps a single threaded octave program behave a little bit more like a multi-threaded app but it is no silver bullet. If extracting every bit of processing power/speed out of your cores is top priority then you'll have much better luck just writing your program to be run in parallel with itself. Sure it goes much faster if all you are doing is huge matrix multiplications, but most commands can't be multi-threaded by atlas. This Atlas software uses a lot of overhead to split your octave program into multiple threads. It is not easy and takes some programming skill to get octave to compile from source with ATLAS. If octave can use these instead of the default blas, and lapack libraries, then it will utilize multi core. The three libraries I am using which speed things up are With Atlas: Elapsed time is 0.529 seconds. The matrix multiplication goes much faster using multiple processors, which was 3 times faster than before with single core: Without Atlas: Elapsed time is 3.22819 seconds. I ran the following octave core before and after ATLAS install: tic I was unable to get this to work for Fedora, but on Gentoo I could get it to work. When you install octave from source and specify ATLAS, it uses it, so when octave does a heavy operation like a huge matrix multiplication, ATLAS decides how many cpu's to use. ATLAS tunes itself to your system and number of cores. First compile 'ATLAS' from source code and make it available to your system so that octave can find it and use those library functions. So while Octave only uses one core, when you encounter a heavy operation, octave calls functions in ATLAS that utilize many CPU's. You can get octave to use some libraries like ATLAS which utilize multiple cores. Octave itself is a single-thread application that runs on one core.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
December 2022
Categories |