I would rather use the Maxima language to do this, but there is no way yet.
Each inner product of Row(i) and Column(j) could be split into 4 threads by
assigning each to use an odd or even index for (i,j). I only know GCL a
little.
Thread 1. i odd, j odd.
Thread 2. i odd, j even.
Thread 3. i even, j odd.
Thread 4. i even, j even.
This is kind of obvious though, but it would be really fast on my pc. It
would take a lot of time for me to do it right though in Lisp. I think I
would rather do it in assembly language :).
Rich
-----Original Message-----
From: Barton Willis
Sent: Monday, December 27, 2010 8:06 PM
To: Richard Hennessy
Cc: Raymond Toy ; maxima at math.utexas.edu
Subject: Re: [Maxima] Multi-threaded Maxima
-----maxima-bounces at math.utexas.edu wrote: -----
>How hard to just change matrix multiplication to use threads?
Nobody knows until you try it; a few sources:
http://common-lisp.net/project/bordeaux-threads/http://c2.com/cgi/wiki?CommonLispThreadshttp://ccl.clozure.com/manual/
Finally, the functions timex and timex0 (defined in matrix.lisp) do Maxima
matrix multiplication.
Good luck.
--Barton