===== Cvičení 4 =====
==== 2. ====
#include
#include
int main( int argc, char* argv[] ) {
printf("Pocet: %d\n", omp_get_num_procs());
#pragma omp parallel num_threads(6)
{
printf("ID: %d\n", omp_get_thread_num());
}
}
==== 3. ====
#include
#include
int main( int argc, char* argv[] ) {
double s = 0;
double x;
#pragma omp parallel for private(x) reduction(+:s) num_threads(4)
for(int i=9999; i>=0; i--){
for(double j=1000000; j>0; j--){
x = j + 1000000.0*i;
s += 1.0/(x*x);
}
}
printf("Suma: %f\n", s);
}
==== 4. ====
Netvrdím, že se jedná o nejúspornější/nejefektivnější zápis, ale zdá se, že funguje.
Do ''cviceni5_ukol4.cpp'' stačí doplnit na řádek 78 následující:
// ostreni obrazu:
#pragma omp parallel for private(j, i, tmp, NewPixel, PixelC, PixelL, PixelB, PixelR, PixelT) shared(From, To) num_threads(4)
for(j = PositionT+1; j <= PositionB-1; j++ )
~~DISCUSSION~~