Zatem problem wygląda tak: mam pętlę, która generuje fraktal mandelbrota i muszę ją zrównoleglić.
Kod wygląda tak:

for(int y = 0; y < ImageHeight; ++y)
		{
			double c_im = MaxIm - y*Im_factor;
			for(int x=0; x<ImageWidth; ++x)
			{
				double c_re = MinRe + x*Re_factor;

				double Z_re = c_re, Z_im = c_im;
				bool isInside = true;
				for(n = 0; n < MaxIterations; ++n)
				{
					double Z_re2 = Z_re*Z_re, Z_im2 = Z_im*Z_im;
					if(Z_re2 + Z_im2 > 4)
					{
						isInside = false;
						break;
					}
					Z_im = 2*Z_re*Z_im + c_im;
					Z_re = Z_re2 - Z_im2 + c_re;
				}
				if(isInside){
					Output(x, y) -> Blue = 0;
					Output(x, y) -> Red = 0;
					Output(x, y) -> Green = 0;
				}
				else{
					Output(x, y) -> Blue = (int)((n % 8) * 8 % 256);
					Output(x, y) -> Red = (int)((n % 8) * 16 % 256);
					Output(x, y) -> Green = (int)((n  % 8) * 32 % 256);
				}

			}
		}

I teraz moje pytania:

  1. Czy mogę po prostu na początku tej pętli wstawić
#pragma omp for

i wszystko będzie ok? Jeśli mam tyle zagnieżdzonych pętli?
2. Czy przy tej deklaracji muszę deklarować zmienne private i shared? A jeśli tak, to które będą private? x i y?

Muszę to przetestować w wersji schedule static, guided i dynamic, jeśli ma to jakieś znaczenie.
Próbowałem już po prostu wstawić tam #pragma omp for, ale wtedy obrazek wychodzi cały "zaszumiony".

Z góry dzięki za jakąkolwiek pomoc ;)