Many years ago, I fell in love with the MATLAB programming language. In order to keep software capability up-to-date with my ever advancing hardware, I primarily switched to Octave about two years ago.
I've recently begun a project that requires me to work with large data sets. After learning that Octave is single-threaded software, I discovered that some of its basic operations could be allowed to use multiple cores if I compile it from source with ATLAS. Due to the increased size of my data sets, a multi-threaded process is what I need.
I've learned that ATLAS provides linear operations on matricies, such as addition and different forms of multiplication. However, my understanding is that matrix indexing isn't included in its set of operations. For example, if "A" and "B" are both matricies of the same type and size, and "b" is also the same size, but is a logical array of zeros and ones, then matrix indexing could be the following operation: B(b) = A(b). The concept could also extend to "b" being an array of numerical indicies.
I've recently learned that the backbone of MATLAB is based on many FORTRAN concepts, which are also linked to BLAS, and also ATLAS. Matrix manipulation is the underlying, unique power of all of these software packages. I think it would be great if ATLAS was able to provide multi-threaded matrix indexing along with its other matrix operations. This would vastly open the door for further development for all of us who use your useful program.
In the meantime, I've been looking for a program which does what I've described. The last thing I want to do is re-invent the wheel if someone's already done this. If matrix indexing is something that isn't likely to be included with ATLAS, are you aware of any other programs which may have this feature? My continued goal is to compile Octave, with such a package, so that I could use it with multi-threading capability.
I want to take the time to thank you for developing ATLAS and offering it to the world. Because of people like you, I'm able to use software packages like ATLAS and Octave in order to continue my work. This means a lot to me. Thank you!