Friends,

I have a program that would be pretty easy to parallelize with an openmp pragra in C. I'd like to avoid the performance cost of using message passing, and the shared qualifier seems like it's enforcing guarantees I don't need. Essentially, I have

x = float[imax][jmax]; //x is about 8 GB of floats
for(j = 0; j < jmax; j++){
//create some local variables.
    for(i = 0; i < imax; i++){
x[j][i] = complicatedFunction(i, x[j-1], other, local, variables);
    }
}

In C, I'd just stick a #pragma omp parallel for around the inner loop (since the outer loop obviously can't be parallelized).

How should I go about this in D? I want to avoid copying data around if it's possible since these arrays are huge.

Cheers,
Charles.

Reply via email to