Wxmaxima could start multiple Maxima processes and simply dispatch the tasks in parallel, but managing concurrent computations
becomes more challenging as they use more resources. The field of scientific computing has done a lot of work in this area and
perhaps an interface to Maxima could be written to leverage the existing work. Since this field has researched a lot of the issues
and developed some solutions, it may help focus any work on Maxima. Some of these frameworks can be programmed in graphical
data-flow languages and this may even suit some users. Maxima could be enhanced to become better integrated into such frameworks.
For example: being able to report on resource usage before a computation starts such as memory and run time estimates, being able to
be halted a computation, being able to report on progress, being able to report an estimated solution, avoiding global state to fit
within a functional data-flow system, etc. This need not even address the issue of Maxima and multiple threads.
Making Maxima thread safe could also be useful and would have a range of benefits. For example: it would allow web server requests
to call Maxima code in parallel. Maxima has a lot of global state, and this would need to be virtualized. This could have uses in
non-threaded code, for example allowing the state to be switched. But would people want to change the guts of Maxima to achieve this?
Regards
Douglas Crosher
On 06/09/2012 11:19 PM, Dmitry Shkirmanov wrote:
> Hello, list. I am using wxmaxima as a maxima gui. Wxmaxima, while calculating, executes cells consecutively: it begins from the
> first cell, then, when the first cell calculation is completed, it begins to calculate the second cell and so on.
>
> But sometimes it is useful to run cells simultaneously ,for example in case of dual-core processor.
>
> So, is it possible to make wxmaxima to perform, for example, this:
> 1) Start the first cell calculation and the second cell calculation simultaneously.
> 2)After finishing the first cell calculation and the second cell calculation to execute the third cell?