Re: What would you do with an XDK or XMP-64?
Posted: Sat Mar 05, 2011 9:36 am
Btw, I would also see as a very good application for an XMP-64 to create some kind of GRID for intensive processing.
I would have been very glad to have one (or multiple) unit(s) when I was working on my thesis on computer simulations in condensed matter physics. We were doing a lot of optimization using methods like molecular dynamics and Monte Carlo methods.
the XMP-64 could have been a very good choice to create a computing grid for highly parallelisable algorithms, like Monte Carlo simulations or (BETTER) Genetic Algorithms simulations of bulk or surface phenomenas.
In Genetic Algorithms:
With a single unit, and its 512 threads, we can give each a thread to calculate a configuration alone, and send back the result to the master (PC/MAC), this will make much quicker than having to calculate all that on a single sequential processor.
We can also for example use a second unit to calculate crossover (combination) operations,
a third unit can do mutations and various other operators calculations.
Calculation will be done in this order:
[Unit1 : calculation fitness func] -> [Unit2: Calculation CrossOver] -> [Unit3: calc of Mutations]
once Unit3 prepares new n-th generation it passes it again to Unit1, Unit2 receive the (n-2)-th series of parents, Unit3 receive (n-1)-th generation ...
the units can continue their optimization without any intervention from the master PC/MAC.
With such three units, we can have a full computing grid for optimization using Genetic Algorithms.
In Molecular Dynamics (classical):
We can create a crystal for example of 512 atom, and give each node the responsability of computing "its" atom interaction with its neighboors (other 511 atoms in the crystal).
By pluggin more and more units, we can augment the crystal size keeping calculation time almost the same (for the interactions calculation at least).
Molecular dynamics (at least classical one) programs does not need complex functions calculations (most classical potential functions and their derivatives are simple), and thus the little 64KB will be very sufficient. What need to be tested is the speed at wich each atom (thread) can ask its neighboors their properties (atomic positions)...
This kind of problems can be good candidate for exploration with such parallel computing grids I think !!!
I would have been very glad to have one (or multiple) unit(s) when I was working on my thesis on computer simulations in condensed matter physics. We were doing a lot of optimization using methods like molecular dynamics and Monte Carlo methods.
the XMP-64 could have been a very good choice to create a computing grid for highly parallelisable algorithms, like Monte Carlo simulations or (BETTER) Genetic Algorithms simulations of bulk or surface phenomenas.
In Genetic Algorithms:
With a single unit, and its 512 threads, we can give each a thread to calculate a configuration alone, and send back the result to the master (PC/MAC), this will make much quicker than having to calculate all that on a single sequential processor.
We can also for example use a second unit to calculate crossover (combination) operations,
a third unit can do mutations and various other operators calculations.
Calculation will be done in this order:
[Unit1 : calculation fitness func] -> [Unit2: Calculation CrossOver] -> [Unit3: calc of Mutations]
once Unit3 prepares new n-th generation it passes it again to Unit1, Unit2 receive the (n-2)-th series of parents, Unit3 receive (n-1)-th generation ...
the units can continue their optimization without any intervention from the master PC/MAC.
With such three units, we can have a full computing grid for optimization using Genetic Algorithms.
In Molecular Dynamics (classical):
We can create a crystal for example of 512 atom, and give each node the responsability of computing "its" atom interaction with its neighboors (other 511 atoms in the crystal).
By pluggin more and more units, we can augment the crystal size keeping calculation time almost the same (for the interactions calculation at least).
Molecular dynamics (at least classical one) programs does not need complex functions calculations (most classical potential functions and their derivatives are simple), and thus the little 64KB will be very sufficient. What need to be tested is the speed at wich each atom (thread) can ask its neighboors their properties (atomic positions)...
This kind of problems can be good candidate for exploration with such parallel computing grids I think !!!