Multi-threaded Maxima



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?CommonLispThreads
  http://ccl.clozure.com/manual/

Finally, the functions timex and timex0 (defined in matrix.lisp) do Maxima 
matrix multiplication.

Good luck.

--Barton