Daniel - The pthreading works on all PDL functions, unless they are explicitly marked as *not* pthread-safe. John checked all the functions in the core library and marked some as not pthreadsafe (FFT, I think, and one or two others) but in general it should apply to any PDL operation that uses multiple threads. Matrix multiplication is included.
I say this having read the documentation, not as one closely familiar with John's patch. So, I could be wrong, but that's what I understand. On Sun, May 22, 2011 at 12:27 PM, chm <[email protected]> wrote: > On 5/22/2011 1:10 PM, Daniel Carrera wrote: >> >> On 22 May 2011 17:11, chm<[email protected]> wrote: >>> >>> Check the indicated POD from the announcement or you >>> can follow the link from Recent News on our web site >>> to get the announcement to perldl by John. >> >> Ok, I found the announcement. Synopsis: >> >> ----------------%<---------------- >> use PDL; >> >> set_autopthread_targ(4); # Make 4 threads. >> set_autopthread_size(5); # Split elements above 5 Mb. > > I think this is actually 5 MB (not Mb, bytes not bits). Actually, I am pretty sure this means piddles with 5x1024x1024 ELEMENTS will have the pthreading applied. It does not have anything to do with the number of bytes, but the number of elements. >> $a = zeroes(5000,5000); # Create 25Meg element array >> >> $b = $a + 5; # Processing is split up into threads >> $c = maximum($a); >> ----------------%<---------------- >> >> >> Interesting. Does this work for all operations like matrix >> multiplication? I wonder if John had to change the implementation of >> each individual function to make this work. >> >> Daniel. > > > _______________________________________________ > Perldl mailing list > [email protected] > http://mailman.jach.hawaii.edu/mailman/listinfo/perldl > David -- Sent via my carrier pigeon. _______________________________________________ Perldl mailing list [email protected] http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
