From cb7f1415a3a53d241784928e2a5d291f79a8e984 Mon Sep 17 00:00:00 2001 From: Gilles Perrot Date: Fri, 10 Jun 2011 13:58:57 +0200 Subject: [PATCH 1/1] generation de chemins de taille parametrable --- .gitignore | 1 + Makefile | 4 +- image_cpu.pgm | Bin 0 -> 262159 bytes image_out.pgm | Bin 0 -> 396 bytes levelines_common.c | 131 ++++++++++++++ levelines_common.h | 158 ++++++++++++++++- levelines_kernels.cu | 228 ++++++++++++++++-------- main.cu | 343 +++++++++++++++++++++---------------- obj/release/main_gmem.cu.o | Bin 0 -> 85808 bytes 9 files changed, 642 insertions(+), 223 deletions(-) create mode 100644 image_cpu.pgm create mode 100644 image_out.pgm create mode 100644 levelines_common.c create mode 100644 obj/release/main_gmem.cu.o diff --git a/.gitignore b/.gitignore index e69de29..94c2ef1 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +obj/*.o \ No newline at end of file diff --git a/Makefile b/Makefile index 2801dda..20361ca 100644 --- a/Makefile +++ b/Makefile @@ -34,9 +34,9 @@ ################################################################################ # Add source files here -EXECUTABLE := levelines +EXECUTABLE := lniv # CUDA source files (compiled with cudacc) -CUFILES := main_gmem.cu +CUFILES := main.cu # CUDA dependency files CU_DEPS := levelines_common.h # C/C++ source files (compiled with gcc / c++) diff --git a/image_cpu.pgm b/image_cpu.pgm new file mode 100644 index 0000000000000000000000000000000000000000..309cc8a9f78cf6aa5e04742a835a5abf0ff22229 GIT binary patch literal 262159 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%0D@cIg-Y( zcYKdO8zMx(uc4ceC-7&cG1bK%>H_|oE1L=aC+$w7aj?to->9PLOYlbotkoJ14`=M| z?F-a>S6ASVM=+rQjrMK#y34G11OD$Gp6=ds+LcPD^IBImdJui2H3M@CKZSe7Y;UbV zlkFgf>z_}o46Z{&K&48481N^+(c8T$!5^NPP`2$T?(_%zU3|gsCHN}=5NX!OpWH}r zx`7I{Z@Kh4{ADdd3C&qvNiKaGj>5%h@QnXx?;5tV-uhP~PY+oBW`IPNazcb*5&~`* z5H~A_vHSxR$QwEUD4DttXD;MO;~-s+$%lr|h-?aWAi*dxde*IjrqF+A)BGeFWPCr( zoQuJiZ*YSP`&ZbxVKW#gdPXMF>_Tv!(GqS({6m;T2FJ?)VuFhvzPqm`rrAr~L=Lp~ za}-L{bA1gL->7Tp$N2*XKwS8fRIc^g+d`3~kc5G-2ej&C(}NU`jvC$T%j>iIw-o&7 zK3eeY@~YFhBah?)B0XJCmK_}0+8PW1c23TONz?JNapMu|&&a5}RN#eYQzT^D(3J}# zC{8~5-%$EM*`C`O-v~ZJxez(>-T%>f8aDxU3=e#`8-}NO3%XHP3=@e(L-$z=w#u(? zrAy>Q@_|n=YLt?LVdG+rril->{FMfJSpZyU`uHMBmn zXW86sIvj%R7~CEU5~hcmOoVJ?v$n$~5hureeB>USvEsCrez;`lL(1Ic9L(XEM|`9U zu|<+vS{oixoGHZ=PgzYU)cjgAj++-hBx0VhB|H;S>fq=a$#%g{ToxDr46^V#h%2j` zc>S-y>ErT=!!ADEYpi-;-`%ci;`3t*x{uUXD{OCXHb@cMC?35o9#v0Is-^k~DWhAb zZHoO;@bUVh%lf~&eRKEl?tSxg)t<@)BSA3%bXrB+kXH)Y8T9`pY-u(-?G`XLG$+A? z2*lzH{7HxC7T~H^%AaMN{KFW)V7R5+&Mo>zHV)PXz9Zl!xpRmkG|P1n4jSezaTU^r zq@XebrbNx~q;z>-Moq7Zjsf;=g>T-5I|0NxW-4vW%=ht!K&Vrk8YHEg>)Q4266dWf zP5Z;9F|F;3@#YIo*d$i4d<7q+ABYebexi%R6S|RxUm{c4tD~!a;Tvrv%zRd^wIJqa|JzUw=dsNOX#7~ zrkv=TyH2;!I&0<(BagLA17~UOs3j=1yVIK(F={wZD4Nde&o!1IACD^{25Qtz%HfOy zufV>MBOz&~#uytAJUj1Vpx6=HGkU@yxQBQ~aQ=+68$qJJ*Ii;njym+Dypk=+{eK1q z56X$Yau&iGd#`IWLEjPM&=JpR5^oFqsaAuqGo^Ak@TcCQ#Vh_1e`4km z{O5VMTn>x?H6*6YKxNXIz&{n-fe(T!#f!=+Bk37BD7y-^P+_H3G;}M_6$wDRSNSZ#t*ofA@x>(xQxxdaXWSjI%tK|;Y`gwqmOZ>E#q;UBv_%blc|vIv1cR8r14@FxdWxCb!~ z`n@FhyQcY!o=9~X+z{A;KRGZ^P0!5W%0D-gg~D1vrFT={4>9^L@%OC|f4FEV4wrb$ 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 z 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%0DSx4;ut1LRpeAH%aGIXft$(|t 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 Ge|-SmAz_UG literal 0 HcmV?d00001 diff --git a/levelines_common.c b/levelines_common.c new file mode 100644 index 0000000..bb77107 --- /dev/null +++ b/levelines_common.c @@ -0,0 +1,131 @@ +#include "levelines_common.h" + +unsigned int lniv4_value(unsigned int **image, int i, int j, int idim, int jdim, int *dout) +{ + unsigned int value_c ; + unsigned int value2_c ; + unsigned int d, v, p, d_min, eq_min, eq, sum, sum2 ; + unsigned int sum_eq_min ; + unsigned int it, jt ; + + + /* mem */ + value_c = image[ i*l + j ] ; + value2_c = value_c*value_c ; + + // direction d=0 + sum = value_c ; + sum2 = value2_c ; + it = i ; + jt = j ; + for (p=0; p<3; p++) + { + it += Di_Q1[0][p] ; + jt += Dj_Q1[0][p] ; + v = image[ it*l + jt ] ; + sum += v ; + sum2 += v*v ; + } + eq_min = sum2 - sum*sum/4 ; /* *4 */ + sum_eq_min = sum ; + d_min = 0 ; + + /* direction 1 a 5 */ + for (d=1; d<6; d++) + { + sum = value_c ; + sum2 = value2_c ; + it = i ; + jt = j ; + for (p=0; p<3; p++) + { + it += Di_Q1[d][p] ; + jt += Dj_Q1[d][p] ; + v = image[it*l + jt] ; + sum += v ; + sum2 += v*v ; + } + eq = sum2 - sum*sum/4 ; /* *4 */ + if (eq < eq_min) + { + eq_min = eq ; + sum_eq_min = sum ; + d_min = d ; /* pour info */ + } + } + + /* direction 6 a 11 */ + for (d=0; d<6; d++) + { + sum = value_c ; + sum2 = value2_c ; + it = i ; + jt = j ; + for (p=0; p<3; p++) + { + it += Dj_Q1[d][p] ; + jt -= Di_Q1[d][p] ; + v = image[it*l + jt] ; + sum += v ; + sum2 += v*v ; + } + eq = sum2 - sum*sum/4 ; /* *4 */ + if (eq < eq_min) + { + eq_min = eq ; + sum_eq_min = sum ; + d_min = d+6 ; /* pour info */ + } + } + + /* direction 12 a 17 */ + for (d=0; d<6; d++) + { + sum = value_c ; + sum2 = value2_c ; + it = i ; + jt = j ; + for (p=0; p<3; p++) + { + it -= Di_Q1[d][p] ; + jt -= Dj_Q1[d][p] ; + v = image[it*l + jt] ; + sum += v ; + sum2 += v*v ; + } + eq = sum2 - sum*sum/4 ; /* *4 */ + if (eq < eq_min) + { + eq_min = eq ; + sum_eq_min = sum ; + d_min = d+12 ; /* pour info */ + } + } + + /* direction 18 a 23 */ + for (d=0; d<6; d++) + { + sum = value_c ; + sum2 = value2_c ; + it = i ; + jt = j ; + for (p=0; p<3; p++) + { + it -= Dj_Q1[d][p] ; + jt += Di_Q1[d][p] ; + v = image[it*l + jt] ; + sum += v ; + sum2 += v*v ; + } + eq = sum2 - sum*sum/4 ; /* *4 */ + if (eq < eq_min) + { + eq_min = eq ; + sum_eq_min = sum ; + d_min = d+18 ; /* pour info */ + } + } + + *dout = d_min ; + return sum_eq_min/4 ; +} diff --git a/levelines_common.h b/levelines_common.h index ddb0ea2..97d9bd7 100644 --- a/levelines_common.h +++ b/levelines_common.h @@ -3,17 +3,171 @@ #ifndef LEVELINES_COMMON_H #define LEVELINES_COMMON_H +#include -#include +/** + * \var Di_Q1 + * \brief table de coordonnees des segments pour le quadrant 1 + * + */ +const int Di_Q1[6][3] = + {{ -1, -1, -1}, /* 0 */ + { -1, -1, -1}, /* 1 */ + { -1, -1, -1}, /* 2 */ + { -1, -1, -1}, /* 3 */ + { -1, 0, -1}, /* 4 */ + { 0, -1, 0}}; /* 5 */ + +/** + * \var Dj_Q1 + * \brief table de coordonnees des segments pour le quadrant 1 + * + */ +const int Dj_Q1[6][3] = + {{ 0, 0, 0}, /* 0 */ + { 0, 1, 0}, /* 1 */ + { 1, 0, 1}, /* 2 */ + { 1, 1, 1}, /* 3 */ + { 1, 1, 1}, /* 4 */ + { 1, 1, 1}}; /* 5 */ //////////////////////////////////////////////////////////////////////////////// // Reference CPU functions //////////////////////////////////////////////////////////////////////////////// -//extern "C" void fonc(...); +extern "C" unsigned int lniv_cpu(unsigned int *image, int i, int j, int idim, int l, int *dout){ + + unsigned int value_c ; + unsigned int value2_c ; + unsigned int d, v, p, d_min, eq_min, eq, sum, sum2 ; + unsigned int sum_eq_min ; + unsigned int it, jt ; + + + /* mem */ + value_c = image[ i*l + j ] ; + value2_c = value_c*value_c ; + + // direction d=0 + sum = value_c ; + sum2 = value2_c ; + it = i ; + jt = j ; + for (p=0; p<3; p++) + { + it += Di_Q1[0][p] ; + jt += Dj_Q1[0][p] ; + v = image[ it*l + jt ] ; + sum += v ; + sum2 += v*v ; + } + eq_min = sum2 - sum*sum/4 ; /* *4 */ + sum_eq_min = sum ; + d_min = 0 ; + + /* direction 1 a 5 */ + for (d=1; d<6; d++) + { + sum = value_c ; + sum2 = value2_c ; + it = i ; + jt = j ; + for (p=0; p<3; p++) + { + it += Di_Q1[d][p] ; + jt += Dj_Q1[d][p] ; + v = image[it*l + jt] ; + sum += v ; + sum2 += v*v ; + } + eq = sum2 - sum*sum/4 ; /* *4 */ + if (eq < eq_min) + { + eq_min = eq ; + sum_eq_min = sum ; + d_min = d ; /* pour info */ + } + } + + /* direction 6 a 11 */ + for (d=0; d<6; d++) + { + sum = value_c ; + sum2 = value2_c ; + it = i ; + jt = j ; + for (p=0; p<3; p++) + { + it += Dj_Q1[d][p] ; + jt -= Di_Q1[d][p] ; + v = image[it*l + jt] ; + sum += v ; + sum2 += v*v ; + } + eq = sum2 - sum*sum/4 ; /* *4 */ + if (eq < eq_min) + { + eq_min = eq ; + sum_eq_min = sum ; + d_min = d+6 ; /* pour info */ + } + } + + /* direction 12 a 17 */ + for (d=0; d<6; d++) + { + sum = value_c ; + sum2 = value2_c ; + it = i ; + jt = j ; + for (p=0; p<3; p++) + { + it -= Di_Q1[d][p] ; + jt -= Dj_Q1[d][p] ; + v = image[it*l + jt] ; + sum += v ; + sum2 += v*v ; + } + eq = sum2 - sum*sum/4 ; /* *4 */ + if (eq < eq_min) + { + eq_min = eq ; + sum_eq_min = sum ; + d_min = d+12 ; /* pour info */ + } + } + + /* direction 18 a 23 */ + for (d=0; d<6; d++) + { + sum = value_c ; + sum2 = value2_c ; + it = i ; + jt = j ; + for (p=0; p<3; p++) + { + it -= Dj_Q1[d][p] ; + jt += Di_Q1[d][p] ; + v = image[it*l + jt] ; + sum += v ; + sum2 += v*v ; + } + eq = sum2 - sum*sum/4 ; /* *4 */ + if (eq < eq_min) + { + eq_min = eq ; + sum_eq_min = sum ; + d_min = d+18 ; /* pour info */ + } + } + + *dout = d_min ; + return sum_eq_min/4 ; + }; + //////////////////////////////////////////////////////////////////////////////// // GPU functions (in file.cu) diff --git a/levelines_kernels.cu b/levelines_kernels.cu index 491c600..754f3bf 100644 --- a/levelines_kernels.cu +++ b/levelines_kernels.cu @@ -6,65 +6,65 @@ __constant__ int pathDi[PSIZE_I][PSIZE_J-1] = { // Q1 - { -1, -1, -1}, // - { -1, -1, -1}, // - { -1, -1, -1}, // - { -1, -1, -1}, // - { -1, 0, 1}, // - { 0, -1, 0}, + { -1, -1, -1}, // 90 + { -1, -1, -1}, // 75 + { -1, -1, -1}, // 60 + { -1, -1, -1}, // 45 + { -1, 0, -1}, // 30 + { 0, -1, 0}, // 15 // Q4 - { 0, 0, 0}, // - { 0, 1, 1}, // - { 1, 0, 1}, // - { 1, 1, 1}, // - { 1, 1, 1}, // - { 1, 1, 1}, + { 0, 0, 0}, // 0 + { 0, 1, 0}, // 345 + { 1, 0, 1}, // 330 + { 1, 1, 1}, // 315 + { 1, 1, 1}, // 300 + { 1, 1, 1}, // 285 // Q3 - { 1, 1, 1}, // - { 1, 1, 1}, // - { 1, 1, 1}, // - { 1, 1, 1}, // - { 1, 0, -1}, // - { 0, 1, 0}, + { 1, 1, 1}, // 270 + { 1, 1, 1}, // 255 + { 1, 1, 1}, // 240 + { 1, 1, 1}, // 225 + { 1, 0, 1}, // 210 + { 0, 1, 0}, // 195 // Q2 - { 0, 0, 0}, // - { 0, -1, 0}, // - { -1, 0, -1}, // - { -1, -1, -1}, // - { -1, -1, -1}, // - { -1, -1, -1} + { 0, 0, 0}, // 180 + { 0, -1, 0}, // 165 + { -1, 0, -1}, // 150 + { -1, -1, -1}, // 135 + { -1, -1, -1}, // 120 + { -1, -1, -1} // 105 } ; // __constant__ int pathDj[PSIZE_I][PSIZE_J-1] = { // Q1 - { 0, 0, 0}, // - { 0, 1, 0}, - { 1, 0, 1}, - { 1, 1, 1}, - { 1, 1, 1}, - { 1, 1, 1}, + { 0, 0, 0}, // 90 + { 0, 1, 0}, // 75 + { 1, 0, 1}, // 60 + { 1, 1, 1}, // 45 + { 1, 1, 1}, // 30 + { 1, 1, 1}, // 15 // Q4 - { 1, 1, 1}, // - { 1, 1, 1}, - { 1, 1, 1}, - { 1, 1, 1}, - { 1, 0, -1}, - { 0, 1, 0}, - // Q3 - { 0, 0, 0}, // - { 0, -1, 0}, - { -1, 0, -1}, - { -1, -1, -1}, - { -1, -1, -1}, - { -1, -1, -1}, + { 1, 1, 1}, // 0 + { 1, 1, 1}, // 345 + { 1, 1, 1}, // 330 + { 1, 1, 1}, // 315 + { 1, 0, 1}, // 300 + { 0, 1, 0}, // 285 + // Q3 + { 0, 0, 0}, // 270 + { 0, -1, 0}, // 255 + { -1, 0, -1}, // 240 + { -1, -1, -1}, // 225 + { -1, -1, -1}, // 210 + { -1, -1, -1}, // 195 // Q2 - { -1, -1, -1}, // - { -1, -1, -1}, - { -1, -1, -1}, - { -1, -1, -1}, - { -1, 0, 1}, - { 0, -1, 0} + { -1, -1, -1}, // 180 + { -1, -1, -1}, // 165 + { -1, -1, -1}, // 150 + { -1, -1, -1}, // 135 + { -1, 0, -1}, // 120 + { 0, -1, 0} // 105 } ; @@ -74,6 +74,72 @@ texture tex_img_estim ; texture tex_img_lniv ; +__constant__ float tangente[] = {0.000, 0.268, 0.577, 1.000} ; + +__global__ void kernel_calcul_paths( int2 * d_paths, unsigned int r){ + + unsigned int idpath = 0 ; + int ic, jc, iprec, jprec ; + float offset = 0.5 ; + unsigned int basepath = 0 ; + + // Q1 inf + for (int a=0 ; a< 4 ; a++){ // les 4 angles 0,15,30 et 45 + for (int p=0 ; p< r ; p++){ // les r points + ic = r-1 - floor(tangente[a]*p + offset) ; + if ( p > 0 ){ + d_paths[idpath*(r-1)+p-1].x = ic - iprec ; + d_paths[idpath*(r-1)+p-1].y = 1 ; + } + iprec = ic ; + } + idpath++ ; + } + // Q1 sup + for (int a=2 ; a>0 ; a--){ // les 2 angles 60 et 75 + for (int p=0 ; p< r ; p++){ // les r points + jc = floor(tangente[a]*p + offset) ; + if ( p > 0 ){ + d_paths[idpath*(r-1)+p-1].x = -1 ; + d_paths[idpath*(r-1)+p-1].y = jc - jprec ; + } + jprec = jc ; + } + idpath++ ; + } + + // Q2 + basepath += 6 ; + for (int a=0 ; a< 6 ; a++){ // les 6 angles 90,105,120,135,150,165 + for (int p=0 ; plpath)&&(ilpath)&&(j=lpath )&&( i<= (H-lpath) )&&( j>=lpath )&&( j<=(L-lpath) ) ){ for( idpath=0; idpath < PSIZE_I ; idpath++) { ic = i ; jc = j ; @@ -225,7 +302,7 @@ __global__ void kernel_levelines_texture(unsigned int * img_out, unsigned int L, } // critere de selection du chemin ( SUM_(X2) - SUM_(X)2 / lpath ) // a ameliorer pour vitesse - mse_cur = ( mse.y - ( mse.x / lpath ) * mse.x ) ; + mse_cur = ( mse.y - ( mse.x*mse.x / lpath ) ) ; if (idpath == 0) { mse_min = mse_cur ; val = mse.x ; @@ -238,56 +315,61 @@ __global__ void kernel_levelines_texture(unsigned int * img_out, unsigned int L, } img_out[ i*L + j ] = val / lpath ; } + else img_out[ i*L + j ] = 0 ; } - - -__global__ void kernel_levelines_only_texture(unsigned int * img_out, unsigned int L, unsigned int H) +__global__ void kernel_dir_levelines_texture(unsigned int * dir, unsigned int L, unsigned int H) { // coordonnes du point dans l'image unsigned int i = blockIdx.x*blockDim.x + threadIdx.x; - unsigned int j = blockIdx.y*blockDim.y + threadIdx.y;; + unsigned int j = blockIdx.y*blockDim.y + threadIdx.y; //unsigned int spos = threadIdx.x * blockDim.y + threadIdx.y ; // nb de points par chemin int lpath = PSIZE_J ; - unsigned int ic, jc ; + unsigned int ic, jc, zc ; int idpath, idpix ; - unsigned int mse_min, mse_cur ; - - //extern __shared__ uint2 mse[] ; + unsigned int mse_min, mse_cur, val ; uint2 mse ; - if((i>lpath)&&(ilpath)&&(j=lpath )&&( i<= (H-lpath) )&&( j>=lpath )&&( j<=(L-lpath) ) ){ for( idpath=0; idpath < PSIZE_I ; idpath++) { ic = i ; jc = j ; - mse.x = tex2D(tex_img_in, i, j) ; - mse.y = tex2D(tex_img_in, i, j)*tex2D(tex_img_in, i, j) ; + zc = tex2D(tex_img_estim, j, i) ; + mse.x = zc ; + mse.y = zc*zc ; for( idpix=0; idpix < lpath-1 ; idpix++ ) { ic += pathDi[idpath][idpix] ; jc += pathDj[idpath][idpix] ; - mse.x += tex2D( tex_img_in, ic, jc ) ; - mse.y += tex2D( tex_img_in, ic, jc ) * tex2D( tex_img_in, ic, jc ) ; + zc = tex2D(tex_img_estim, jc, ic) ; + mse.x += zc ; + mse.y += zc*zc ; } // critere de selection du chemin ( SUM_(X2) - SUM_(X)2 / lpath ) // a ameliorer pour vitesse - mse_cur = ( mse.y - ( mse.x / lpath ) * mse.x ) ; - if (idpath > 0) { + mse_cur = ( mse.y - ( mse.x*mse.x / lpath ) ) ; + if (idpath == 0) { + mse_min = mse_cur ; + val = idpath ; + } else { if ( mse_cur < mse_min ) { mse_min = mse_cur ; + val = idpath ; } - } else { - mse_min = mse_cur ; - } + } } - img_out[ i*L + j ] = mse_min / lpath ; + dir[ i*L + j ] = val ; } + } -__global__ void kernel_trace_levelines(unsigned int * img_in, unsigned int * dir, unsigned int * img_out, + + +__global__ void kernel_trace_levelines_texture(unsigned int * dir, unsigned int * img_out, unsigned int L, unsigned int H, unsigned int pas, unsigned int ng){ // coordonnes du point dans l'image unsigned int i = blockIdx.x*blockDim.x + threadIdx.x; @@ -298,9 +380,9 @@ __global__ void kernel_trace_levelines(unsigned int * img_in, unsigned int * dir unsigned int ic, jc, idpix ; unsigned int idpath ; - img_out[ i*L + j ] = img_in[ i*L + j ] ; + img_out[ i*L + j ] = tex2D(tex_img_estim, j, i ) ; - if ( !(i%pas+j%pas)&&(i>lpath)&&(ilpath)&&(j=lpath)&&(i<=H-lpath)&&(j>=lpath)&&(j<=L-lpath) ){ ic = i ; jc = j ; idpath = dir[ic*L+jc] ; diff --git a/main.cu b/main.cu index d9db4f8..b2c1681 100644 --- a/main.cu +++ b/main.cu @@ -16,181 +16,232 @@ #include "levelines_kernels.cu" +const float tang[] = {0, 0.268, 0.577, 1} ; -__global__ void kernel_debil(unsigned int * ptr1, unsigned int * ptr2, unsigned int L, int val){ - - unsigned int i = blockIdx.x*blockDim.x + threadIdx.x; - unsigned int j = blockIdx.y*blockDim.y + threadIdx.y; - unsigned int pos = i*L +j ; - ptr2[pos] = val - ptr1[pos] ; +void genPaths(unsigned int *h_paths, int *p_i, int *p_j, unsigned int r ){ + unsigned int idpath = 0 ; + int ic, jc ; + float offset = 0.5 ; + + // Q1 inf + for (int a=0 ; a< 4 ; a++){ // les 4 angles 0,15,30 et 45 + for (int p=0 ; p< r ; p++){ // les r points + jc = p ; + ic = r-1 - floor(tang[a]*p + offset) ; + h_paths[ idpath*r*r + ic*r + jc ] = 255 ; + if ( p > 0 ){ + p_i[idpath*(r-1)+p-1] = ic ; + p_j[idpath*(r-1)+p-1] = jc ; + } + } + idpath++ ; + } + // Q1 sup + for (int a=2 ; a>0 ; a--){ // les 2 angles 60 et 75 + for (int p=0 ; p< r ; p++){ // les r points + ic = r-1 - p ; + jc = floor(tang[a]*p + offset) ; + h_paths[ idpath*r*r + ic*r + jc ] = 255 ; + if ( p > 0 ){ + p_i[idpath*(r-1)+p-1] = ic ; + p_j[idpath*(r-1)+p-1] = jc ; + } + } + idpath++ ; + } + + // Q2 inf + for (int a=0 ; a< 4 ; a++){ // les 4 angles 90,105,130 et 145 + for (int p=0 ; p< r ; p++){ // les r points + ic = r-1 - p ; + jc = r-1 - floor(tang[a]*p + offset) ; + h_paths[ idpath*r*r + ic*r + jc ] = 255 ; + if ( p > 0 ){ + p_i[idpath*(r-1)+p-1] = ic ; + p_j[idpath*(r-1)+p-1] = jc ; + } + } + idpath++ ; + } + // Q2 sup + for (int a=2 ; a>0 ; a--){ // les 2 angles 60 et 75 + for (int p=0 ; p< r ; p++){ // les r points + jc = r-1 - p ; + ic = r-1 - floor(tang[a]*p + offset) ; + h_paths[ idpath*r*r + ic*r + jc ] = 255 ; + if ( p > 0 ){ + p_i[idpath*(r-1)+p-1] = ic ; + p_j[idpath*(r-1)+p-1] = jc ; + } + } + idpath++ ; + } + + + // Q3 inf + for (int a=0 ; a< 4 ; a++){ // les 4 angles 90,105,130 et 145 + for (int p=0 ; p< r ; p++){ // les r points + jc = r-1 - p ; + ic = floor(tang[a]*p + offset) ; + h_paths[ idpath*r*r + ic*r + jc ] = 255 ; + if ( p > 0 ){ + p_i[idpath*(r-1)+p-1] = ic ; + p_j[idpath*(r-1)+p-1] = jc ; + } + } + idpath++ ; + } + // Q3 sup + for (int a=2 ; a>0 ; a--){ // les 2 angles 60 et 75 + for (int p=0 ; p< r ; p++){ // les r points + ic = p ; + jc = r-1 - floor(tang[a]*p + offset) ; + h_paths[ idpath*r*r + ic*r + jc ] = 255 ; + if ( p > 0 ){ + p_i[idpath*(r-1)+p-1] = ic ; + p_j[idpath*(r-1)+p-1] = jc ; + } + } + idpath++ ; + } + + + // Q4 inf + for (int a=0 ; a< 4 ; a++){ // les 4 angles 90,105,130 et 145 + for (int p=0 ; p< r ; p++){ // les r points + ic = p ; + jc = floor(tang[a]*p + offset) ; + h_paths[ idpath*r*r + ic*r + jc ] = 255 ; + if ( p > 0 ){ + p_i[idpath*(r-1)+p-1] = ic ; + p_j[idpath*(r-1)+p-1] = jc ; + } + } + idpath++ ; + } + // Q4 sup + for (int a=2 ; a>0 ; a--){ // les 2 angles 60 et 75 + for (int p=0 ; p< r ; p++){ // les r points + jc = p ; + ic = floor(tang[a]*p + offset) ; + h_paths[ idpath*r*r + ic*r + jc ] = 255 ; + if ( p > 0 ){ + p_i[idpath*(r-1)+p-1] = ic ; + p_j[idpath*(r-1)+p-1] = jc ; + } + } + idpath++ ; + } } -int main(int argc, char **argv){ +int main(int argc, char **argv){ - //float coef_regul = atof( argv[1] ) ; - + // use device with highest Gflops/s + cudaSetDevice( cutGetMaxGflopsDeviceId() ); unsigned int timer ; cutilCheckError( cutCreateTimer(&timer) ); cutilCheckError( cutResetTimer(timer) ); - /***************************** - * CHARGEMENT IMAGE - *****************************/ - char* image_path = argv[argc-1]; - char* image_out = "./image_out.pgm" ; - unsigned int * h_data = NULL ; - unsigned int * h_data_out = NULL ; - unsigned int H, L, size; - cutilCheckError( cutStartTimer(timer) ); - cutilCheckError( cutLoadPGMi(image_path, &h_data, &L, &H)); - cutilCheckError( cutStopTimer(timer) ); + // une alloc debile pour initialiser la carte GPU + int * d_void ; + cutilSafeCall( cudaMalloc( (void**) &d_void, 4)) ; - size = H * L * sizeof( unsigned int ); - printf("Loaded %d x %d = %d pixels from '%s' en %f ms,\n", L, H, size, image_path, cutGetTimerValue(timer)); - + + + /********************************* + * DEFINITION PARAMS CHEMINS + *********************************/ + char* image_out = "./image_out.pgm" ; + int *p_i, *p_j ; + int2 * d_paths ; + unsigned int * h_paths ; + unsigned int R = atoi(argv[1]); + + + //unsigned int size = R * R * sizeof( unsigned int ); - //essai alloc mapped - /* - cutilCheckError( cutResetTimer(timer) ); - cutilCheckError( cutStartTimer(timer) ); - unsigned int * h_ptr1, * d_ptr1 ; - unsigned int * h_ptr2, * d_ptr2 ; - int h = ; - int l = h ; - int mem = h*l*sizeof(unsigned int) ; - cutilSafeCall(cudaSetDeviceFlags(cudaDeviceMapHost)); - cutilCheckError( cutStopTimer(timer) ); - printf("Temps set flag Mapped : %f ms\n", cutGetTimerValue(timer)) ; - cutilCheckError( cutStartTimer(timer) ); - cutilSafeCall(cudaHostAlloc((void **)&h_ptr1, mem, cudaHostAllocMapped)); - cutilSafeCall(cudaHostAlloc((void **)&h_ptr2, mem, cudaHostAllocMapped)); - cutilCheckError( cutStopTimer(timer) ); - printf("Temps cumul alloc Mapped : %f ms\n", cutGetTimerValue(timer)) ; + // allocation mem + int memsize = 24*(R-1)*sizeof(int2) ; + cutilSafeCall( cudaMalloc( (void**) &d_paths, memsize ) ); - for (int i = 0; i>>(d_ptr1, d_ptr2, l, 255) ; + for (int j=0; j<24*R*R ; j++) h_paths[j] = 0 ; - cutilCheckError( cutStopTimer(timer) ); - printf("Temps total Mapped : %f ms\n", cutGetTimerValue(timer)) ; + genPaths(h_paths, p_i, p_j, R) ; + + printf("Rayon : %d pixels \n", R) ; + + //matrice p_i + printf("P_I\n"); + for (int idpath=0; idpath < 24; idpath++){ + printf("\n"); + for (int idpix=0; idpix < R-1; idpix++){ + printf(" %d ", p_i[idpath*(R-1)+idpix]); + } + } + //matrice p_j + printf("\nP_J\n"); + for (int idpath=0; idpath < 24; idpath++){ + printf("\n"); + for (int idpix=0; idpix < R-1; idpix++){ + printf(" %d ", p_j[idpath*(R-1)+idpix]); + } + } - char * image_1 = "./image_1.pgm" ; - char * image_2 = "./image_2.pgm" ; - cutilCheckError( cutSavePGMi(image_1, h_ptr1, l, h) ) ; - cutilCheckError( cutSavePGMi(image_2, h_ptr2, l, h) ) ; - */ /***************************** - * FIN CHARGEMENT IMAGE + * APPELS KERNELS et chronos *****************************/ + dim3 dimBlock( 1, 1, 1 ) ; + dim3 dimGrid( 1, 1, 1 ) ; + + kernel_calcul_paths<<< dimGrid, dimBlock, 0 >>>(d_paths, R) ; - - // use device with highest Gflops/s - cudaSetDevice( cutGetMaxGflopsDeviceId() ); - + printf("\nGrille : %d x %d de Blocs : %d x %d \n", dimGrid.x, dimGrid.y, dimBlock.x, dimBlock.y) ; - /* - cutilSafeCall( cudaMallocArray(&a_Src, &floatTex, imageW, imageH) ); - cutilSafeCall( cudaMalloc((void **)&d_Output, imageW * imageH * sizeof(float)) ); - cutilSafeCall( cudaThreadSynchronize() ); - cutilCheckError( cutResetTimer(hTimer) ); - cutilCheckError( cutStartTimer(hTimer) ); - - cutilSafeCall( cudaThreadSynchronize() ); - cutilCheckError( cutStopTimer(hTimer) ); - gpuTime = cutGetTimerValue(hTimer) / (float)iterations; - */ - - cutilCheckError( cutResetTimer(timer) ); - cutilCheckError( cutStartTimer(timer) ); - // allocation mem GPU - unsigned int * d_directions =NULL ; - unsigned int * d_lniv, * d_estim = NULL ; - - cutilSafeCall( cudaMalloc( (void**) &d_directions, size)) ; - cutilSafeCall( cudaMalloc( (void**) &d_lniv, size ) ); - cutilSafeCall( cudaMalloc( (void**) &d_estim, size ) ); + + /************************** + * VERIFS + **************************/ + int2 * paths = new int2[24*(R-1)] ; + cutilSafeCall( cudaMemcpy(paths , d_paths, memsize, cudaMemcpyDeviceToHost) ); - // allocate array and copy image data - cudaChannelFormatDesc channelDesc = cudaCreateChannelDesc(32, 0, 0, 0, cudaChannelFormatKindUnsigned); - cudaArray * array_img_in, *array_img_estim, *array_img_lniv; - cutilSafeCall( cudaMallocArray( &array_img_in, &channelDesc, L, H )); - cutilSafeCall( cudaMemcpyToArray( array_img_in, 0, 0, h_data, size, cudaMemcpyHostToDevice)) ; - cutilSafeCall( cudaBindTextureToArray( tex_img_in, array_img_in, channelDesc)); - cutilCheckError( cutStopTimer(timer) ); - - cutilSafeCall( cudaMallocArray( &array_img_estim, &channelDesc, L, H )); - cutilSafeCall( cudaBindTextureToArray( tex_img_estim, array_img_estim, channelDesc)); - - cutilSafeCall( cudaMallocArray( &array_img_lniv, &channelDesc, L, H )); - cutilSafeCall( cudaBindTextureToArray( tex_img_lniv, array_img_lniv, channelDesc)); + //matrice p_i + printf("P_I\n"); + for (int idpath=0; idpath < 24; idpath++){ + printf("\n"); + for (int idpix=0; idpix < R-1; idpix++){ + printf(" %d ", paths[idpath*(R-1)+idpix].x); + } + printf("\t // %d", 15*idpath); + } + //matrice p_j + printf("\nP_J\n"); + for (int idpath=0; idpath < 24; idpath++){ + printf("\n"); + for (int idpix=0; idpix < R-1; idpix++){ + printf(" %d ", paths[idpath*(R-1)+idpix].y); + } + printf("\t // %d", 15*idpath); + } - printf("Temps alloc + transferts en Textures : %f ms\n", cutGetTimerValue(timer)) ; - /***************************** - * APPELS KERNELS et chronos - *****************************/ - cutilCheckError( cutResetTimer(timer) ); - cutilCheckError( cutStartTimer(timer) ); + printf("\n"); - unsigned int iter , nb_iter = 15 ; - unsigned int poids = 15 ; - dim3 dimBlock(8,8,1) ; - dim3 dimGrid( H / dimBlock.x, L / dimBlock.y, 1 ) ; - unsigned int smem_size = dimBlock.x * dimBlock.y * sizeof(unsigned int) ; - // init image estimee avec image_in - kernel_init_estim_from_img_in<<< dimGrid, dimBlock, 0 >>>(d_estim, L, H, 7); - - printf("Grille : %d x %d de Blocs : %d x %d - Shared mem : %d octets\n", dimGrid.x, dimGrid.y, dimBlock.x, dimBlock.y, smem_size) ; - - for ( iter =0 ; iter < nb_iter ; iter++ ) - { - cutilSafeCall( cudaMemcpyToArray( array_img_estim, 0, 0, d_estim, size, cudaMemcpyDeviceToDevice)) ; - kernel_levelines_texture<<< dimGrid, dimBlock, 0 >>>( d_lniv, L, H ); - cutilSafeCall( cudaMemcpyToArray( array_img_lniv, 0, 0, d_lniv, size, cudaMemcpyDeviceToDevice)) ; - kernel_estim_next_step_texture<<< dimGrid, dimBlock, 0 >>>(d_estim, L, H, poids) ; - } - - cudaThreadSynchronize(); - - cutilCheckError( cutStopTimer(timer) ); - printf("Execution moy par kernel : %f ms\n", cutGetTimerValue(timer)/(float)nb_iter) ; - printf("Total pour %d kernels : %f ms\n", nb_iter, cutGetTimerValue(timer)) ; - - /************************** - * VERIFS - **************************/ - //trace des lniv sur grille de 'pas x pas' - //kernel_trace_levelines<<< dimGrid, dimBlock, 0 >>>(d_data, d_directions, d_data2, L, H, 16, 255) ; - //cudaThreadSynchronize(); - - // enregistrement image lniv GPU - h_data_out = new unsigned int[H*L] ; - if ( h_data_out != NULL) - cutilSafeCall( cudaMemcpy(h_data_out , d_estim, size, cudaMemcpyDeviceToHost) ); - else - printf("Echec allocation mem CPU\n"); - - cutilCheckError( cutSavePGMi(image_out, h_data_out, L, H) ) ; - - // calcul lniv CPU - - + // enregistrement image des PATHS + //cutilSafeCall( cudaMemcpy(h_paths , d_paths, size, cudaMemcpyDeviceToHost) ); + + cutilCheckError( cutSavePGMi(image_out, h_paths, R, 24*R) ) ; + // TODO verifier pourquoi les deux lignes suivantes produisent une erreur //cutilExit(argc, argv); //cudaThreadExit(); diff --git a/obj/release/main_gmem.cu.o b/obj/release/main_gmem.cu.o new file mode 100644 index 0000000000000000000000000000000000000000..264c1c6b343549e7fdb0097b1c25d57dba196bb5 GIT binary patch literal 85808 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 E2NLl-&Hw-a literal 0 HcmV?d00001 -- 2.39.5