Parallel Computing/Grid Mathematica
Parallel computing in the Wolfram Language is based on launching and controlling multiple Wolfram Language kernel (worker) processes from within a single master Wolfram Language, providing a distributed-memory environment for parallel programming.
Wolfram can run parallel processes locally, and every computer has 8 kernels available for parallel processing in mathematica. If you need more than that, you can use matematica to run parallel processes on multiple computers!
How to Use It
Launch Mathematica from an IRC computer; this will be your “Mathematica controlling kernel”.
To view the available nodes: Evaluation > Parallel Kernel Configuration
This opens up a window of preferences that looks like this:
This window is where you adjust parallel settings. You should see a tab of your local kernels first. If you click on the 'Lightweight Grid' tab, then click “Enable Lightweight Grid,” you should see a list of hostnames for IRCcomputers:
These are called the “computation kernels”, and are the ones available for use. You can select the number of kernels to enable for each individual computer, or you can use the Set All… button to enable a number of kernels in all of the available machines.
To check the status of all kernels, select Parallel Kernel Status… in the bottom righthand corner of this menu.
Here you can see the status of all running kernels, and close individual kernels or all of them at once:
You can also see a summary of the current system setup by typing
into a mathematica document and executing it.
Launching and Connecting Kernels
The parallel preferences menu above is also where you set *how* the wolfram language launches kernels, and the default is to launch them automatically as needed.
If you wanted to launch them manually… say, for testing purposes:
- this is a good place to start: http://reference.wolfram.com/language/ParallelTools/tutorial/ParallelEvaluation.html
- and for further help, see here: http://reference.wolfram.com/language/LightweightGridClient/tutorial/Introduction.html