updated openmp

This commit is contained in:
Eric Soroos 2017-11-30 21:04:55 +00:00
parent 0c9269d6e8
commit c80d375b7f
3 changed files with 16 additions and 7 deletions

View File

@ -165,10 +165,10 @@ ImagingTranspose(Imaging imOut, Imaging imIn)
ImagingSectionEnter(&cookie); ImagingSectionEnter(&cookie);
if (imIn->image8){ if (imIn->image8){
#pragma omp parallel for private(x,y,xx,yy,yysize,xxsize) shared(imIn,imOut) default(none) collapse(2) #pragma omp parallel for private(x,y,xx,yy,xxx,yyy,yysize,xxsize,xxxsize,yyysize) shared(imIn,imOut) default(none) collapse(2)
TRANSPOSE(UINT8, image8) TRANSPOSE(UINT8, image8)
} else { } else {
#pragma omp parallel for private(x,y,xx,yy,yysize,xxsize) shared(imIn,imOut) default(none) collapse(2) #pragma omp parallel for private(x,y,xx,yy,xxx,yyy,yysize,xxsize,xxxsize,yyysize) shared(imIn,imOut) default(none) collapse(2)
TRANSPOSE(INT32, image32) TRANSPOSE(INT32, image32)
} }
ImagingSectionLeave(&cookie); ImagingSectionLeave(&cookie);

View File

@ -241,6 +241,7 @@ ImagingResampleHorizontal_8bpc(Imaging imOut, Imaging imIn, int offset,
ImagingSectionEnter(&cookie); ImagingSectionEnter(&cookie);
if (imIn->image8) { if (imIn->image8) {
#pragma omp parallel for private(k,x,xx,yy,xmin,xmax,ss0,ss1,ss2,ss3) shared(imIn,imOut,kk,ksize,bounds,offset) default(none) collapse(2)
for (yy = 0; yy < imOut->ysize; yy++) { for (yy = 0; yy < imOut->ysize; yy++) {
for (xx = 0; xx < imOut->xsize; xx++) { for (xx = 0; xx < imOut->xsize; xx++) {
xmin = bounds[xx * 2 + 0]; xmin = bounds[xx * 2 + 0];
@ -254,6 +255,7 @@ ImagingResampleHorizontal_8bpc(Imaging imOut, Imaging imIn, int offset,
} }
} else if (imIn->type == IMAGING_TYPE_UINT8) { } else if (imIn->type == IMAGING_TYPE_UINT8) {
if (imIn->bands == 2) { if (imIn->bands == 2) {
#pragma omp parallel for private(k,x,xx,yy,xmin,xmax,ss0,ss1,ss2,ss3) shared(imIn,imOut,kk,ksize,bounds,offset) default(none) collapse(2)
for (yy = 0; yy < imOut->ysize; yy++) { for (yy = 0; yy < imOut->ysize; yy++) {
for (xx = 0; xx < imOut->xsize; xx++) { for (xx = 0; xx < imOut->xsize; xx++) {
xmin = bounds[xx * 2 + 0]; xmin = bounds[xx * 2 + 0];
@ -269,6 +271,7 @@ ImagingResampleHorizontal_8bpc(Imaging imOut, Imaging imIn, int offset,
} }
} }
} else if (imIn->bands == 3) { } else if (imIn->bands == 3) {
#pragma omp parallel for private(k,x,xx,yy,xmin,xmax,ss0,ss1,ss2,ss3) shared(imIn,imOut,kk,ksize,bounds,offset) default(none) collapse(2)
for (yy = 0; yy < imOut->ysize; yy++) { for (yy = 0; yy < imOut->ysize; yy++) {
for (xx = 0; xx < imOut->xsize; xx++) { for (xx = 0; xx < imOut->xsize; xx++) {
xmin = bounds[xx * 2 + 0]; xmin = bounds[xx * 2 + 0];
@ -285,6 +288,7 @@ ImagingResampleHorizontal_8bpc(Imaging imOut, Imaging imIn, int offset,
} }
} }
} else { } else {
#pragma omp parallel for private(k,x,xx,yy,xmin,xmax,ss0,ss1,ss2,ss3) shared(imIn,imOut,kk,ksize,bounds,offset) default(none) collapse(2)
for (yy = 0; yy < imOut->ysize; yy++) { for (yy = 0; yy < imOut->ysize; yy++) {
for (xx = 0; xx < imOut->xsize; xx++) { for (xx = 0; xx < imOut->xsize; xx++) {
xmin = bounds[xx * 2 + 0]; xmin = bounds[xx * 2 + 0];
@ -322,6 +326,7 @@ ImagingResampleVertical_8bpc(Imaging imOut, Imaging imIn, int offset,
ImagingSectionEnter(&cookie); ImagingSectionEnter(&cookie);
if (imIn->image8) { if (imIn->image8) {
#pragma omp parallel for private(k,y,xx,yy,ymin,ymax,ss0,ss1,ss2,ss3) shared(imIn,imOut,kk,ksize,bounds) default(none)
for (yy = 0; yy < imOut->ysize; yy++) { for (yy = 0; yy < imOut->ysize; yy++) {
k = &kk[yy * ksize]; k = &kk[yy * ksize];
ymin = bounds[yy * 2 + 0]; ymin = bounds[yy * 2 + 0];
@ -335,6 +340,7 @@ ImagingResampleVertical_8bpc(Imaging imOut, Imaging imIn, int offset,
} }
} else if (imIn->type == IMAGING_TYPE_UINT8) { } else if (imIn->type == IMAGING_TYPE_UINT8) {
if (imIn->bands == 2) { if (imIn->bands == 2) {
#pragma omp parallel for private(k,y,xx,yy,ymin,ymax,ss0,ss1,ss2,ss3) shared(imIn,imOut,kk,ksize,bounds) default(none)
for (yy = 0; yy < imOut->ysize; yy++) { for (yy = 0; yy < imOut->ysize; yy++) {
k = &kk[yy * ksize]; k = &kk[yy * ksize];
ymin = bounds[yy * 2 + 0]; ymin = bounds[yy * 2 + 0];
@ -350,6 +356,7 @@ ImagingResampleVertical_8bpc(Imaging imOut, Imaging imIn, int offset,
} }
} }
} else if (imIn->bands == 3) { } else if (imIn->bands == 3) {
#pragma omp parallel for private(k,y,xx,yy,ymin,ymax,ss0,ss1,ss2,ss3) shared(imIn,imOut,kk,ksize,bounds) default(none)
for (yy = 0; yy < imOut->ysize; yy++) { for (yy = 0; yy < imOut->ysize; yy++) {
k = &kk[yy * ksize]; k = &kk[yy * ksize];
ymin = bounds[yy * 2 + 0]; ymin = bounds[yy * 2 + 0];
@ -366,6 +373,7 @@ ImagingResampleVertical_8bpc(Imaging imOut, Imaging imIn, int offset,
} }
} }
} else { } else {
#pragma omp parallel for private(k,y,xx,yy,ymin,ymax,ss0,ss1,ss2,ss3) shared(imIn,imOut,kk,ksize,bounds) default(none)
for (yy = 0; yy < imOut->ysize; yy++) { for (yy = 0; yy < imOut->ysize; yy++) {
k = &kk[yy * ksize]; k = &kk[yy * ksize];
ymin = bounds[yy * 2 + 0]; ymin = bounds[yy * 2 + 0];

View File

@ -622,7 +622,8 @@ class pil_build_ext(build_ext):
exts = [(Extension("PIL._imaging", exts = [(Extension("PIL._imaging",
files, files,
libraries=libs, libraries=libs,
define_macros=defs))] define_macros=defs,
extra_compile_args=extra_compile_args))]
# #
# additional libraries # additional libraries