Questions on parallel computing in Mathematica.
31
votes
4answers
1k views
Speeding up this fractal-generating code
I used the code below (which is a sample from this gist containing more similar code) in my answer to my own question about Mandelbrot-like sets for functions other than the simple quadratic on ...
27
votes
4answers
1k views
Is it possible to speed up ContourPlot on multi-core machines?
It is not very difficult to face a function for which ContourPlot works too slow. And it seems natural that this function can be parallelized well. Anyway, naive ...
24
votes
3answers
823 views
Are built-in Mathematica functions already parallelized?
I've been noticing something strange since updating to Mathematica 8, and that is that occaisionally I'll see that the MathKernel is using up to 800% CPU in my Activity Monitor on OS X (I have 8 ...
18
votes
1answer
375 views
Transferring a large amount of data in parallel calculations
This question is inspired by one of @whuber's answers
Consider the following code:
...
17
votes
2answers
314 views
Parallelize evaluation of function with memoization
I have a complicated function that I need multiple times, so I want to memoize it and have the first evaluation done in parallel. Unlike in my example below it's not a continuous function, so ...
17
votes
1answer
286 views
Is it safe to launch/close kernels in the middle of a parallel calculation?
It appears that it is possible to launch additional kernels (or close existing ones) during a parallel calculation. The newly launched kernels will be utilized for the rest of the calculation.
...
15
votes
2answers
610 views
Parallelization problem in LinearSolve and Minimize
My CPU has got 8 cores (it is Intel Core i7-2600 3.40 GHz). When I try to solve a linear matrix equation using LinearSolve for large matrices, Mathematica just uses 4 cores to solve the problem (CPU ...
13
votes
3answers
545 views
Does parallel programming use up large quantities of memory in Mathematica?
When I start Mathematica with a fresh kernel and load a program I am developing to analyze biology data, the amount of used system memory is 1.9 GB (free memory is 14.5 GB). These memory values are ...
13
votes
3answers
579 views
Monitor doesn't work with ParallelTable
I can't monitor ParallelTable:
Monitor[ParallelTable[Pause[3]; i, {i, 1, 10}], i]
just displays i until it is finished.
Do ...
13
votes
4answers
489 views
How to collect result continuously (interruptible calculation) when running parallel calculations?
This is the most common pattern to compute a table of results:
Table[function[p], {p, parameters}]
(regardless of how it's implemented, it could be a ...
12
votes
6answers
612 views
Efficient conditional Mean[] on a large data set
Consider a list, AK6, that has 382 sublists of length varying from 2500 to 3000. Each "subsublist" is as such : ...
12
votes
4answers
279 views
How can we implement “Sleep Sort”?
Inspired by Implement Sleep Sort:
Sleep Sort is an integer sorting algorithm I found on the Internet. It opens an output stream, and for each input numbers in parallel, delay for the number ...
12
votes
2answers
285 views
Tell ParallelMap[] to use just specific kernels
Is there a way to tell ParallelMap to use just some specific kernels (as is possible for ParallelEvaluate)?
Background: I have ...
12
votes
2answers
176 views
Tuning ParallelMap when IO and computationally bound
I'm currently doing work on processing a number of images taken frame-by-frame from a video. As a result, I have a directory of around 16K PNG images that at most ~300K.
That said, I have a routine, ...
12
votes
2answers
232 views
Parallelization of distinct array write access from subkernels
I'm working on an implementation of a multivariate FFT, which is (or at least should be) highly parallelizable due to the row-column-algorithm. However, i can't figure out how to implement that. The ...
11
votes
3answers
254 views
Suspecting bug in Parallel Framework
I've reduced my actual problem to:
ParallelEvaluate[
Module[{slot=1},
Slot[slot]
]
]
gives error messages that I think shouldn't be there. It seems I can ...
11
votes
2answers
482 views
List of Parallelize[]-able functions
The question is clear and is inspired by this question and the first comment on this question. Although there are many tricks for parallelizing things that are not ...
11
votes
2answers
563 views
Speeding up random walk for many particles
I am trying to speed up this code for many particles to take a random walk. I'm not sure why it is so slow for such a simple task.
I got a few hints from colleagues to reduce the precision of the ...
11
votes
2answers
472 views
How to run mathlink external commands in parallel?
I have an external function called increment (for the sake of illustration) that I call from Mathematica using MathLink. I.e.,
...
11
votes
1answer
934 views
Parallelizing Numerical Integration in Mathematica
I have an ugly, six dimensional function that I need to integrate numerically. It works, but it currently take twelve hours to complete the calculation. Is there any good way to parallelize the ...
11
votes
1answer
273 views
Parallel compiled functions running on parallel sub-kernels
Question
Why is it, that compiled, Listable, parallel functions which work perfectly fine on the main kernel, do not run in parallel on sub-kernels?
Details
...
10
votes
5answers
523 views
Connecting to and disconnecting from a continuously running kernel, on demand
I realized that there are lots of advantages to driving C/C++/FORTRAN code directly from Mathematica as LibraryLink functions (instead of running them from the command line or a shell script, as I ...
10
votes
1answer
349 views
Nesting Parallel processes
I just attempted to run code that had nested ParallelMap[] functions. It generates the error message:
ParallelMap::subpar: Parallel computations cannot be nested;
proceeding with sequential ...
10
votes
1answer
359 views
Is there a simple example using OpenCLLink that shows performance advantages?
OpenCLLink allows Mathematica to use the OpenCL parallel computing language. I have done some tests on simple examples, but so far, the CPU regularly outperforms ...
9
votes
2answers
856 views
CUDA and GPU hardware and compatibility questions?
We have iMac desktops and have just begun to parallelize computations across them see: Wolfram Light Weight Grid and parallel computing.
This still does not look like it will give us the performance ...
9
votes
2answers
126 views
Package found with `Needs`, but not with `ParallelNeeds`
I want to use a self-written package in a parallel computation. However while Needs["mypackage`"] works without problems, ...
9
votes
1answer
211 views
Parallelization and Hadoop
The short question: Has anyone used Mathematica in conjunction with Hadoop and does Mathematica's built in parallelization play well with Hadoop?
The long version:
So I have a Mathematica program ...
8
votes
1answer
739 views
Wolfram Light Weight Grid and parallel computing
I have attempted to set up and use the Wolfram Lightweight Grid Manager so I can do parallel computing from Mathematica using 2 remote processors on another machine on my local network.
My ...
8
votes
2answers
102 views
Distribute and analyze large datasets
I need to analyze very large datasets, and they obviously don't fit in a computer memory. I need to produce some statistics on these datasets, and this brings me here:
How can I make some statistical ...
8
votes
1answer
171 views
How to run an external program in parallel with a Mathematica package?
Under Mathematica 8 (Linux x84_64) I was able to run an external program in parallel from a Mathematica package. However this procedure breaks down under Mathematica 9.
Within my Mathematica package ...
8
votes
0answers
178 views
Using Compile to speed up Function with PermutationProduct
I have the following fairly simple routine dot involving PermutationProduct that I wish to speed up using ...
7
votes
2answers
405 views
ParallelTable and Table do not give same result
I have a question regarding the use of Parallelize.
In the help one can read that “Parallelize[Table[expr,iter, …]] (which is ...
7
votes
1answer
190 views
7
votes
1answer
196 views
Setting $RecursionLimit across all parallel kernels
I'm trying to optimize an elliptic curve factoring method by running it in parallel. There is a recursive step which required me to set the recursion limit higher than 256, however when I try and run ...
7
votes
2answers
164 views
Mathematica Parellelization on HPC
I'm currently using Mathematica on a High Performance Cluster (HPC) which consists of many compute nodes each with around 16 cores. I currently run my Mathematica script on 20 of the nodes that ...
7
votes
1answer
270 views
Communication between parallel kernels
Greetings. This is my first post here, also, I am not a seasoned programmer, so any advice pertaining to coding that is not directly related to the problem (stated below) is welcome. I am having ...
7
votes
1answer
187 views
how can I avoid CPU waste (by master kernel) using WaitNext?
I'm using WaitNext in Mathematica for parallel processing on Mac OS X. I have 4 processors on my MacBook and LaunchKernels[] ...
6
votes
2answers
110 views
6
votes
1answer
62 views
Is it safe to use older version subkernels with a newer version main kernel?
At the moment we only have access to version 8 of the Lightweight Grid (i.e. version 8 of the Mathematica kernel). Is it safe to run version 8 subkernels together with a version 9 main kernel? It ...
6
votes
2answers
209 views
Use of Cellular Automaton or Discrete Convolution to calculate Potts Energy of a 2D Matrix
In a project of Monte Carlo Modelling of Grain Growth (Link) one of the most costly subroutines is the calculation of the Potts-Energy of an Monte Carlo Grid cell by comparing the center cell value ...
6
votes
1answer
192 views
PrintTemporary in ParallelTable
I thought of a possible answer to Monitor doesn't work with ParallelTable but it doesn't work as I hoped it would.
This accumulates print cells instead of deleting them as intended. Can it be ...
6
votes
1answer
285 views
Efficiency of ParallelDo when a global variable./matrix is being updated
(Disclaimer: I realize that the addition of matrices a and b below can be done very fast just by typing a+b. The code below is just meant to illustrate behavior similar to what I observe in much more ...
6
votes
1answer
222 views
Export graphics in parallel
I run a heavy simulation, using NDSolve and the method of lines. This means that the result of NDSolve is a list of, say, ...
6
votes
0answers
101 views
Is there a way to convert mathematica code to OpenMP or OpenACC?
I see that Mathematica has limited support for things like OpenCL and CUDA, but what about other standards like OpenMP or OpenACC?
6
votes
0answers
239 views
Bug in Parallel Kernels Status?
I have a computation running, where I use all my available kernels using ParallelDo. However, if I check the kernels status under Evaluation -> Parallel Kernel ...
6
votes
0answers
189 views
How to install a mathlink executable on a remote platform running a different OS? [closed]
I have a local machine running MacOS (four 64-bit CPU cores), and a remote machine running Linux (two 32-bit CPU cores), and I can install and run commands from the respective (architecture-dependent) ...
5
votes
1answer
258 views
5
votes
2answers
135 views
Computers running Wolfram lightweight grid manager won't fall asleep
I have a computing environment comprised of:
27" iMac with dual cores running Mac OS X 10.6.8 and
2 XServes each with 2 quad cores running Max OS X Server 10.6.8
All networking by ethernet to a Time ...
5
votes
1answer
168 views
Build recursion in parallel?
Problem
Let's define a simple recursion.
f[1] = 1;
f[n_] := f[n] = f[n - 1]*n;
If I evaluate f in parallel
...
5
votes
0answers
106 views
Parallelizing is much slower than single kernel evaluation?
Starting with a vector of matrices, tVec, I would like to parallelize the multiplication of each element with the same matrix ...

