## MATLAB 2009a released today.

The math software releases are coming thick and fast at the moment. This latest release of Mathworks’ flagship program comes with a huge number of improvements but possibly the most important in my mind right now is the following.

- Utilization of eight cores on your desktop with Parallel Computing Toolbox (PCT)

When you use the Parallel Computing Toolbox with MATLAB 2008b or below, you can only make use of up to 4 cores simultaneously. This was starting to become a problem for users at my workplace because **dual quad core **machines are becoming increasingly common around there.

I installed the PCT (at a cost of 192 pounds +VAT for the network licensed version) for the owner of such a machine a few months back and we immediately hit upon the 4 core limit of MATLAB 2008a. He had 8 cores and wanted to use them so I fired off an email to Mathworks support for advice. I figured that we would have to pay another 192 pounds for another 4 core PCT but I was wrong. So, very very wrong.

Cutting a long story short we were told that if we wanted to use 8 cores then we would have to buy 8 licenses for their dsitributed computing server product at a total cost of **1400 pounds + VAT**. Ouch!

So…to summarize – the pricing structure we were being offered for MATLAB 2008a was

- Parallelisation over 4 cores cost 192 +VAT or 48 pounds per core
- Parellisation over 8 cores cost 1400 + VAT or 175 pounds per core

I was rather stunned by this outcome and said as much to my long-suffering Mathworks account manager (who has the patience of a saint I think – I’d like to take this opportunity to publicly thank her for putting up with me).

Anyway, this has **been fixed in 2009a** and the PCT can now use up to **8 cores** and so this particular toolbox is now twice as powerful as it was before.

Great news all round I think.

If you enjoyed this article, feel free to click here to subscribe to my RSS Feed.

Symbolic integration continues to disappoint. A bug, where R2009a gives the wrong answer:

>> syms x; int((sinc(x))^2,x,0,inf)

ans =

1/(2*pi^4)

Versions previous to R2008b correctly evaluate to

>> syms x; int((sinc(x))^2,x,0,inf)

ans =1/2

Hi Robert

Thanks for that and please feel free to keep em coming – I submit every bug report someone sends me on here to Mathworks in the hope that they will get fixed (Once I have confirmed it for myself of course – I am a stickler for that sort of detail).

Cheers,

Mike

Hi Robert, Mike –

Our development staff has been working on the Symbolic Math Toolbox issue that Robert described. It will be addressed in an upcoming release.

Thanks for reporting this.

Dan Doherty

The MathWorks

Thanks for the information Dan – that’s great news.

Strictly speaking, the limit which has been increased is on the number of ‘workers’. I still do not understand completely the relationship between the number of cores, the number of workers and performance, but some of my tests show acceleration on a 2-core machine when using 4 workers instead of 2. This leads me to imagine that having 8 workers instead of 4 might improve performance for 4-core machines, as well.

Newly released R2009 has just a little progress in symbolic integration.

Infinite integral above now works:

>> int(sinc(x)^2,x,0,inf)

ans = matrix([[1/2]])

though the “matrix” is a bit odd, but the indefinite integral fails:

int(sinc(x)^2)

Warning: Explicit integral could not be found.

To verify that the integral exists, “search” wolfram alpha for

integral(sinc(x)^2)

and it gives solution

(2*x*Si(2*x)+cos(2*x)-1)/(2*x) + constant