[concurrency-interest] ParallelDoubleArray and BLAS level 1

Doug Lea dl at cs.oswego.edu
Sun Mar 9 11:02:21 EDT 2008

Kasper Nielsen wrote:
> Wow, this list is quite at the moment.

(I have been completely swamped with unrelated things. I hope
to get back to regular updates of ParallelArray etc in the
coming weeks though.)

> Those place where I couldn't get away with using 
> ParallelDoubleArrayWithBounds I've used a ParallelDoubleArray.
> It was primarily because I had to swap transformed elements between two 
> arrays. Some better methods for this would be nice.

Such as?

> There was only 1 operation I had to implement sequential 'idamax' which 
> returns the minimum index having the maximum absolute value.

This is a good candidate for ParallelDoubleArray as well.

> All the BLAS routines takes an increment as an argument. 

Right. This is where the ambitions of ParallelDoubleArray fall
short of what you want, in part because it is not clear what
the best approach is. Should a dense matrix be packed into
a single-dimensional array (in which case you would want
"stride" arguments to traverse columns), or a Java array-of-arrays
(which can encounter much more indexing overhead)?
This issue has haunted people for years, since neither is
ideal. There was a JavaGrande effort and even a proposed JSR for
standardizing approaches, but nothing ever became of them.

> but of course if we add this, next time I would want some way to select
> a bounded box in an array. So I'll probably end up with implementing 
> this myself in my Matrix library.

Yes. Probably slices etc would fit in better for classes that
focus primarily on the linear algebra aspects of Matrices
rather than all the filtering, mapping, etc supported by
ParallelXArray. For example, it would probably be fine for
matrix classes for almost any loop to have a non-unit stride,
but this rarely makes sense for ParallelXArrays serving as


More information about the Concurrency-interest mailing list