From 2b4210bf1d2e0ca7164342eb38a1885455193d24 Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Fri, 30 Mar 2018 19:23:11 +0900 Subject: [PATCH 01/73] Optimized version or URAM usage, still in development. --- examples/remap/xf_config_params.h | 1 + examples/remap/xf_remap_accel.cpp | 2 +- include/imgproc/xf_remap.hpp | 99 ++++++++++++++++++++++++++----- 3 files changed, 85 insertions(+), 17 deletions(-) diff --git a/examples/remap/xf_config_params.h b/examples/remap/xf_config_params.h index 801d559..da08235 100644 --- a/examples/remap/xf_config_params.h +++ b/examples/remap/xf_config_params.h @@ -4,3 +4,4 @@ // The type of interpolation, define "XF_REMAP_INTERPOLATION" as either "XF_INTERPOLATION_NN" or "XF_INTERPOLATION_BILINEAR" #define XF_REMAP_INTERPOLATION XF_INTERPOLATION_BILINEAR +#define XF_USE_URAM false diff --git a/examples/remap/xf_remap_accel.cpp b/examples/remap/xf_remap_accel.cpp index 6f227cb..f739de6 100644 --- a/examples/remap/xf_remap_accel.cpp +++ b/examples/remap/xf_remap_accel.cpp @@ -32,6 +32,6 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. void remap_accel(xf::Mat &inMat, xf::Mat &remappedMat, xf::Mat &mapxMat, xf::Mat &mapyMat, int interpolation) { - xf::remap(inMat,remappedMat,mapxMat,mapyMat,interpolation); + xf::remap(inMat,remappedMat,mapxMat,mapyMat,interpolation); } diff --git a/include/imgproc/xf_remap.hpp b/include/imgproc/xf_remap.hpp index bc18187..b60e088 100644 --- a/include/imgproc/xf_remap.hpp +++ b/include/imgproc/xf_remap.hpp @@ -44,7 +44,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. namespace xf{ -template +template void xFRemapNNI( hls::stream< SRC_T > &src, hls::stream< DST_T > &dst, @@ -54,9 +54,15 @@ void xFRemapNNI( ) { DST_T buf[WIN_ROW][COLS]; -#pragma HLS ARRAY_PARTITION variable=buf complete dim=1 +//#pragma HLS ARRAY_PARTITION variable=buf complete dim=1 SRC_T s; + + ap_uint<64> bufUram[WIN_ROW][(COLS+7)/8]; +#pragma HLS RESOURCE variable=bufUram core=XPM_MEMORY uram + SRC_T sx8[8]; +#pragma HLS ARRAY_PARTITION variable=sx8 complete + DST_T d; MAP_T mx_fl; MAP_T my_fl; @@ -72,12 +78,19 @@ void xFRemapNNI( loop_width: for( int j=0; j< cols; j++) { #pragma HLS PIPELINE II=1 -#pragma HLS dependence array inter false +#pragma HLS dependence variable=buf inter false +#pragma HLS dependence variable=bufUram inter false +#pragma HLS dependence variable=r inter false if(i> sx8[j%8]; + for (int k=0; k<8; k++) bufUram[i % WIN_ROW][j/8](k*8+7,k*8) = sx8[k]; + } else { src >> s; + buf[i % WIN_ROW][j] = s; + } } - buf[i % WIN_ROW][j] = s; r[i % WIN_ROW] = i; if(i>=ishift) @@ -89,6 +102,9 @@ void xFRemapNNI( bool in_range = (y>=0 && y=0 && x +template void xFRemapLI( hls::stream< SRC_T > &src, hls::stream< DST_T > &dst, @@ -115,6 +131,14 @@ void xFRemapLI( #pragma HLS array_partition complete variable=buf dim=2 #pragma HLS array_partition complete variable=buf dim=4 SRC_T s; + + //URAM storage garnularity is 3x3-pel block in 2x2-pel picture grid, it fits to one URAM word + ap_uint<72> bufUram[(WIN_ROW+1)/2][(COLS+1)/2]; +#pragma HLS RESOURCE variable=bufUram core=XPM_MEMORY uram + DST_T lineBuf[COLS]; //addtitional cashing as VHLS doesn't support URAM Byte Enables + SRC_T sx9[9]; +#pragma HLS ARRAY_PARTITION variable=sx9 complete + MAP_T mx; MAP_T my; @@ -130,15 +154,46 @@ void xFRemapLI( loop_width: for( int j=0; j< cols; j++) { #pragma HLS PIPELINE II=1 -#pragma HLS dependence array inter false +#pragma HLS dependence variable=buf inter false +#pragma HLS dependence variable=bufUram inter false +#pragma HLS dependence variable=sx9 inter false +#pragma HLS dependence variable=r1 inter false +#pragma HLS dependence variable=r2 inter false if(i0 && (j/2)>0) for (int k=0; k<9; k++) bufUram[(i/2-1)%(WIN_ROW/2)][j/2-1](k*8+7,k*8) = sx9[k]; + } else { // odd col + SRC_T const s6 = sx9[8]; + if ((i/2)>0) for (int k=0; k<9; k++) sx9[k] = bufUram[(i/2-1)%(WIN_ROW/2)][j/2](k*8+7,k*8); + sx9[6] = s6; + sx9[7] = src.read(); + lineBuf[j] = sx9[7]; + } + } else { // odd row, togeher with fetched from line buffer 1st row of 3x3 block is stored to URAM + if (!(j%2)) { // even col + sx9[2] = lineBuf[j]; + sx9[5] = src.read(); + if ((j/2)>0) for (int k=0; k<9; k++) bufUram[(i/2)%(WIN_ROW/2)][j/2-1](k*8+7,k*8) = sx9[k]; + } else { // odd col + sx9[0] = sx9[2]; + sx9[1] = lineBuf[j]; + sx9[3] = sx9[5]; + sx9[4] = src.read(); + //if (j==(cols-1)) //this save is needed only at last column but may done every time + for (int k=0; k<9; k++) bufUram[(i/2)%(WIN_ROW/2)][j/2](k*8+7,k*8) = sx9[k]; + } + } + } else { //for BRAM src >> s; - } - if((i % WIN_ROW) % 2) { - buf[(i % WIN_ROW)/2][(i % WIN_ROW) % 2][j/2][j%2] = s; - } else { - buf[(i % WIN_ROW)/2][(i % WIN_ROW) % 2][j/2][j%2] = s; + if((i % WIN_ROW) % 2) + buf[(i % WIN_ROW)/2][(i % WIN_ROW) % 2][j/2][j%2] = s; + else buf[(i % WIN_ROW)/2][(i % WIN_ROW) % 2][j/2][j%2] = s; + } } r1[i % WIN_ROW] = i; r2[i % WIN_ROW] = i; @@ -188,6 +243,17 @@ void xFRemapLI( ya1 = (y/2)%(WIN_ROW/2); DST_T d00, d01, d10, d11; + + DST_T d3x3[9]; +#pragma HLS ARRAY_PARTITION variable=d3x3 complete + for (int k=0; k<9; k++) d3x3[k] = bufUram[ya1][xa1](k*8+7,k*8); + + if (USE_URAM) { + d00 = d3x3[(y%2 )*3 + x%2 ]; + d01 = d3x3[(y%2 )*3 + x%2+1]; + d10 = d3x3[(y%2+1)*3 + x%2 ]; + d11 = d3x3[(y%2+1)*3 + x%2+1]; + } else { d00=buf[ya0][0][xa0][0]; d01=buf[ya0][0][xa1][1]; d10=buf[ya1][1][xa0][0]; @@ -201,6 +267,7 @@ void xFRemapLI( std::swap(d00,d10); std::swap(d01,d11); } + } ap_ufixed<2*HLS_INTER_BITS + 1, 1> k01 = (1-iv)*( iu); // iu-iu*iv ap_ufixed<2*HLS_INTER_BITS + 1, 1> k10 = ( iv)*(1-iu); // iv-iu*iv ap_ufixed<2*HLS_INTER_BITS + 1, 1> k11 = ( iv)*( iu); // iu*iv @@ -220,7 +287,7 @@ void xFRemapLI( } } -template +template void xFRemapKernel( hls::stream< SRC_T > &src, hls::stream< DST_T > &dst, @@ -231,9 +298,9 @@ void xFRemapKernel( ) { if(interpolation == XF_INTERPOLATION_NN) { - xFRemapNNI(src, dst, mapx, mapy,rows,cols); + xFRemapNNI(src, dst, mapx, mapy,rows,cols); } else if(interpolation == XF_INTERPOLATION_BILINEAR) { - xFRemapLI(src, dst, mapx, mapy,rows,cols); + xFRemapLI(src, dst, mapx, mapy,rows,cols); } } @@ -241,7 +308,7 @@ void xFRemapKernel( #pragma SDS data mem_attribute("_src_mat.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS,"_remapped_mat.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS,"_mapx_mat.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS,"_mapy_mat.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS) #pragma SDS data access_pattern("_src_mat.data":SEQUENTIAL,"_remapped_mat.data":SEQUENTIAL,"_mapx_mat.data":SEQUENTIAL,"_mapy_mat.data":SEQUENTIAL) #pragma SDS data copy("_src_mat.data"[0:"_src_mat.rows*_src_mat.cols"], "_remapped_mat.data"[0:"_remapped_mat.size"],"_mapx_mat.data"[0:"_mapx_mat.size"],"_mapy_mat.data"[0:"_mapy_mat.size"]) -template +template void remap (xf::Mat &_src_mat, xf::Mat &_remapped_mat, xf::Mat &_mapx_mat, xf::Mat &_mapy_mat, int interpolation=XF_INTERPOLATION_NN) { @@ -289,7 +356,7 @@ void remap (xf::Mat &_src_mat, xf::Mat (_src, _remapped, _mapx, _mapy, interpolation, rows, cols); + xFRemapKernel (_src, _remapped, _mapx, _mapy, interpolation, rows, cols); xfremap_output_loop: for (int i = 0; i < loop_count; i++) From 53d81f49a5ec7e15a926996787f73c1ffc071e1f Mon Sep 17 00:00:00 2001 From: Igor Kostarnov Date: Mon, 2 Apr 2018 10:32:40 +0900 Subject: [PATCH 02/73] Create README.md --- aws_demo/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 aws_demo/README.md diff --git a/aws_demo/README.md b/aws_demo/README.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/aws_demo/README.md @@ -0,0 +1 @@ + From a05f34fb85f589ff38eef432589467bbd0bdfa41 Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Wed, 11 Apr 2018 11:35:22 +0900 Subject: [PATCH 03/73] No mismatches in URAM version vs BRAM version using fractional remap in c-sim and co-sim. II=1. --- include/imgproc/xf_remap.hpp | 126 ++++++++++++++++++++--------------- 1 file changed, 73 insertions(+), 53 deletions(-) diff --git a/include/imgproc/xf_remap.hpp b/include/imgproc/xf_remap.hpp index b60e088..c37a77b 100644 --- a/include/imgproc/xf_remap.hpp +++ b/include/imgproc/xf_remap.hpp @@ -54,14 +54,14 @@ void xFRemapNNI( ) { DST_T buf[WIN_ROW][COLS]; -//#pragma HLS ARRAY_PARTITION variable=buf complete dim=1 +#pragma HLS ARRAY_PARTITION variable=buf complete dim=1 SRC_T s; ap_uint<64> bufUram[WIN_ROW][(COLS+7)/8]; #pragma HLS RESOURCE variable=bufUram core=XPM_MEMORY uram SRC_T sx8[8]; -#pragma HLS ARRAY_PARTITION variable=sx8 complete +#pragma HLS ARRAY_PARTITION variable=sx8 complete dim=1 DST_T d; MAP_T mx_fl; @@ -80,17 +80,19 @@ void xFRemapNNI( #pragma HLS PIPELINE II=1 #pragma HLS dependence variable=buf inter false #pragma HLS dependence variable=bufUram inter false -#pragma HLS dependence variable=r inter false +#pragma HLS dependence variable=r inter false if(i> sx8[j%8]; - for (int k=0; k<8; k++) bufUram[i % WIN_ROW][j/8](k*8+7,k*8) = sx8[k]; - } else { src >> s; - buf[i % WIN_ROW][j] = s; - } + + if (USE_URAM) { + sx8[j%8] = s; + for (int k=0; k<8; k++) bufUram[i % WIN_ROW][j/8](k*8+7,k*8) = sx8[k]; + } } + + if (!USE_URAM) + buf[i % WIN_ROW][j] = s; r[i % WIN_ROW] = i; if(i>=ishift) @@ -127,17 +129,19 @@ void xFRemapLI( ) { // Add one to always get zero for boundary interpolation. Maybe need initialization here? - DST_T buf[WIN_ROW/2+1][2][COLS/2+1][2]; + static DST_T buf[WIN_ROW/2+1][2][COLS/2+1][2]; //AK,ZoTech: static added for initialization, otherwise X are generated in co-sim. #pragma HLS array_partition complete variable=buf dim=2 #pragma HLS array_partition complete variable=buf dim=4 SRC_T s; - - //URAM storage garnularity is 3x3-pel block in 2x2-pel picture grid, it fits to one URAM word - ap_uint<72> bufUram[(WIN_ROW+1)/2][(COLS+1)/2]; + + //URAM storage garnularity is 3x3-pel block in 2x2-pel picture grid, it fits to one URAM word + ap_uint<72> bufUram[(WIN_ROW+1)/2][(COLS+1)/2]; #pragma HLS RESOURCE variable=bufUram core=XPM_MEMORY uram - DST_T lineBuf[COLS]; //addtitional cashing as VHLS doesn't support URAM Byte Enables - SRC_T sx9[9]; -#pragma HLS ARRAY_PARTITION variable=sx9 complete + SRC_T lineBuf[COLS]; //addtitional cashing as VHLS doesn't support URAM Byte Enables + SRC_T s3x3[2][9]; //URAM-wide word is doubled to resolve pipelining read/write dependency +#pragma HLS ARRAY_PARTITION complete variable=s3x3 dim=0 + SRC_T s3x3_2[9]; + SRC_T s0,s3; MAP_T mx; MAP_T my; @@ -151,54 +155,71 @@ void xFRemapLI( loop_height: for( int i=0; i< rows+ishift; i++) { #pragma HLS LOOP_FLATTEN OFF - loop_width: for( int j=0; j< cols; j++) + loop_width: for( int j=0; j< cols+3; j++) { #pragma HLS PIPELINE II=1 #pragma HLS dependence variable=buf inter false #pragma HLS dependence variable=bufUram inter false -#pragma HLS dependence variable=sx9 inter false +#pragma HLS dependence variable=s3x3 inter false RAW #pragma HLS dependence variable=r1 inter false #pragma HLS dependence variable=r2 inter false if(i0 && (j/2)>0) for (int k=0; k<9; k++) bufUram[(i/2-1)%(WIN_ROW/2)][j/2-1](k*8+7,k*8) = sx9[k]; - } else { // odd col - SRC_T const s6 = sx9[8]; - if ((i/2)>0) for (int k=0; k<9; k++) sx9[k] = bufUram[(i/2-1)%(WIN_ROW/2)][j/2](k*8+7,k*8); - sx9[6] = s6; - sx9[7] = src.read(); - lineBuf[j] = sx9[7]; - } - } else { // odd row, togeher with fetched from line buffer 1st row of 3x3 block is stored to URAM - if (!(j%2)) { // even col - sx9[2] = lineBuf[j]; - sx9[5] = src.read(); - if ((j/2)>0) for (int k=0; k<9; k++) bufUram[(i/2)%(WIN_ROW/2)][j/2-1](k*8+7,k*8) = sx9[k]; - } else { // odd col - sx9[0] = sx9[2]; - sx9[1] = lineBuf[j]; - sx9[3] = sx9[5]; - sx9[4] = src.read(); - //if (j==(cols-1)) //this save is needed only at last column but may done every time - for (int k=0; k<9; k++) bufUram[(i/2)%(WIN_ROW/2)][j/2](k*8+7,k*8) = sx9[k]; - } - } - } else { //for BRAM src >> s; - if((i % WIN_ROW) % 2) - buf[(i % WIN_ROW)/2][(i % WIN_ROW) % 2][j/2][j%2] = s; - else buf[(i % WIN_ROW)/2][(i % WIN_ROW) % 2][j/2][j%2] = s; + } + + if (USE_URAM && i0 && (j/2)>1) for (int k=0; k<9; k++) bufUram[(i/2-1)%(WIN_ROW/2)][j/2-2](k*8+7,k*8) = s3x3[!!(j&2)][k]; + } else if (j0) { + for (int k=0; k<6; k++) s3x3[!!(j&2)][k] = bufUram[(i/2-1)%(WIN_ROW/2)][j/2](k*8+7,k*8); + s3x3[!!(j&2)][6] = s0; + s3x3[!!(j&2)][7] = s; + s3x3[!!(j&2)][8] = 0; + } + } + } else if (j0) for (int k=0; k<9; k++) bufUram[(i/2)%(WIN_ROW/2)][j/2-1](k*8+7,k*8) = s3x3_2[k]; + } else { // odd col + s3x3_2[0] = s0; + s3x3_2[1] = lineBuf[j]; + s3x3_2[3] = s3; + s3x3_2[4] = s; + + // this clearing is needed only for case of bottom zero padding (curently last(bottom-right) sample value is used) + s3x3_2[6] = 0; + s3x3_2[7] = 0; + s3x3_2[8] = 0; + //if (j==(cols-1)) { //these clearing and save is needed only at last column but may done every cycle + s3x3_2[2] = 0; + s3x3_2[5] = 0; + for (int k=0; k<9; k++) bufUram[(i/2)%(WIN_ROW/2)][j/2](k*8+7,k*8) = s3x3_2[k]; + //} + } } + } + + if (!USE_URAM && j=ishift) + if(i>=ishift && j> mx; mapy >> my; @@ -244,11 +265,10 @@ void xFRemapLI( DST_T d00, d01, d10, d11; + if (USE_URAM) { DST_T d3x3[9]; -#pragma HLS ARRAY_PARTITION variable=d3x3 complete +#pragma HLS ARRAY_PARTITION variable=d3x3 complete dim=1 for (int k=0; k<9; k++) d3x3[k] = bufUram[ya1][xa1](k*8+7,k*8); - - if (USE_URAM) { d00 = d3x3[(y%2 )*3 + x%2 ]; d01 = d3x3[(y%2 )*3 + x%2+1]; d10 = d3x3[(y%2+1)*3 + x%2 ]; From 9832de380e90c4b827d8eb46983d3e0f798a82e6 Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Wed, 11 Apr 2018 14:58:29 +0900 Subject: [PATCH 04/73] Merge from Xilinx upstream. --- examples/remap/xf_config_params.h | 2 +- include/imgproc/xf_remap.hpp | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/examples/remap/xf_config_params.h b/examples/remap/xf_config_params.h index da08235..3093eb5 100644 --- a/examples/remap/xf_config_params.h +++ b/examples/remap/xf_config_params.h @@ -4,4 +4,4 @@ // The type of interpolation, define "XF_REMAP_INTERPOLATION" as either "XF_INTERPOLATION_NN" or "XF_INTERPOLATION_BILINEAR" #define XF_REMAP_INTERPOLATION XF_INTERPOLATION_BILINEAR -#define XF_USE_URAM false +#define XF_USE_URAM true diff --git a/include/imgproc/xf_remap.hpp b/include/imgproc/xf_remap.hpp index 7131d9a..c6aff15 100644 --- a/include/imgproc/xf_remap.hpp +++ b/include/imgproc/xf_remap.hpp @@ -317,9 +317,7 @@ void xFRemapLI( } } -template -template -template +template void xFRemapKernel( hls::stream< SRC_T > &src, hls::stream< DST_T > &dst, @@ -342,7 +340,7 @@ void xFRemapKernel( //#pragma SDS data mem_attribute("_src_mat.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS,"_remapped_mat.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS,"_mapx_mat.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS,"_mapy_mat.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS) #pragma SDS data access_pattern("_src_mat.data":SEQUENTIAL,"_remapped_mat.data":SEQUENTIAL,"_mapx_mat.data":SEQUENTIAL,"_mapy_mat.data":SEQUENTIAL) #pragma SDS data copy("_src_mat.data"[0:"_src_mat.rows*_src_mat.cols"], "_remapped_mat.data"[0:"_remapped_mat.size"],"_mapx_mat.data"[0:"_mapx_mat.size"],"_mapy_mat.data"[0:"_mapy_mat.size"]) -template +template void remap (xf::Mat &_src_mat, xf::Mat &_remapped_mat, xf::Mat &_mapx_mat, xf::Mat &_mapy_mat) { From 3692da3d94ff722e8e454fd4b3b22e7c9865d174 Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Wed, 11 Apr 2018 15:47:48 +0900 Subject: [PATCH 05/73] default URAM usage parameter is set to false. --- examples/remap/xf_config_params.h | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/remap/xf_config_params.h b/examples/remap/xf_config_params.h index 3093eb5..127aa09 100644 --- a/examples/remap/xf_config_params.h +++ b/examples/remap/xf_config_params.h @@ -5,3 +5,4 @@ // The type of interpolation, define "XF_REMAP_INTERPOLATION" as either "XF_INTERPOLATION_NN" or "XF_INTERPOLATION_BILINEAR" #define XF_REMAP_INTERPOLATION XF_INTERPOLATION_BILINEAR #define XF_USE_URAM true +#define XF_USE_URAM false From 2ada0305e59b24eacf765b8e21a5b5a4787b6921 Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Wed, 11 Apr 2018 15:49:14 +0900 Subject: [PATCH 06/73] Fix: extra definition is removed. --- examples/remap/xf_config_params.h | 1 - 1 file changed, 1 deletion(-) diff --git a/examples/remap/xf_config_params.h b/examples/remap/xf_config_params.h index 127aa09..da08235 100644 --- a/examples/remap/xf_config_params.h +++ b/examples/remap/xf_config_params.h @@ -4,5 +4,4 @@ // The type of interpolation, define "XF_REMAP_INTERPOLATION" as either "XF_INTERPOLATION_NN" or "XF_INTERPOLATION_BILINEAR" #define XF_REMAP_INTERPOLATION XF_INTERPOLATION_BILINEAR -#define XF_USE_URAM true #define XF_USE_URAM false From afbab81e16d1f1e390a073935f4f3eb7a6e5a8fe Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Fri, 13 Apr 2018 17:42:47 +0900 Subject: [PATCH 07/73] xf_remap opimization: workaround added to overcome mismatch of NN filter on the board. --- include/imgproc/xf_remap.hpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/include/imgproc/xf_remap.hpp b/include/imgproc/xf_remap.hpp index c6aff15..423ba2f 100644 --- a/include/imgproc/xf_remap.hpp +++ b/include/imgproc/xf_remap.hpp @@ -58,9 +58,10 @@ void xFRemapNNI( SRC_T s; - ap_uint<64> bufUram[WIN_ROW][(COLS+7)/8]; + // the width is one byte wider than needed to overcome URAM implementation issue + ap_uint<72> bufUram[WIN_ROW][(COLS+7)/8]; #pragma HLS RESOURCE variable=bufUram core=XPM_MEMORY uram - SRC_T sx8[8]; + SRC_T sx8[9] = {0}; #pragma HLS ARRAY_PARTITION variable=sx8 complete dim=1 DST_T d; @@ -92,7 +93,7 @@ void xFRemapNNI( if (USE_URAM) { sx8[j%8] = s; - for (int k=0; k<8; k++) bufUram[i % WIN_ROW][j/8](k*8+7,k*8) = sx8[k]; + for (int k=0; k<9; k++) bufUram[i % WIN_ROW][j/8](k*8+7,k*8) = sx8[k]; } } @@ -108,10 +109,14 @@ void xFRemapNNI( int y = (int)my_fl; bool in_range = (y>=0 && y=0 && x Date: Mon, 16 Apr 2018 09:57:36 +0900 Subject: [PATCH 08/73] xf_remap opimizaion :simpler workaround to overcome incorrect RTL synthesis of URAM reading (checked via board implementation). --- include/imgproc/xf_remap.hpp | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/include/imgproc/xf_remap.hpp b/include/imgproc/xf_remap.hpp index 423ba2f..f703ee5 100644 --- a/include/imgproc/xf_remap.hpp +++ b/include/imgproc/xf_remap.hpp @@ -58,10 +58,9 @@ void xFRemapNNI( SRC_T s; - // the width is one byte wider than needed to overcome URAM implementation issue - ap_uint<72> bufUram[WIN_ROW][(COLS+7)/8]; + ap_uint<64> bufUram[WIN_ROW][(COLS+7)/8]; #pragma HLS RESOURCE variable=bufUram core=XPM_MEMORY uram - SRC_T sx8[9] = {0}; + SRC_T sx8[8]; #pragma HLS ARRAY_PARTITION variable=sx8 complete dim=1 DST_T d; @@ -93,7 +92,7 @@ void xFRemapNNI( if (USE_URAM) { sx8[j%8] = s; - for (int k=0; k<9; k++) bufUram[i % WIN_ROW][j/8](k*8+7,k*8) = sx8[k]; + for (int k=0; k<8; k++) bufUram[i % WIN_ROW][j/8](k*8+7,k*8) = sx8[k]; } } @@ -109,14 +108,13 @@ void xFRemapNNI( int y = (int)my_fl; bool in_range = (y>=0 && y=0 && x Date: Mon, 16 Apr 2018 11:00:58 +0300 Subject: [PATCH 09/73] . --- aws_demo/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/aws_demo/README.md b/aws_demo/README.md index 8b13789..fd40910 100644 --- a/aws_demo/README.md +++ b/aws_demo/README.md @@ -1 +1,4 @@ + + + From 0047e7e0714fd66ebbb0a7b1022a95c1989c8c23 Mon Sep 17 00:00:00 2001 From: sefo Date: Mon, 16 Apr 2018 11:18:55 +0300 Subject: [PATCH 10/73] Add Gaussian filter example --- aws_demo/gaussianfilter/makefile | 180 ++++++++++++++++++ .../xf_gaussian_filter_accel_aws.cpp | 55 ++++++ .../xf_gaussian_filter_kernel_aws.cpp | 61 ++++++ 3 files changed, 296 insertions(+) create mode 100644 aws_demo/gaussianfilter/makefile create mode 100644 aws_demo/gaussianfilter/xf_gaussian_filter_accel_aws.cpp create mode 100644 aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp diff --git a/aws_demo/gaussianfilter/makefile b/aws_demo/gaussianfilter/makefile new file mode 100644 index 0000000..1357f2f --- /dev/null +++ b/aws_demo/gaussianfilter/makefile @@ -0,0 +1,180 @@ + +# compiler tools + +XILINX_SDX ?= /opt/Xilinx/SDx/2017.1.op +XILINX_VIVADO_HLS ?= $(XILINX_SDX)/Vivado_HLS + + +SDX_CXX ?= $(XILINX_SDX)/bin/xcpp +XOCC ?= $(XILINX_SDX)/bin/xocc +RM = rm -f +RMDIR = rm -rf + +SDX_PLATFORM = $(AWS_PLATFORM) + +XFOPENCV ?= /home/centos/src/project_data/xfopencv + +######################################## +# # +# Host section # +# # +######################################## + +XF_EXAMPLE_DIR = $(XFOPENCV)/examples/gaussianfilter + +XCL2_LIB_DIR = $(SDACCEL_DIR)/examples/xilinx/libs/xcl2 +XCL_LIB_DIR = $(SDACCEL_DIR)/examples/xilinx/libs/xcl + +CXXFLAGS += -DSDX_PLATFORM=$(SDX_PLATFORM) -D__USE_XOPEN2K8 +CXXFLAGS += -I/opt/Xilinx/SDx/2017.1.op/runtime/include/1_2/ +CXXFLAGS += -I/opt/Xilinx/SDx/2017.1.op/include/ +CXXFLAGS += -I$(XFOPENCV)/include/ +CXXFLAGS += -I$(XF_EXAMPLE_DIR)/ +CXXFLAGS += -I$(XCL2_LIB_DIR)/ +CXXFLAGS += -I/opt/Xilinx/SDx/2017.1.op/Vivado_HLS/include +CXXFLAGS += -O2 -Wall -c -fmessage-length=0 -std=c++14 + +#--- Specify OpenCV libraries ---# + +LDFLAGS += -L/opt/Xilinx/SDx/2017.1.op/lnx64/tools/opencv +LDFLAGS += -lopencv_core +LDFLAGS += -lopencv_imgproc +LDFLAGS += -lopencv_highgui + +#--- Specify common libraries ---# + +LDFLAGS += -L/opt/Xilinx/SDx/2017.1.op/lib/lnx64.o +LDFLAGS += -lstdc++ +LDFLAGS += -lpthread +LDFLAGS += -lrt + +#--- Specify AWS libraries ---# + +LDFLAGS += -L/opt/Xilinx/2017.1.rte.4ddr/runtime/lib/x86_64 +LDFLAGS += -lxilinxopencl + +#--- Specify runtime libraries ---# + +LDFLAGS += -Wl,-rpath,/opt/Xilinx/SDx/2017.1.op/lnx64/tools/opencv +LDFLAGS += -Wl,-rpath,/opt/Xilinx/SDx/2017.1.op/lib/lnx64.o +LDFLAGS += -Wl,-rpath,/opt/Xilinx/2017.1.rte.4ddr/runtime/lib/x86_64 + +#--- Specify objects ---# + +HOST_DEP = ../src/xcl2.hpp + +HOST_AWS_SRC += xf_gaussian_filter_accel_aws +HOST_SDx_SRC += xcl2 +HOST_XF_SRC += xf_gaussian_filter_tb + +HOST_AWS_DIR = ./ +HOST_BLD_DIR = build/host + +HOST_AWS_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_AWS_SRC)) ) +HOST_SDx_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_SDx_SRC)) ) +HOST_XF_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_XF_SRC)) ) + +HOST_OBJ = $(HOST_XF_OBJ) $(HOST_AWS_OBJ) $(HOST_SDx_OBJ) + +HOST_EXE ?= xf_arg + +BUILD_SUBDIRS += $(HOST_BLD_DIR) + + +######################################## +# # +# Kernel section # +# # +######################################## + + +XOCC_OPTS = -t hw --platform $(SDX_PLATFORM) --save-temps --report system + +# +# OpenCL kernel files +# + +BINARY_CONTAINERS += xf_gaussian_filter.xclbin + +BUILD_SUBDIRS += build/kernel +BINARY_CONTAINER_1_OBJS += build/kernel/xf_gaussian_filter.xo +ALL_KERNEL_OBJS += build/kernel/xf_gaussian_filter.xo + +ALL_MESSAGE_FILES = $(subst .xo,.mdb,$(ALL_KERNEL_OBJS)) $(subst .xclbin,.mdb,$(BINARY_CONTAINERS)) + + +# +# primary build targets +# + +.PHONY: all clean + +all: krnl host + +host: $(HOST_EXE) + +krnl: $(BINARY_CONTAINERS) + +clean: + $(RMDIR) $(HOST_BLD_DIR) +# -$(RM) $(BINARY_CONTAINERS) $(ALL_KERNEL_OBJS) $(ALL_MESSAGE_FILES) $(HOST_EXE) src/$(HOST_OBJ) +# -$(RM) *.xclbin.sh +# -$(RMDIR) $(BUILD_SUBDIRS) +# -$(RMDIR) _xocc* +# -$(RMDIR) .Xil +# -$(RM) xf_arg + +.PHONY: incremental +incremental: all + + +nothing: + +# +# binary container: binary_container_1.xclbin +# + +build/kernel/xf_gaussian_filter.xo: xf_gaussian_filter_kernel_aws.cpp + @echo "mkdir -p $(@D)" + $(XOCC) $(XOCC_OPTS) -c -k xf_gaussian_filter --max_memory_ports xf_gaussian_filter --messageDb $(subst .xo,.mdb,$@) -I"$( xf_gaussian_filter.xclbin.sh + $(XOCC) $(XOCC_OPTS) -l --nk xf_gaussian_filter:1 --messageDb $(subst .xclbin,.mdb,$@) --xp misc:solution_name=build/kernel/xocc_link_kernel --remote_ip_cache /root/workspace/ip_cache -o"$@" $(+) + +# +# host rules +# + +$(HOST_AWS_OBJ): $(HOST_BLD_DIR)/%.o : $(HOST_AWS_DIR)/%.cpp + @echo "================================================================" + @echo "Compilation of $< to $@" + @echo "================================================================" + @mkdir -p $(HOST_BLD_DIR) + $(SDX_CXX) $(CXXFLAGS) -o "$@" "$<" + + +$(HOST_SDx_OBJ): $(HOST_BLD_DIR)/%.o : $(XCL2_LIB_DIR)/%.cpp + @echo "================================================================" + @echo "Compilation of $< to $@" + @echo "================================================================" + @mkdir -p $(HOST_BLD_DIR) + $(SDX_CXX) $(CXXFLAGS) -o "$@" "$<" + +$(HOST_XF_OBJ): $(HOST_BLD_DIR)/%.o : $(XF_EXAMPLE_DIR)/%.cpp + @echo "================================================================" + @echo "Compilation of $< to $@" + @echo "================================================================" + @mkdir -p $(HOST_BLD_DIR) + $(SDX_CXX) $(CXXFLAGS) -o "$@" "$<" + + +$(HOST_EXE): $(HOST_OBJ) + @echo "================================================================" + @echo "Linking of $@" + @echo "================================================================" + $(SDX_CXX) -o "$@" $(+) $(LDFLAGS) + + + diff --git a/aws_demo/gaussianfilter/xf_gaussian_filter_accel_aws.cpp b/aws_demo/gaussianfilter/xf_gaussian_filter_accel_aws.cpp new file mode 100644 index 0000000..8fc3ee8 --- /dev/null +++ b/aws_demo/gaussianfilter/xf_gaussian_filter_accel_aws.cpp @@ -0,0 +1,55 @@ +#include +#include +#include + +#include "xcl2.hpp" + +#include "xf_gaussian_filter_config.h" + +void gaussian_filter_accel(xf::Mat &imgInput,xf::Mat&imgOutput, float sigma) +{ + std::vector devices = xcl::get_xil_devices(); + + cl::Device device = devices[0]; + + cl::Context context(device); + + cl::CommandQueue q(context, device, CL_QUEUE_PROFILING_ENABLE); + std::string device_name = device.getInfo(); + + std::string binaryFile = "xf_gaussian_filter.awsxclbin"; //xcl::find_binary_file(device_name,"xf_gaussian_filter"); + + std::cout << "========" << binaryFile << " ==================" << std::endl; + + cl::Program::Binaries bins = xcl::import_binary_file(binaryFile); + devices.resize(1); + cl::Program program(context, devices, bins); + cl::Kernel kernel(program,"xf_gaussian_filter"); + + //----------- Allocate Buffer in Global Memory -----------// + + cl::Buffer buffer_inp(context,CL_MEM_USE_HOST_PTR | CL_MEM_READ_ONLY , imgInput.rows * imgInput.cols, imgInput.data); + cl::Buffer buffer_out(context,CL_MEM_USE_HOST_PTR | CL_MEM_WRITE_ONLY, imgOutput.rows * imgOutput.cols, imgOutput.data); + + std::vector writeBufVec; + writeBufVec.push_back(buffer_inp); + + //----------- Migrate input data to device global memory -----------// + + q.enqueueMigrateMemObjects(writeBufVec,0); // 0 means from host + + auto krnl = cl::KernelFunctor(kernel); + + //----------- Launch the Kernel -----------// + + krnl(cl::EnqueueArgs(q, cl::NDRange(1,1,1), cl::NDRange(1,1,1)), buffer_inp, buffer_out, imgInput.rows, imgInput.cols, sigma); + + std::vector readBufVec; + readBufVec.push_back(buffer_out); + + //----------- Copy Result from Device Global Memory to Host Local Memory -----------// + + q.enqueueMigrateMemObjects(readBufVec,CL_MIGRATE_MEM_OBJECT_HOST); + q.finish(); + +} diff --git a/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp b/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp new file mode 100644 index 0000000..0026a4b --- /dev/null +++ b/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp @@ -0,0 +1,61 @@ +//Includes +#include +#include +#include + + +#include "common/xf_common.h" + +#include "xf_gaussian_filter_config.h" + +#include "imgproc/xf_gaussian_filter.hpp" + + +extern "C" void xf_gaussian_filter(unsigned int *a, unsigned int *c, int rows, int cols, float sigma); + + + void xf_gaussian_filter(unsigned int *a, unsigned int *c, int rows, int cols, float sigma) + { + #pragma HLS INTERFACE m_axi port=a offset=slave bundle=gmem + #pragma HLS INTERFACE m_axi port=c offset=slave bundle=gmem + #pragma HLS INTERFACE s_axilite port=a bundle=control + #pragma HLS INTERFACE s_axilite port=c bundle=control + #pragma HLS INTERFACE s_axilite port=rows bundle=control + #pragma HLS INTERFACE s_axilite port=cols bundle=control + #pragma HLS INTERFACE s_axilite port=sigma bundle=control + #pragma HLS INTERFACE s_axilite port=return bundle=control + + #pragma HLS inline region + + int img_size = rows * cols; + + xf::Mat img_a(rows, cols); + xf::Mat img_c(rows, cols); + + #pragma HLS stream variable=img_a.data depth=1 + #pragma HLS stream variable=img_c.data depth=1 + + unsigned int *dst_a = (unsigned int*)img_a.data; + + read_data_a: for (int i = 0 ; i < img_size/4; i++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=65536 + + unsigned int ta = a[i]; + + dst_a[i] = ta; + } + + xf::GaussianBlur(img_a, img_c, sigma); + + unsigned int *src = (unsigned int *)img_c.data; + + write_data_c: for (int i = 0 ; i < img_size/4; i++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=65536 + + c[i] = src[i]; + } + } + + From 2805ed6155c1e1a696acfe0f92f9c1c88ce67314 Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Tue, 17 Apr 2018 19:09:08 +0900 Subject: [PATCH 11/73] xf_warp URAM optimization: Initial commit. --- examples/warptransform/xf_config_params.h | 5 +- .../warptransform/xf_warp_transform_accel.cpp | 2 +- include/imgproc/xf_warp_transform.hpp | 56 ++++++++++++++++++- 3 files changed, 58 insertions(+), 5 deletions(-) diff --git a/examples/warptransform/xf_config_params.h b/examples/warptransform/xf_config_params.h index e903c30..8d2ee85 100644 --- a/examples/warptransform/xf_config_params.h +++ b/examples/warptransform/xf_config_params.h @@ -16,4 +16,7 @@ #define INTERPOLATION 1 //transform type 0-AFFINE 1-PERSPECTIVE -#define TRANSFORM_TYPE 0 \ No newline at end of file +#define TRANSFORM_TYPE 0 + +//usage of URAMs for buffers implementation +#define XF_USE_URAM false diff --git a/examples/warptransform/xf_warp_transform_accel.cpp b/examples/warptransform/xf_warp_transform_accel.cpp index a9d0b65..1295a80 100644 --- a/examples/warptransform/xf_warp_transform_accel.cpp +++ b/examples/warptransform/xf_warp_transform_accel.cpp @@ -31,5 +31,5 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. void warp_transform_accel(xf::Mat &_src, xf::Mat &_dst, float *R) { - xf::warpTransform(_src, _dst, R); + xf::warpTransform(_src, _dst, R); } diff --git a/include/imgproc/xf_warp_transform.hpp b/include/imgproc/xf_warp_transform.hpp index 2945a08..cb3acc7 100644 --- a/include/imgproc/xf_warp_transform.hpp +++ b/include/imgproc/xf_warp_transform.hpp @@ -264,7 +264,41 @@ XF_TNAME(DEPTH,NPC) retrieve_EvOd_image4x1(int i,int j,int A, int B, int C, int return XF_TNAME(DEPTH,NPC)((op_val+(1<<(INTER_REMAP_COEF_BITS-1)))>>INTER_REMAP_COEF_BITS); }; -template + +template +void store_in_UramNN(XF_TNAME(DEPTH,NPC) in_pixel, ap_uint<16> i,ap_uint<16> j, ap_uint<64> bufUram[STORE_LINES][(COLS+7)/8]) +{ +#pragma HLS INLINE + + static XF_TNAME(DEPTH,NPC) sx8[8]; + sx8[j%8] = in_pixel; + for (int k=0; k<8; k++) bufUram[i][j/8](k*8+7,k*8) = sx8[k]; +}; + +template +void store_in_UramBL(XF_TNAME(DEPTH,NPC) in_pixel, ap_uint<16> i,ap_uint<16> j, ap_uint<72> bufUram[(STORE_LINES+1)/2][(COLS+1)/2]) +{ +#pragma HLS INLINE +}; + +template +XF_TNAME(DEPTH,NPC) retrieve_UramNN(int i,int j, ap_uint<64> bufUram[STORE_LINES][(COLS+7)/8]) +{ +#pragma HLS INLINE + + XF_TNAME(DEPTH,NPC) dx8[8]; + for (int k=0; k<8; k++) dx8[k] = bufUram[i][j/8](k*8+7,k*8); + return dx8[j%8]; +}; + +template +XF_TNAME(DEPTH,NPC) retrieve_UramBL(int i,int j,int A, int B, int C, int D, ap_uint<72> bufUram[(STORE_LINES+1)/2][(COLS+1)/2]) +{ +#pragma HLS INLINE + return 0; +}; + +template int xFwarpTransformKernel(hls::stream< XF_TNAME(DEPTH,NPC) > &input_image, hls::stream< XF_TNAME(DEPTH,NPC) > &output_image, float P_matrix[9], short img_rows, short img_cols) { #pragma HLS INLINE @@ -298,6 +332,12 @@ int xFwarpTransformKernel(hls::stream< XF_TNAME(DEPTH,NPC) > &input_image, hls:: #pragma HLS DEPENDENCE variable=store1_pt_2OdR_EvC intra false #pragma HLS DEPENDENCE variable=store1_pt_2OdR_OdC intra false + //URAM based storages + ap_uint<64> bufUramNN[STORE_LINES][(COLS+7)/8]; +#pragma HLS RESOURCE variable=bufUramNN core=XPM_MEMORY uram + //URAM storage garnularity for BL inerpolation is 3x3-pel block in 2x2-pel picture grid, it fits to one URAM word + ap_uint<72> bufUramBL[(STORE_LINES+1)/2][(COLS+1)/2]; +#pragma HLS RESOURCE variable=bufUramBL core=XPM_MEMORY uram //varables for loop counters ap_uint<16> i=0,j=0,k=0,l=0,m=0,n=0,p=0; @@ -362,6 +402,10 @@ int xFwarpTransformKernel(hls::stream< XF_TNAME(DEPTH,NPC) > &input_image, hls:: //function to store the input image stream to //a buffer of size STORE_LINES rows //computing i-l to snap the writes to STORE_LINES size buffer + if (USE_URAM) + if (INTERPOLATION_TYPE) store_in_UramBL(input_image.read() ,i-l,j, bufUramBL); + else store_in_UramNN(input_image.read() ,i-l,j, bufUramNN); + else store_EvOd_image1( input_image.read() ,i-l,j, store1_pt_2EvR_EvC, store1_pt_2EvR_OdC, store1_pt_2OdR_EvC, store1_pt_2OdR_OdC); } @@ -468,11 +512,17 @@ int xFwarpTransformKernel(hls::stream< XF_TNAME(DEPTH,NPC) > &input_image, hls:: I1 = I - m; if(INTERPOLATION_TYPE==0) { + if (USE_URAM) + op_val = retrieve_UramNN (I1,J, bufUramNN); + else op_val = retrieve_EvOd_image1(I1,J, store1_pt_2EvR_EvC, store1_pt_2EvR_OdC, store1_pt_2OdR_EvC, store1_pt_2OdR_OdC); } else { //calling the read function with interpolation + if (USE_URAM) + op_val = retrieve_UramBL (I1,J,A,B,C,D, bufUramBL); + else op_val = retrieve_EvOd_image4x1(I1,J,A,B,C,D, store1_pt_2EvR_EvC, store1_pt_2EvR_OdC, store1_pt_2OdR_EvC, store1_pt_2OdR_OdC); } } @@ -497,7 +547,7 @@ return 0; #pragma SDS data access_pattern("_src_mat.data":SEQUENTIAL) #pragma SDS data access_pattern("_dst_mat.data":SEQUENTIAL) #pragma SDS data mem_attribute ("_src_mat.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS, "_dst_mat.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS) -template +template void warpTransform(xf::Mat & _src_mat, xf::Mat & _dst_mat, float P_matrix[9]) { #pragma HLS INLINE OFF @@ -516,7 +566,7 @@ hls::stream< XF_TNAME(TYPE,NPC) > out_stream; } } -xFwarpTransformKernel(in_stream, out_stream, P_matrix, _src_mat.rows, _src_mat.cols); +xFwarpTransformKernel(in_stream, out_stream, P_matrix, _src_mat.rows, _src_mat.cols); for(int i=0; i<_dst_mat.rows;i++) { From 05516d0f307bd8389fdc7e09b28d705fd06c0375 Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Wed, 18 Apr 2018 18:53:26 +0900 Subject: [PATCH 12/73] xf_warp URAM optimization: NN interpolation is done, Bilinear is started. --- include/imgproc/xf_warp_transform.hpp | 90 ++++++++++++++++++++++++--- 1 file changed, 82 insertions(+), 8 deletions(-) diff --git a/include/imgproc/xf_warp_transform.hpp b/include/imgproc/xf_warp_transform.hpp index cb3acc7..0896c19 100644 --- a/include/imgproc/xf_warp_transform.hpp +++ b/include/imgproc/xf_warp_transform.hpp @@ -271,14 +271,61 @@ void store_in_UramNN(XF_TNAME(DEPTH,NPC) in_pixel, ap_uint<16> i,ap_uint<16> j, #pragma HLS INLINE static XF_TNAME(DEPTH,NPC) sx8[8]; +#pragma HLS ARRAY_PARTITION variable=sx8 complete dim=1 sx8[j%8] = in_pixel; for (int k=0; k<8; k++) bufUram[i][j/8](k*8+7,k*8) = sx8[k]; }; template -void store_in_UramBL(XF_TNAME(DEPTH,NPC) in_pixel, ap_uint<16> i,ap_uint<16> j, ap_uint<72> bufUram[(STORE_LINES+1)/2][(COLS+1)/2]) +void store_in_UramBL(hls::stream< XF_TNAME(DEPTH,NPC)>& input_image, ap_uint<16> i,ap_uint<16> j, ap_uint<72> bufUram[(STORE_LINES+1)/2][(COLS+1)/2], short img_cols) { #pragma HLS INLINE + + static XF_TNAME(DEPTH,NPC) lineBuf[COLS]; //addtitional cashing as VHLS doesn't support URAM Byte Enables + static XF_TNAME(DEPTH,NPC) s3x3[2][9]; //URAM-wide word is doubled to resolve pipelining read/write dependency + static XF_TNAME(DEPTH,NPC) s3x3_2[9]; + static XF_TNAME(DEPTH,NPC) s0,s3; + + static XF_TNAME(DEPTH,NPC) in_pixel; + if (j0 && (j/2)>1) for (int k=0; k<9; k++) bufUram[i/2-1][j/2-2](k*8+7,k*8) = s3x3[!!(j&2)][k]; + } else if (j0) { + for (int k=0; k<6; k++) s3x3[!!(j&2)][k] = bufUram[i/2-1][j/2](k*8+7,k*8); + s3x3[!!(j&2)][6] = s0; + s3x3[!!(j&2)][7] = in_pixel; + s3x3[!!(j&2)][8] = 0; + } + } + } else if (j0) for (int k=0; k<9; k++) bufUram[i/2][j/2-1](k*8+7,k*8) = s3x3_2[k]; + } else { // odd col + s3x3_2[0] = s0; + s3x3_2[1] = lineBuf[j]; + s3x3_2[3] = s3; + s3x3_2[4] = in_pixel; + + // this clearing is needed only for case of bottom zero padding (curently last(bottom-right) sample value is used) + s3x3_2[6] = 0; + s3x3_2[7] = 0; + s3x3_2[8] = 0; + //if (j==(img_cols-1)) { //these clearing and save is needed only at last column but may done every cycle + s3x3_2[2] = 0; + s3x3_2[5] = 0; + for (int k=0; k<9; k++) bufUram[i/2][j/2](k*8+7,k*8) = s3x3_2[k]; + //} + } + } }; template @@ -286,7 +333,9 @@ XF_TNAME(DEPTH,NPC) retrieve_UramNN(int i,int j, ap_uint<64> bufUram[STORE_LINES { #pragma HLS INLINE + i = i > (STORE_LINES - 1)? (i - STORE_LINES) : ((i < 0)? (i + STORE_LINES) : i); XF_TNAME(DEPTH,NPC) dx8[8]; +#pragma HLS ARRAY_PARTITION variable=dx8 complete dim=1 for (int k=0; k<8; k++) dx8[k] = bufUram[i][j/8](k*8+7,k*8); return dx8[j%8]; }; @@ -295,9 +344,33 @@ template XF_TNAME(DEPTH,NPC) retrieve_UramBL(int i,int j,int A, int B, int C, int D, ap_uint<72> bufUram[(STORE_LINES+1)/2][(COLS+1)/2]) { #pragma HLS INLINE - return 0; + + i = (i > (STORE_LINES - 1))? (i - STORE_LINES) : ((i < 0)? (i + STORE_LINES) : i); + + XF_TNAME(DEPTH,NPC) d3x3[9]; + for (int k=0; k<9; k++) d3x3[k] = bufUram[i/2][j/2](k*8+7,k*8); + XF_TNAME(DEPTH,NPC) const px00 = d3x3[(i%2 )*3 + j%2 ]; + XF_TNAME(DEPTH,NPC) const px01 = d3x3[(i%2 )*3 + j%2+1]; + XF_TNAME(DEPTH,NPC) const px10 = d3x3[(i%2+1)*3 + j%2 ]; + XF_TNAME(DEPTH,NPC) const px11 = d3x3[(i%2+1)*3 + j%2+1]; + + int const op_val = (A*px00) + + (B*px01) + + (C*px10) + + (D*px11); + //returning the computed interpolated output after rounding off the op_val by adding 0.5 + //and shifting to right by INTER_REMAP_COEF_BITS + return XF_TNAME(DEPTH,NPC)((op_val+(1<<(INTER_REMAP_COEF_BITS-1)))>>INTER_REMAP_COEF_BITS); }; +//AK(ZoTech): rounding function to substitute one from math.h, consuming 2 BRAMs per call; commented as it is not bitexact with the latter. +// template +// int round(T x) +// { +// #pragma HLS INLINE +// return (x + (x>=T(0) ? T(0.5) : T(-0.5))); +// }; + template int xFwarpTransformKernel(hls::stream< XF_TNAME(DEPTH,NPC) > &input_image, hls::stream< XF_TNAME(DEPTH,NPC) > &output_image, float P_matrix[9], short img_rows, short img_cols) { @@ -334,7 +407,8 @@ int xFwarpTransformKernel(hls::stream< XF_TNAME(DEPTH,NPC) > &input_image, hls:: //URAM based storages ap_uint<64> bufUramNN[STORE_LINES][(COLS+7)/8]; -#pragma HLS RESOURCE variable=bufUramNN core=XPM_MEMORY uram +#pragma HLS RESOURCE variable=bufUramNN core=XPM_MEMORY uram +#pragma HLS dependence variable=bufUramNN inter false //URAM storage garnularity for BL inerpolation is 3x3-pel block in 2x2-pel picture grid, it fits to one URAM word ap_uint<72> bufUramBL[(STORE_LINES+1)/2][(COLS+1)/2]; #pragma HLS RESOURCE variable=bufUramBL core=XPM_MEMORY uram @@ -382,7 +456,7 @@ int xFwarpTransformKernel(hls::stream< XF_TNAME(DEPTH,NPC) > &input_image, hls:: MAIN_ROWS:for (i=0;i<(img_rows + START_ROW);i++) { #pragma HLS LOOP_TRIPCOUNT min=1 max=ROWS - MAIN_COLS:for(j=0;j<(img_cols);j++) + MAIN_COLS:for(j=0;j<(img_cols+3);j++) { #pragma HLS LOOP_TRIPCOUNT min=1 max=COLS #pragma HLS PIPELINE @@ -403,15 +477,15 @@ int xFwarpTransformKernel(hls::stream< XF_TNAME(DEPTH,NPC) > &input_image, hls:: //a buffer of size STORE_LINES rows //computing i-l to snap the writes to STORE_LINES size buffer if (USE_URAM) - if (INTERPOLATION_TYPE) store_in_UramBL(input_image.read() ,i-l,j, bufUramBL); - else store_in_UramNN(input_image.read() ,i-l,j, bufUramNN); - else + if (INTERPOLATION_TYPE) store_in_UramBL(input_image ,i-l,j, bufUramBL, img_cols); + else {if (j(input_image.read() ,i-l,j, bufUramNN);} + else if (j( input_image.read() ,i-l,j, store1_pt_2EvR_EvC, store1_pt_2EvR_OdC, store1_pt_2OdR_EvC, store1_pt_2OdR_OdC); } //condition to compute and stream out the output image //after START_ROW number of rows - if(i>=START_ROW) + if(i>=START_ROW && j Date: Thu, 19 Apr 2018 04:48:55 +0300 Subject: [PATCH 13/73] Add resizing of filtered image (host sources interface didn't changed and become incompatible with kernel) --- aws_demo/gaussianfilter/makefile | 6 +- .../xf_gaussian_filter_kernel_aws.cpp | 111 +++++++++++------- 2 files changed, 73 insertions(+), 44 deletions(-) diff --git a/aws_demo/gaussianfilter/makefile b/aws_demo/gaussianfilter/makefile index 1357f2f..febbf07 100644 --- a/aws_demo/gaussianfilter/makefile +++ b/aws_demo/gaussianfilter/makefile @@ -116,7 +116,7 @@ host: $(HOST_EXE) krnl: $(BINARY_CONTAINERS) clean: - $(RMDIR) $(HOST_BLD_DIR) + $(RMDIR) $(HOST_BLD_DIR) build/kernel # -$(RM) $(BINARY_CONTAINERS) $(ALL_KERNEL_OBJS) $(ALL_MESSAGE_FILES) $(HOST_EXE) src/$(HOST_OBJ) # -$(RM) *.xclbin.sh # -$(RMDIR) $(BUILD_SUBDIRS) @@ -135,13 +135,13 @@ nothing: # build/kernel/xf_gaussian_filter.xo: xf_gaussian_filter_kernel_aws.cpp - @echo "mkdir -p $(@D)" + @mkdir -p $(@D) $(XOCC) $(XOCC_OPTS) -c -k xf_gaussian_filter --max_memory_ports xf_gaussian_filter --messageDb $(subst .xo,.mdb,$@) -I"$( xf_gaussian_filter.xclbin.sh - $(XOCC) $(XOCC_OPTS) -l --nk xf_gaussian_filter:1 --messageDb $(subst .xclbin,.mdb,$@) --xp misc:solution_name=build/kernel/xocc_link_kernel --remote_ip_cache /root/workspace/ip_cache -o"$@" $(+) + $(XOCC) $(XOCC_OPTS) -l --jobs 20 --nk xf_gaussian_filter:1 --messageDb $(subst .xclbin,.mdb,$@) --xp misc:solution_name=build/kernel/xocc_link_kernel --remote_ip_cache /root/workspace/ip_cache -o"$@" $(+) # # host rules diff --git a/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp b/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp index 0026a4b..3c136ba 100644 --- a/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp +++ b/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp @@ -3,59 +3,88 @@ #include #include +#include "hls_stream.h" #include "common/xf_common.h" #include "xf_gaussian_filter_config.h" #include "imgproc/xf_gaussian_filter.hpp" +#include "imgproc/xf_resize.hpp" +#define SRC_T XF_8UC1 -extern "C" void xf_gaussian_filter(unsigned int *a, unsigned int *c, int rows, int cols, float sigma); +#define INTERPOLATION_TYPE XF_INTERPOLATION_NN +extern "C" void xf_gaussian_filter(XF_TNAME(SRC_T,NPC1) *ai, XF_TNAME(SRC_T,NPC1) *bo, int rows, int cols, float sigma, int o_rows, int o_cols); - void xf_gaussian_filter(unsigned int *a, unsigned int *c, int rows, int cols, float sigma) - { - #pragma HLS INTERFACE m_axi port=a offset=slave bundle=gmem - #pragma HLS INTERFACE m_axi port=c offset=slave bundle=gmem - #pragma HLS INTERFACE s_axilite port=a bundle=control - #pragma HLS INTERFACE s_axilite port=c bundle=control - #pragma HLS INTERFACE s_axilite port=rows bundle=control - #pragma HLS INTERFACE s_axilite port=cols bundle=control - #pragma HLS INTERFACE s_axilite port=sigma bundle=control - #pragma HLS INTERFACE s_axilite port=return bundle=control - - #pragma HLS inline region - - int img_size = rows * cols; - - xf::Mat img_a(rows, cols); - xf::Mat img_c(rows, cols); - - #pragma HLS stream variable=img_a.data depth=1 - #pragma HLS stream variable=img_c.data depth=1 - - unsigned int *dst_a = (unsigned int*)img_a.data; - read_data_a: for (int i = 0 ; i < img_size/4; i++) - { - #pragma HLS LOOP_TRIPCOUNT min=1 max=65536 - - unsigned int ta = a[i]; - - dst_a[i] = ta; - } - - xf::GaussianBlur(img_a, img_c, sigma); - - unsigned int *src = (unsigned int *)img_c.data; - - write_data_c: for (int i = 0 ; i < img_size/4; i++) - { - #pragma HLS LOOP_TRIPCOUNT min=1 max=65536 + void xf_gaussian_filter(XF_TNAME(SRC_T,NPC1) *ai, XF_TNAME(SRC_T,NPC1) *bo, int rows, int cols, float sigma, int o_rows, int o_cols) + { + #pragma HLS INTERFACE m_axi port=ai offset=slave bundle=gmem + #pragma HLS INTERFACE m_axi port=bo offset=slave bundle=gmem + + #pragma HLS INTERFACE s_axilite port=ai bundle=control + #pragma HLS INTERFACE s_axilite port=bo bundle=control + + #pragma HLS INTERFACE s_axilite port=rows bundle=control + #pragma HLS INTERFACE s_axilite port=cols bundle=control + #pragma HLS INTERFACE s_axilite port=sigma bundle=control + + #pragma HLS INTERFACE s_axilite port=o_rows bundle=control + #pragma HLS INTERFACE s_axilite port=o_cols bundle=control + + #pragma HLS INTERFACE s_axilite port=return bundle=control + + #pragma HLS inline off + #pragma HLS dataflow + + const int pROWS = HEIGHT; + const int pCOLS = WIDTH; + const int pNPC1 = NPC1; + + hls::stream src; + hls::stream flt; + hls::stream dst; + + /********************************************************/ + + Read_yuyv_Loop: + for(int i=0; i < rows; i++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS + + for(int j=0; j < (cols)>>(XF_BITSHIFT(NPC1));j++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS/pNPC1 + #pragma HLS PIPELINE + #pragma HLS loop_flatten off + + src.write( *(ai + i*(cols>>(XF_BITSHIFT(NPC1))) +j) ); + } + } + + xf::xFGaussianFilter< HEIGHT, WIDTH, XF_DEPTH(SRC_T, NPC1), NPC1, XF_WORDWIDTH(SRC_T,NPC1)>(src, flt, FILTER_WIDTH, XF_BORDER_CONSTANT, rows, cols,sigma); + + + //setup same maximum output image size as for source image + + xf::xFresize< HEIGHT, WIDTH, SRC_T, NPC1, XF_WORDWIDTH(SRC_T,NPC1), HEIGHT, WIDTH>(flt, dst, INTERPOLATION_TYPE, rows, cols, o_rows, o_cols); + + for(int i=0;i>XF_BITSHIFT(NPC1); j++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS + #pragma HLS PIPELINE II=1 + #pragma HLS LOOP_FLATTEN OFF + + *(bo + i*(o_cols>>XF_BITSHIFT(NPC1)) + j) = dst.read(); + } + } - c[i] = src[i]; - } } From 666bb9e82de642563a00355698efbebecec95ba0 Mon Sep 17 00:00:00 2001 From: Serge Date: Thu, 19 Apr 2018 04:52:53 +0300 Subject: [PATCH 14/73] Add Visual Studio project and .gitignore --- .gitignore | 5 ++ aws_demo/ide/vs/Gaussian_Filter.vcxproj | 81 +++++++++++++++++++ .../ide/vs/Gaussian_Filter.vcxproj.filters | 26 ++++++ aws_demo/ide/vs/aws_demo.sln | 29 +++++++ aws_demo/ide/vs/examples.vcxproj | 79 ++++++++++++++++++ aws_demo/ide/vs/examples.vcxproj.filters | 27 +++++++ 6 files changed, 247 insertions(+) create mode 100644 .gitignore create mode 100644 aws_demo/ide/vs/Gaussian_Filter.vcxproj create mode 100644 aws_demo/ide/vs/Gaussian_Filter.vcxproj.filters create mode 100644 aws_demo/ide/vs/aws_demo.sln create mode 100644 aws_demo/ide/vs/examples.vcxproj create mode 100644 aws_demo/ide/vs/examples.vcxproj.filters diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..31ee010 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/aws_demo/ide/**/*.*sdf +/aws_demo/ide/**/*.tss +/aws_demo/ide/**/*.suo +/aws_demo/ide/**/Debug +/aws_demo/ide/**/Release diff --git a/aws_demo/ide/vs/Gaussian_Filter.vcxproj b/aws_demo/ide/vs/Gaussian_Filter.vcxproj new file mode 100644 index 0000000..03b83d4 --- /dev/null +++ b/aws_demo/ide/vs/Gaussian_Filter.vcxproj @@ -0,0 +1,81 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {4F175088-E060-4DD3-B199-92A67421ACE2} + Gaussian_Filter + + + + Application + true + v110 + MultiByte + + + Application + false + v110 + true + MultiByte + + + + + + + + + + + + + + + Level3 + Disabled + ..\..\..\include;..\..\..\examples\gaussianfilter;..\..\..\..\aws-fpga\SDAccel\examples\xilinx\libs\xcl2;%(AdditionalIncludeDirectories) + + + true + + + + + Level3 + MaxSpeed + true + true + ..\..\..\include;..\..\..\examples\gaussianfilter;..\..\..\..\aws-fpga\SDAccel\examples\xilinx\libs\xcl2;%(AdditionalIncludeDirectories) + + + true + true + true + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aws_demo/ide/vs/Gaussian_Filter.vcxproj.filters b/aws_demo/ide/vs/Gaussian_Filter.vcxproj.filters new file mode 100644 index 0000000..51d5020 --- /dev/null +++ b/aws_demo/ide/vs/Gaussian_Filter.vcxproj.filters @@ -0,0 +1,26 @@ + + + + + + + + + + + + h + + + h + + + h + + + + + {b5f48f04-d9bc-4b50-b9a6-c222b80c54d0} + + + \ No newline at end of file diff --git a/aws_demo/ide/vs/aws_demo.sln b/aws_demo/ide/vs/aws_demo.sln new file mode 100644 index 0000000..9a945b7 --- /dev/null +++ b/aws_demo/ide/vs/aws_demo.sln @@ -0,0 +1,29 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples", "examples.vcxproj", "{4ABDD7A8-F903-4D12-B736-4BEF47FB6F4B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Gaussian_Filter", "Gaussian_Filter.vcxproj", "{4F175088-E060-4DD3-B199-92A67421ACE2}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {4ABDD7A8-F903-4D12-B736-4BEF47FB6F4B}.Debug|Win32.ActiveCfg = Debug|Win32 + {4ABDD7A8-F903-4D12-B736-4BEF47FB6F4B}.Debug|Win32.Build.0 = Debug|Win32 + {4ABDD7A8-F903-4D12-B736-4BEF47FB6F4B}.Release|Win32.ActiveCfg = Release|Win32 + {4ABDD7A8-F903-4D12-B736-4BEF47FB6F4B}.Release|Win32.Build.0 = Release|Win32 + {4F175088-E060-4DD3-B199-92A67421ACE2}.Debug|Win32.ActiveCfg = Debug|Win32 + {4F175088-E060-4DD3-B199-92A67421ACE2}.Debug|Win32.Build.0 = Debug|Win32 + {4F175088-E060-4DD3-B199-92A67421ACE2}.Release|Win32.ActiveCfg = Release|Win32 + {4F175088-E060-4DD3-B199-92A67421ACE2}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {4F175088-E060-4DD3-B199-92A67421ACE2} = {AD803E82-EFC9-43A2-9B68-D4D96780DBDB} + EndGlobalSection +EndGlobal diff --git a/aws_demo/ide/vs/examples.vcxproj b/aws_demo/ide/vs/examples.vcxproj new file mode 100644 index 0000000..2eab045 --- /dev/null +++ b/aws_demo/ide/vs/examples.vcxproj @@ -0,0 +1,79 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {4ABDD7A8-F903-4D12-B736-4BEF47FB6F4B} + examples + examples + + + + Application + true + v110 + MultiByte + + + Application + false + v110 + true + MultiByte + + + + + + + + + + + + + false + + + + Level3 + Disabled + + + true + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aws_demo/ide/vs/examples.vcxproj.filters b/aws_demo/ide/vs/examples.vcxproj.filters new file mode 100644 index 0000000..36f54e8 --- /dev/null +++ b/aws_demo/ide/vs/examples.vcxproj.filters @@ -0,0 +1,27 @@ + + + + + accumulate + + + accumulate + + + accumulate + + + + + accumulate + + + accumulate + + + + + {fdb0de10-a233-42a7-908e-33cb0564f49c} + + + \ No newline at end of file From 30df81bf18432b6fadbe577a9d4fe685961cd823 Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Thu, 19 Apr 2018 17:49:30 +0900 Subject: [PATCH 15/73] xf_warp URAM optimization: Bilinear filer is done. --- include/imgproc/xf_warp_transform.hpp | 33 +++++++++++++++++++-------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/include/imgproc/xf_warp_transform.hpp b/include/imgproc/xf_warp_transform.hpp index 0896c19..36df4ad 100644 --- a/include/imgproc/xf_warp_transform.hpp +++ b/include/imgproc/xf_warp_transform.hpp @@ -281,8 +281,13 @@ void store_in_UramBL(hls::stream< XF_TNAME(DEPTH,NPC)>& input_image, ap_uint<16> { #pragma HLS INLINE + ap_int<16> i_hlf_mns1 = i/2-1; + i_hlf_mns1 = i_hlf_mns1 + (i_hlf_mns1 < 0 ? (STORE_LINES+1)/2 : 0); + static XF_TNAME(DEPTH,NPC) lineBuf[COLS]; //addtitional cashing as VHLS doesn't support URAM Byte Enables static XF_TNAME(DEPTH,NPC) s3x3[2][9]; //URAM-wide word is doubled to resolve pipelining read/write dependency +#pragma HLS ARRAY_PARTITION variable=s3x3 complete dim=0 +#pragma HLS dependence variable=s3x3 inter false RAW static XF_TNAME(DEPTH,NPC) s3x3_2[9]; static XF_TNAME(DEPTH,NPC) s0,s3; @@ -294,15 +299,13 @@ void store_in_UramBL(hls::stream< XF_TNAME(DEPTH,NPC)>& input_image, ap_uint<16> if (j0 && (j/2)>1) for (int k=0; k<9; k++) bufUram[i/2-1][j/2-2](k*8+7,k*8) = s3x3[!!(j&2)][k]; + if ((j/2)>1) for (int k=0; k<9; k++) bufUram[i_hlf_mns1][j/2-2](k*8+7,k*8) = s3x3[!!(j&2)][k]; } else if (j0) { - for (int k=0; k<6; k++) s3x3[!!(j&2)][k] = bufUram[i/2-1][j/2](k*8+7,k*8); - s3x3[!!(j&2)][6] = s0; - s3x3[!!(j&2)][7] = in_pixel; - s3x3[!!(j&2)][8] = 0; - } + for (int k=0; k<6; k++) s3x3[!!(j&2)][k] = bufUram[i_hlf_mns1][j/2](k*8+7,k*8); + s3x3[!!(j&2)][6] = s0; + s3x3[!!(j&2)][7] = in_pixel; + s3x3[!!(j&2)][8] = 0; } } else if (j& input_image, ap_uint<16> s3x3_2[3] = s3; s3x3_2[4] = in_pixel; - // this clearing is needed only for case of bottom zero padding (curently last(bottom-right) sample value is used) + // this clearing is needed only for case of bottom zero padding (curently is not used at all) s3x3_2[6] = 0; s3x3_2[7] = 0; s3x3_2[8] = 0; @@ -348,6 +351,7 @@ XF_TNAME(DEPTH,NPC) retrieve_UramBL(int i,int j,int A, int B, int C, int D, ap_u i = (i > (STORE_LINES - 1))? (i - STORE_LINES) : ((i < 0)? (i + STORE_LINES) : i); XF_TNAME(DEPTH,NPC) d3x3[9]; +#pragma HLS ARRAY_PARTITION variable=d3x3 complete dim=1 for (int k=0; k<9; k++) d3x3[k] = bufUram[i/2][j/2](k*8+7,k*8); XF_TNAME(DEPTH,NPC) const px00 = d3x3[(i%2 )*3 + j%2 ]; XF_TNAME(DEPTH,NPC) const px01 = d3x3[(i%2 )*3 + j%2+1]; @@ -363,7 +367,7 @@ XF_TNAME(DEPTH,NPC) retrieve_UramBL(int i,int j,int A, int B, int C, int D, ap_u return XF_TNAME(DEPTH,NPC)((op_val+(1<<(INTER_REMAP_COEF_BITS-1)))>>INTER_REMAP_COEF_BITS); }; -//AK(ZoTech): rounding function to substitute one from math.h, consuming 2 BRAMs per call; commented as it is not bitexact with the latter. +//AK(ZoTech): rounding function to substitute one from math.h, consuming 2 BRAMs per call; not used as it is not bitexact with the math.h. // template // int round(T x) // { @@ -371,6 +375,14 @@ XF_TNAME(DEPTH,NPC) retrieve_UramBL(int i,int j,int A, int B, int C, int D, ap_u // return (x + (x>=T(0) ? T(0.5) : T(-0.5))); // }; +//AK(ZoTech): floor function to substitute one from math.h, consuming 2 BRAMs per call; not used as it is not synthesisable if biexact. +// template +// int floor(T x) +// { +// #pragma HLS INLINE +// return (x - (x>=T(0) ? T(0) : T(1)-std::numeric_limits::epsilon() )); +// }; + template int xFwarpTransformKernel(hls::stream< XF_TNAME(DEPTH,NPC) > &input_image, hls::stream< XF_TNAME(DEPTH,NPC) > &output_image, float P_matrix[9], short img_rows, short img_cols) { @@ -411,7 +423,8 @@ int xFwarpTransformKernel(hls::stream< XF_TNAME(DEPTH,NPC) > &input_image, hls:: #pragma HLS dependence variable=bufUramNN inter false //URAM storage garnularity for BL inerpolation is 3x3-pel block in 2x2-pel picture grid, it fits to one URAM word ap_uint<72> bufUramBL[(STORE_LINES+1)/2][(COLS+1)/2]; -#pragma HLS RESOURCE variable=bufUramBL core=XPM_MEMORY uram +#pragma HLS RESOURCE variable=bufUramBL core=XPM_MEMORY uram +#pragma HLS dependence variable=bufUramBL inter false //varables for loop counters ap_uint<16> i=0,j=0,k=0,l=0,m=0,n=0,p=0; From dc458a2e3113380ebaab5005ccba0cfd91abb5eb Mon Sep 17 00:00:00 2001 From: Serge Date: Fri, 20 Apr 2018 15:07:36 +0300 Subject: [PATCH 16/73] Add resizing image after GaussianBlur filter and synchronize host application with kernel. --- aws_demo/gaussianfilter/makefile | 13 +- aws_demo/gaussianfilter/xf_config_params.h | 6 + .../xf_gaussian_filter_accel_aws.cpp | 15 +- .../xf_gaussian_filter_config.h | 67 +++++++++ .../xf_gaussian_filter_kernel_aws.cpp | 2 +- .../gaussianfilter/xf_gaussian_filter_tb.cpp | 140 ++++++++++++++++++ 6 files changed, 230 insertions(+), 13 deletions(-) create mode 100644 aws_demo/gaussianfilter/xf_config_params.h create mode 100644 aws_demo/gaussianfilter/xf_gaussian_filter_config.h create mode 100644 aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp diff --git a/aws_demo/gaussianfilter/makefile b/aws_demo/gaussianfilter/makefile index febbf07..5974ed5 100644 --- a/aws_demo/gaussianfilter/makefile +++ b/aws_demo/gaussianfilter/makefile @@ -29,7 +29,7 @@ CXXFLAGS += -DSDX_PLATFORM=$(SDX_PLATFORM) -D__USE_XOPEN2K8 CXXFLAGS += -I/opt/Xilinx/SDx/2017.1.op/runtime/include/1_2/ CXXFLAGS += -I/opt/Xilinx/SDx/2017.1.op/include/ CXXFLAGS += -I$(XFOPENCV)/include/ -CXXFLAGS += -I$(XF_EXAMPLE_DIR)/ +#CXXFLAGS += -I$(XF_EXAMPLE_DIR)/ CXXFLAGS += -I$(XCL2_LIB_DIR)/ CXXFLAGS += -I/opt/Xilinx/SDx/2017.1.op/Vivado_HLS/include CXXFLAGS += -O2 -Wall -c -fmessage-length=0 -std=c++14 @@ -64,8 +64,11 @@ LDFLAGS += -Wl,-rpath,/opt/Xilinx/2017.1.rte.4ddr/runtime/lib/x86_64 HOST_DEP = ../src/xcl2.hpp HOST_AWS_SRC += xf_gaussian_filter_accel_aws +HOST_AWS_SRC += xf_gaussian_filter_tb + HOST_SDx_SRC += xcl2 -HOST_XF_SRC += xf_gaussian_filter_tb + +HOST_XF_SRC += HOST_AWS_DIR = ./ HOST_BLD_DIR = build/host @@ -76,7 +79,7 @@ HOST_XF_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_XF_SRC)) ) HOST_OBJ = $(HOST_XF_OBJ) $(HOST_AWS_OBJ) $(HOST_SDx_OBJ) -HOST_EXE ?= xf_arg +HOST_EXE ?= gaussian_filter_test BUILD_SUBDIRS += $(HOST_BLD_DIR) @@ -135,8 +138,8 @@ nothing: # build/kernel/xf_gaussian_filter.xo: xf_gaussian_filter_kernel_aws.cpp - @mkdir -p $(@D) - $(XOCC) $(XOCC_OPTS) -c -k xf_gaussian_filter --max_memory_ports xf_gaussian_filter --messageDb $(subst .xo,.mdb,$@) -I"$( &imgInput,xf::Mat&imgOutput, float sigma) +void gaussian_filter_accel(xf::Mat &imgInput, xf::Mat &imgOutput, float sigma) { std::vector devices = xcl::get_xil_devices(); @@ -17,7 +17,7 @@ void gaussian_filter_accel(xf::Mat &imgInput,xf::Mat< cl::CommandQueue q(context, device, CL_QUEUE_PROFILING_ENABLE); std::string device_name = device.getInfo(); - std::string binaryFile = "xf_gaussian_filter.awsxclbin"; //xcl::find_binary_file(device_name,"xf_gaussian_filter"); + std::string binaryFile = "xf_gaussian_filter.awsxclbin"; std::cout << "========" << binaryFile << " ==================" << std::endl; @@ -38,18 +38,19 @@ void gaussian_filter_accel(xf::Mat &imgInput,xf::Mat< q.enqueueMigrateMemObjects(writeBufVec,0); // 0 means from host - auto krnl = cl::KernelFunctor(kernel); + auto krnl = cl::KernelFunctor(kernel); //----------- Launch the Kernel -----------// - krnl(cl::EnqueueArgs(q, cl::NDRange(1,1,1), cl::NDRange(1,1,1)), buffer_inp, buffer_out, imgInput.rows, imgInput.cols, sigma); - - std::vector readBufVec; - readBufVec.push_back(buffer_out); + krnl(cl::EnqueueArgs(q, cl::NDRange(1,1,1), cl::NDRange(1,1,1)), buffer_inp, buffer_out, imgInput.rows, imgInput.cols, sigma, imgOutput.rows, imgOutput.cols); //----------- Copy Result from Device Global Memory to Host Local Memory -----------// + std::vector readBufVec; + readBufVec.push_back(buffer_out); + q.enqueueMigrateMemObjects(readBufVec,CL_MIGRATE_MEM_OBJECT_HOST); + q.finish(); } diff --git a/aws_demo/gaussianfilter/xf_gaussian_filter_config.h b/aws_demo/gaussianfilter/xf_gaussian_filter_config.h new file mode 100644 index 0000000..d08ce85 --- /dev/null +++ b/aws_demo/gaussianfilter/xf_gaussian_filter_config.h @@ -0,0 +1,67 @@ +/*************************************************************************** +Copyright (c) 2016, Xilinx, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors +may be used to endorse or promote products derived from this software +without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +***************************************************************************/ + +#ifndef _XF_GAUSSIAN_FILTER_CONFIG_H_ +#define _XF_GAUSSIAN_FILTER_CONFIG_H_ + +#include "hls_stream.h" +#include "common/xf_common.h" +#include "common/xf_utility.h" +#include "imgproc/xf_gaussian_filter.hpp" +#include "xf_config_params.h" + +typedef unsigned short int uint16_t; + +#define WIDTH 1920 +#define HEIGHT 1080 + + +#if FILTER_SIZE_3 +#define FILTER_WIDTH 3 +#define FILTER 3 +#elif FILTER_SIZE_5 +#define FILTER_WIDTH 5 +#define FILTER 5 +#elif FILTER_SIZE_7 +#define FILTER_WIDTH 7 +#define FILTER 7 +#endif + +#if NO +#define NPC1 XF_NPPC1 +#endif +#if RO +#define NPC1 XF_NPPC8 +#endif + +void gaussian_filter_accel(xf::Mat &imgInput, xf::Mat&imgOutput, float sigma); + + +#endif //_XF_GAUSSIAN_FILTER_CONFIG_H_ diff --git a/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp b/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp index 3c136ba..e3cf1ab 100644 --- a/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp +++ b/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp @@ -69,7 +69,7 @@ extern "C" void xf_gaussian_filter(XF_TNAME(SRC_T,NPC1) *ai, XF_TNAME(SRC_T,NPC1 //setup same maximum output image size as for source image - xf::xFresize< HEIGHT, WIDTH, SRC_T, NPC1, XF_WORDWIDTH(SRC_T,NPC1), HEIGHT, WIDTH>(flt, dst, INTERPOLATION_TYPE, rows, cols, o_rows, o_cols); + xf::xFresize< HEIGHT, WIDTH, SRC_T, NPC1, XF_WORDWIDTH(SRC_T,NPC1), HEIGHT/2, WIDTH/2>(flt, dst, INTERPOLATION_TYPE, rows, cols, o_rows, o_cols); for(int i=0;i \n"); + return -1; + } + + cv::Mat in_img, out_img, ocv_ref, ocv_ref_s, in_img_gau; + cv::Mat in_gray, in_gray1, diff; + + in_img = cv::imread(argv[1], 0); // reading in the color image + + if (!in_img.data) + { + printf("Failed to load the image ... !!!"); + return -1; + } + + //extractChannel(in_img, in_gray, 1); + diff.create(in_img.rows/2, in_img.cols/2, in_img.depth()); // create memory for diff image + + ocv_ref.create(in_img.rows, in_img.cols, in_img.depth()); // create memory for OCV output image + + ocv_ref_s.create(in_img.rows/2, in_img.cols/2, in_img.depth()); // create memory for resized OCV output image + + #if FILTER_WIDTH==3 + float sigma = 0.5f; + #endif + + #if FILTER_WIDTH==7 + float sigma=1.16666f; + #endif + + #if FILTER_WIDTH==5 + float sigma = 0.8333f; + #endif + + + // OpenCV Gaussian filter function + cv::GaussianBlur(in_img, ocv_ref, cvSize(FILTER_WIDTH, FILTER_WIDTH),FILTER_WIDTH / 6.0, FILTER_WIDTH / 6.0, cv::BORDER_CONSTANT); + + cv::resize(ocv_ref, ocv_ref_s, cvSize(ocv_ref_s.cols, ocv_ref_s.rows), 0, 0, cv::INTER_NEAREST ); + + imwrite("output_ocv.png", ocv_ref); + imwrite("output_ocv_s.png", ocv_ref); + + + xf::Mat imgInput (in_img.rows ,in_img.cols ); + xf::Mat imgOutput(in_img.rows/2,in_img.cols/2); + + //imgInput.copyTo(in_img.data); + imgInput = xf::imread(argv[1], 0); + + + gaussian_filter_accel(imgInput, imgOutput, sigma); + + + // Write output image + xf::imwrite("hls_out.jpg",imgOutput); + + //imwrite("output_hls.png", out_img); + xf::absDiff(ocv_ref_s, imgOutput, diff); // Compute absolute difference image + + imwrite("error.png", diff); // Save the difference image for debugging purpose + + // Find minimum and maximum differences. + + double minval = 256, maxval = 0; + int cnt = 0; + for (int i = 0; i < diff.rows; i++) { + for (int j = 0; j < diff.cols; j++) { + uchar v = diff.at(i, j); + if (v > 0) + cnt++; + if (minval > v) + minval = v; + if (maxval < v) + maxval = v; + } + } + float err_per = 100.0 * (float) cnt / (diff.rows * diff.cols); + printf( + "Minimum error in intensity = %f\n\ + Maximum error in intensity = %f\n\ + Percentage of pixels above error threshold = %f\n", + minval, maxval, err_per); + + if(err_per > 1){ + printf("\nTest failed\n"); + return -1; + } + else{ + printf("\nTest Pass\n"); + return 0; + } +} From 63e8ab1a81bc10fc0a0be817b375159ed2cd85f7 Mon Sep 17 00:00:00 2001 From: Serge Date: Fri, 20 Apr 2018 15:12:14 +0300 Subject: [PATCH 17/73] Add script examples to generate AFI and launch test --- aws_demo/gaussianfilter/afi/gen_afi.sh | 31 ++++++++++++++++++++++++++ aws_demo/gaussianfilter/run/run.sh | 5 +++++ 2 files changed, 36 insertions(+) create mode 100644 aws_demo/gaussianfilter/afi/gen_afi.sh create mode 100644 aws_demo/gaussianfilter/run/run.sh diff --git a/aws_demo/gaussianfilter/afi/gen_afi.sh b/aws_demo/gaussianfilter/afi/gen_afi.sh new file mode 100644 index 0000000..c18f4ee --- /dev/null +++ b/aws_demo/gaussianfilter/afi/gen_afi.sh @@ -0,0 +1,31 @@ +#!/bin/bash +echo aws s3 rm --recursive s3://xfg +aws s3 rm --recursive s3://xfg + +echo aws s3 rb s3://xfg +aws s3 rb s3://xfg + + +echo aws s3 mb s3://xfg +aws s3 mb s3://xfg + +aws s3 mb s3://xfg/dcp +touch FILES_GO_HERE.txt +aws s3 cp FILES_GO_HERE.txt s3://xfg/dcp/ + + +aws s3 mb s3://xfg/log +touch LOGS_FILES_GO_HERE.txt +aws s3 cp LOGS_FILES_GO_HERE.txt s3://xfg/log/ + +aws s3 ls --recursive s3://xfg + +rm -f FILES_GO_HERE.txt +rm -f LOGS_FILES_GO_HERE.txt + +$SDACCEL_DIR/tools/create_sdaccel_afi.sh -xclbin=xf_gaussian_filter.xclbin -s3_bucket=xfg -s3_dcp_key=dcp -s3_logs_key=log + +cat *afi* + +@echo use following command to check afi ready +@echo aws ec2 describe-fpga-images --fpga-image-id diff --git a/aws_demo/gaussianfilter/run/run.sh b/aws_demo/gaussianfilter/run/run.sh new file mode 100644 index 0000000..103d272 --- /dev/null +++ b/aws_demo/gaussianfilter/run/run.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +source /opt/Xilinx/SDx/2017.1.rte.4ddr/setup.sh + +./xf_arg im1.jpg From 825babcdbc7ac391b768c121e2204ac07a7f7f54 Mon Sep 17 00:00:00 2001 From: Serge Date: Fri, 20 Apr 2018 15:15:03 +0300 Subject: [PATCH 18/73] Correct misprint --- aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp b/aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp index 977d628..337983a 100644 --- a/aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp +++ b/aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp @@ -86,7 +86,7 @@ int main(int argc, char **argv) cv::resize(ocv_ref, ocv_ref_s, cvSize(ocv_ref_s.cols, ocv_ref_s.rows), 0, 0, cv::INTER_NEAREST ); imwrite("output_ocv.png", ocv_ref); - imwrite("output_ocv_s.png", ocv_ref); + imwrite("output_ocv_s.png", ocv_ref_s); xf::Mat imgInput (in_img.rows ,in_img.cols ); From f3621a04b0fe1b9d90d630971a1313cdd6419a0d Mon Sep 17 00:00:00 2001 From: Goutham Borra Date: Mon, 23 Apr 2018 17:51:30 +0530 Subject: [PATCH 19/73] Updated stereoBM testbench file --- examples/stereolbm/xf_stereoBM_tb.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/stereolbm/xf_stereoBM_tb.cpp b/examples/stereolbm/xf_stereoBM_tb.cpp index 4a98676..b906da7 100644 --- a/examples/stereolbm/xf_stereoBM_tb.cpp +++ b/examples/stereolbm/xf_stereoBM_tb.cpp @@ -137,9 +137,9 @@ int main(int argc, char** argv) int cnt=0, total = 0; - for(int i=(SAD_WINDOW_SIZE>>1)+20; i>1)+20); i++) + for(int i=SAD_WINDOW_SIZE; i>1)+20; j>1)+20); j++) + for(int j=SAD_WINDOW_SIZE; j (i,j))-(out_disp_img.data[i*out_disp_img.cols +j]); From 800c68206b23f4dc81485525c226627871a16121 Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Fri, 27 Apr 2018 17:58:41 +0900 Subject: [PATCH 20/73] xf_npyr_opt_flow URAM opimization: initial commit, computeSum() for boh rates is done. --- examples/lknpyroflow/xf_config_params.h | 3 +- .../xf_dense_npyr_optical_flow_accel.cpp | 2 +- .../imgproc/xf_dense_npyr_optical_flow.hpp | 213 ++++++++++-------- 3 files changed, 117 insertions(+), 101 deletions(-) diff --git a/examples/lknpyroflow/xf_config_params.h b/examples/lknpyroflow/xf_config_params.h index 6e91f55..c9b25c8 100644 --- a/examples/lknpyroflow/xf_config_params.h +++ b/examples/lknpyroflow/xf_config_params.h @@ -1,4 +1,5 @@ #define MAX_HEIGHT 2160 #define MAX_WIDTH 3840 #define WORD_SZ 1 -#define KMED 25 \ No newline at end of file +#define KMED 25 +#define XF_USE_URAM false diff --git a/examples/lknpyroflow/xf_dense_npyr_optical_flow_accel.cpp b/examples/lknpyroflow/xf_dense_npyr_optical_flow_accel.cpp index cbb1ba8..7980c37 100644 --- a/examples/lknpyroflow/xf_dense_npyr_optical_flow_accel.cpp +++ b/examples/lknpyroflow/xf_dense_npyr_optical_flow_accel.cpp @@ -31,6 +31,6 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. void dense_non_pyr_of_accel(xf::Mat &buf0, xf::Mat &buf1, xf::Mat &flowx, xf::Mat &flowy) { - xf::DenseNonPyrLKOpticalFlow(buf0, buf1, flowx, flowy); + xf::DenseNonPyrLKOpticalFlow(buf0, buf1, flowx, flowy); } diff --git a/include/imgproc/xf_dense_npyr_optical_flow.hpp b/include/imgproc/xf_dense_npyr_optical_flow.hpp index b79a327..7782d6f 100644 --- a/include/imgproc/xf_dense_npyr_optical_flow.hpp +++ b/include/imgproc/xf_dense_npyr_optical_flow.hpp @@ -170,7 +170,7 @@ namespace xf{ // TODO: // 1. Dont need the entire column for img1Win and img2Win. Need only the kernel // 2. Full line buffer is not needed - template + template static void computeSums16 (hls::stream < mywide_t< XF_NPIXPERCYCLE(NPC) > > img1Col [(WINDOW_SIZE+1)], hls::stream < mywide_t< XF_NPIXPERCYCLE(NPC) > > img2Col [(WINDOW_SIZE+1)], hls::stream & ixix_out0, @@ -208,34 +208,55 @@ namespace xf{ // For II=1 pipelining, need two read and 1 write ports. Simulating it with // two arrays that have their write ports tied together. // TODO need only MAX_WODTH/2. Have to adjust zIdx and nIdx as well - static int csIxixO [COLS], csIxiyO [COLS], csIyiyO [COLS], csDixO [COLS], csDiyO [COLS]; - static int csIxixE [COLS], csIxiyE [COLS], csIyiyE [COLS], csDixE [COLS], csDiyE [COLS]; - - static int cbIxixO [COLS], cbIxiyO [COLS], cbIyiyO [COLS], cbDixO [COLS], cbDiyO [COLS]; - static int cbIxixE [COLS], cbIxiyE [COLS], cbIyiyE [COLS], cbDixE [COLS], cbDiyE [COLS]; - - int zIdx= - (WINDOW_SIZE-2); // odd - int zIdx1 = zIdx + 1; // even - - int nIdx = zIdx + WINDOW_SIZE-2; // even (0) - int nIdx1 = nIdx + 1; // odd - + static int csIxixO [COLS/2], csIxiyO [COLS/2], csIyiyO [COLS/2], csDixO [COLS/2], csDiyO [COLS/2]; + static int csIxixE [COLS/2], csIxiyE [COLS/2], csIyiyE [COLS/2], csDixE [COLS/2], csDiyE [COLS/2]; + + static int cbIxixO [COLS/2], cbIxiyO [COLS/2], cbIyiyO [COLS/2], cbDixO [COLS/2], cbDiyO [COLS/2]; + static int cbIxixE [COLS/2], cbIxiyE [COLS/2], cbIyiyE [COLS/2], cbDixE [COLS/2], cbDiyE [COLS/2]; + + int zIdx= - (WINDOW_SIZE/2-1); + int nIdx = zIdx + WINDOW_SIZE/2-1; + + #pragma HLS ARRAY_MAP variable=csIxixO instance=csO vertical + #pragma HLS ARRAY_MAP variable=csIxiyO instance=csO vertical + #pragma HLS ARRAY_MAP variable=csIyiyO instance=csO vertical + #pragma HLS ARRAY_MAP variable=csDixO instance=csO vertical + #pragma HLS ARRAY_MAP variable=csDiyO instance=csO vertical + + #pragma HLS ARRAY_MAP variable=csIxixE instance=csE vertical + #pragma HLS ARRAY_MAP variable=csIxiyE instance=csE vertical + #pragma HLS ARRAY_MAP variable=csIyiyE instance=csE vertical + #pragma HLS ARRAY_MAP variable=csDixE instance=csE vertical + #pragma HLS ARRAY_MAP variable=csDiyE instance=csE vertical + + #pragma HLS ARRAY_MAP variable=cbIxixO instance=cb vertical + #pragma HLS ARRAY_MAP variable=cbIxiyO instance=cb vertical + #pragma HLS ARRAY_MAP variable=cbIyiyO instance=cb vertical + #pragma HLS ARRAY_MAP variable=cbDixO instance=cb vertical + #pragma HLS ARRAY_MAP variable=cbDiyO instance=cb vertical + #pragma HLS ARRAY_MAP variable=cbIxixE instance=cb vertical + #pragma HLS ARRAY_MAP variable=cbIxiyE instance=cb vertical + #pragma HLS ARRAY_MAP variable=cbIyiyE instance=cb vertical + #pragma HLS ARRAY_MAP variable=cbDixE instance=cb vertical + #pragma HLS ARRAY_MAP variable=cbDiyE instance=cb vertical + + if (USE_URAM) { + #pragma HLS RESOURCE variable=csIxixO core=XPM_MEMORY uram + #pragma HLS RESOURCE variable=csIxixE core=XPM_MEMORY uram + #pragma HLS RESOURCE variable=cbIxixO core=XPM_MEMORY uram + } + else { #pragma HLS RESOURCE variable=csIxixO core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=csIxiyO core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=csIyiyO core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=csDixO core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=csDiyO core=RAM_2P_BRAM + #pragma HLS RESOURCE variable=csIxixE core=RAM_2P_BRAM + #pragma HLS RESOURCE variable=cbIxixO core=RAM_2P_BRAM + } + #pragma HLS DEPENDENCE variable=csIxixO inter WAR false #pragma HLS DEPENDENCE variable=csIxiyO inter WAR false #pragma HLS DEPENDENCE variable=csIyiyO inter WAR false #pragma HLS DEPENDENCE variable=csDixO inter WAR false #pragma HLS DEPENDENCE variable=csDiyO inter WAR false - #pragma HLS RESOURCE variable=csIxixE core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=csIxiyE core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=csIyiyE core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=csDixE core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=csDiyE core=RAM_2P_BRAM #pragma HLS DEPENDENCE variable=csIxixE inter WAR false #pragma HLS DEPENDENCE variable=csIxiyE inter WAR false #pragma HLS DEPENDENCE variable=csIyiyE inter WAR false @@ -243,28 +264,12 @@ namespace xf{ #pragma HLS DEPENDENCE variable=csDiyE inter WAR false - #pragma HLS RESOURCE variable=cbIxixO core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=cbIxiyO core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=cbIyiyO core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=cbDixO core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=cbDiyO core=RAM_2P_BRAM #pragma HLS DEPENDENCE variable=cbIxixO inter WAR false #pragma HLS DEPENDENCE variable=cbIxiyO inter WAR false #pragma HLS DEPENDENCE variable=cbIyiyO inter WAR false #pragma HLS DEPENDENCE variable=cbDixO inter WAR false #pragma HLS DEPENDENCE variable=cbDiyO inter WAR false -#if PLATFORM_ZCU104 - #pragma HLS RESOURCE variable=cbIxixE core=XPM_MEMORY uram - #pragma HLS RESOURCE variable=cbIxiyE core=XPM_MEMORY uram - #pragma HLS RESOURCE variable=cbIyiyE core=XPM_MEMORY uram -#else - #pragma HLS RESOURCE variable=cbIxixE core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=cbIxiyE core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=cbIyiyE core=RAM_2P_BRAM -#endif - #pragma HLS RESOURCE variable=cbDixE core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=cbDiyE core=RAM_2P_BRAM #pragma HLS DEPENDENCE variable=cbIxixE inter WAR false #pragma HLS DEPENDENCE variable=cbIxiyE inter WAR false #pragma HLS DEPENDENCE variable=cbIyiyE inter WAR false @@ -284,18 +289,18 @@ namespace xf{ int csIxixL1 = 0, csIxiyL1 = 0, csIyiyL1 = 0, csDixL1 = 0, csDiyL1 = 0; if (zIdx >= 0) { - csIxixL0 = csIxixO [zIdx]; - csIxiyL0 = csIxiyO [zIdx]; - csIyiyL0 = csIyiyO [zIdx]; - csDixL0 = csDixO [zIdx]; - csDiyL0 = csDiyO [zIdx]; - } - if (zIdx1 >= 0) { - csIxixL1 = csIxixE [zIdx1]; - csIxiyL1 = csIxiyE [zIdx1]; - csIyiyL1 = csIyiyE [zIdx1]; - csDixL1 = csDixE [zIdx1]; - csDiyL1 = csDiyE [zIdx1]; + int const zIdxPrev = zIdx==0 ? cols/2-1 : zIdx-1; + csIxixL0 = csIxixO [zIdxPrev]; + csIxiyL0 = csIxiyO [zIdxPrev]; + csIyiyL0 = csIyiyO [zIdxPrev]; + csDixL0 = csDixO [zIdxPrev]; + csDiyL0 = csDiyO [zIdxPrev]; + + csIxixL1 = csIxixE [zIdx]; + csIxiyL1 = csIxiyE [zIdx]; + csIyiyL1 = csIyiyE [zIdx]; + csDixL1 = csDixE [zIdx]; + csDiyL1 = csDiyE [zIdx]; } for (int wr=0; wr<(WINDOW_SIZE+1); ++wr) { @@ -344,11 +349,11 @@ namespace xf{ csDixR0 = cbDixE [nIdx] + delBotR0 * cIxBotR0 - delTopR0 * cIxTopR0; csDiyR0 = cbDiyE [nIdx] + delBotR0 * cIyBotR0 - delTopR0 * cIyTopR0; - csIxixR1 = cbIxixO [nIdx1] + cIxBotR1 * cIxBotR1 - cIxTopR1 * cIxTopR1; - csIxiyR1 = cbIxiyO [nIdx1] + cIxBotR1 * cIyBotR1 - cIxTopR1 * cIyTopR1; - csIyiyR1 = cbIyiyO [nIdx1] + cIyBotR1 * cIyBotR1 - cIyTopR1 * cIyTopR1; - csDixR1 = cbDixO [nIdx1] + delBotR1 * cIxBotR1 - delTopR1 * cIxTopR1; - csDiyR1 = cbDiyO [nIdx1] + delBotR1 * cIyBotR1 - delTopR1 * cIyTopR1; + csIxixR1 = cbIxixO [nIdx] + cIxBotR1 * cIxBotR1 - cIxTopR1 * cIxTopR1; + csIxiyR1 = cbIxiyO [nIdx] + cIxBotR1 * cIyBotR1 - cIxTopR1 * cIyTopR1; + csIyiyR1 = cbIyiyO [nIdx] + cIyBotR1 * cIyBotR1 - cIyTopR1 * cIyTopR1; + csDixR1 = cbDixO [nIdx] + delBotR1 * cIxBotR1 - delTopR1 * cIxTopR1; + csDiyR1 = cbDiyO [nIdx] + delBotR1 * cIyBotR1 - delTopR1 * cIyTopR1; int tmpixix0 = (csIxixR0 - csIxixL0); int tmpixix1 = (csIxixR0 - csIxixL0) + (csIxixR1 - csIxixL1); @@ -415,29 +420,22 @@ namespace xf{ csDixE [nIdx] = csDixR0; csDiyE [nIdx] = csDiyR0; - cbIxixO [nIdx1] = csIxixR1; - cbIxiyO [nIdx1] = csIxiyR1; - cbIyiyO [nIdx1] = csIyiyR1; - cbDixO [nIdx1] = csDixR1; - cbDiyO [nIdx1] = csDiyR1; - - csIxixO [nIdx1] = csIxixR1; - csIxiyO [nIdx1] = csIxiyR1; - csIyiyO [nIdx1] = csIyiyR1; - csDixO [nIdx1] = csDixR1; - csDiyO [nIdx1] = csDiyR1; - - // zIdx is always odd, zIdx1 is even - // nIdx is always even, nIdx1 is odd - zIdx += 2; - if (zIdx >= cols) zIdx = 1; - zIdx1 += 2; - if (zIdx1 == cols) zIdx1 = 0; - - nIdx += 2; - if (nIdx == cols) nIdx = 0; - nIdx1 += 2; - if (nIdx1 >= cols) nIdx1 = 1; + cbIxixO [nIdx] = csIxixR1; + cbIxiyO [nIdx] = csIxiyR1; + cbIyiyO [nIdx] = csIyiyR1; + cbDixO [nIdx] = csDixR1; + cbDiyO [nIdx] = csDiyR1; + + csIxixO [nIdx] = csIxixR1; + csIxiyO [nIdx] = csIxiyR1; + csIyiyO [nIdx] = csIyiyR1; + csDixO [nIdx] = csDixR1; + csDiyO [nIdx] = csDiyR1; + + zIdx ++; + if (zIdx == cols/2) zIdx = 0; + nIdx ++; + if (nIdx == cols/2) nIdx = 0; } } @@ -451,7 +449,7 @@ namespace xf{ img1Col0 [r] =0; img2Col0 [r] =0; img1Col1 [r] =0; img2Col1 [r] =0; } - for (int r=0; r < cols; ++r) { + for (int r=0; r < cols/2; ++r) { #pragma HLS LOOP_TRIPCOUNT min=1 max=COLS #pragma HLS PIPELINE csIxixO [r] = 0; csIxiyO [r] = 0; csIyiyO [r] = 0; csDixO [r] = 0; csDiyO [r] = 0; @@ -588,7 +586,7 @@ namespace xf{ // top level wrapper to avoid dataflow problems //void flowWrap (mywide_t frame0[NUM_WORDS], mywide_t frame1[NUM_WORDS], rgba2_t framef[NUM_WORDS]) - template + template static void flowWrap16 (ap_uint<16> *frame0, ap_uint<16> *frame1, ap_uint<64> *flowx, ap_uint<64> *flowy, int rows, int cols, int size) { //#pragma HLS data_pack variable=frame0 @@ -643,7 +641,7 @@ namespace xf{ readMatRows16 (frame1, f1Stream, rows, cols, size); lbWrapper16 (f0Stream, f1Stream, img1Col, img2Col, rows, cols, size); - computeSums16 (img1Col, img2Col, + computeSums16 (img1Col, img2Col, ixix0, ixiy0, iyiy0, dix0, diy0, ixix1, ixiy1, iyiy1, dix1, diy1, rows, cols, size); @@ -666,12 +664,12 @@ namespace xf{ // ulonglong = 64 bits, 32 bits per color pixel (rgba), so two color pix //void fpga_optflow (unsigned short *frame0, unsigned short *frame1, unsigned long long *framef) //void fpga_optflow (unsigned short frame0[NUM_WORDS], unsigned short frame1[NUM_WORDS], unsigned long long framef[NUM_WORDS]) - template + template static void fpga_optflow16 (ap_uint<16> *frame0, ap_uint<16> *frame1, ap_uint<64> *flowx, ap_uint<64> *flowy, int rows, int cols, int size) { #pragma HLS inline off - flowWrap16 (frame0, frame1, flowx, flowy, rows, cols, size); + flowWrap16 (frame0, frame1, flowx, flowy, rows, cols, size); return; @@ -713,7 +711,7 @@ namespace xf{ // TODO: // 1. Dont need the entire column for img1Win and img2Win. Need only the kernel // 2. Full line buffer is not needed - template + template static void computeSums (hls::stream img1Col [(WINDOW_SIZE+1)], hls::stream img2Col [(WINDOW_SIZE+1)], hls::stream & ixix_out, @@ -742,21 +740,38 @@ namespace xf{ int zIdx= - (WINDOW_SIZE-2); int nIdx = zIdx + WINDOW_SIZE-2; + #pragma HLS ARRAY_MAP variable=csIxix instance=cs vertical + #pragma HLS ARRAY_MAP variable=csIxiy instance=cs vertical + #pragma HLS ARRAY_MAP variable=csIyiy instance=cs vertical + #pragma HLS ARRAY_MAP variable=csDix instance=cs vertical + #pragma HLS ARRAY_MAP variable=csDiy instance=cs vertical + + if (USE_URAM) { + #pragma HLS RESOURCE variable=csIxix core=XPM_MEMORY uram + } + else { #pragma HLS RESOURCE variable=csIxix core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=csIxiy core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=csIyiy core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=csDix core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=csDiy core=RAM_2P_BRAM + } + #pragma HLS DEPENDENCE variable=csIxix inter WAR false #pragma HLS DEPENDENCE variable=csIxiy inter WAR false #pragma HLS DEPENDENCE variable=csIyiy inter WAR false #pragma HLS DEPENDENCE variable=csDix inter WAR false #pragma HLS DEPENDENCE variable=csDiy inter WAR false + + #pragma HLS ARRAY_MAP variable=cbIxix instance=cb vertical + #pragma HLS ARRAY_MAP variable=cbIxiy instance=cb vertical + #pragma HLS ARRAY_MAP variable=cbIyiy instance=cb vertical + #pragma HLS ARRAY_MAP variable=cbDix instance=cb vertical + #pragma HLS ARRAY_MAP variable=cbDiy instance=cb vertical + + if (USE_URAM) { + #pragma HLS RESOURCE variable=cbIxix core=XPM_MEMORY uram + } + else { #pragma HLS RESOURCE variable=cbIxix core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=cbIxiy core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=cbIyiy core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=cbDix core=RAM_2P_BRAM - #pragma HLS RESOURCE variable=cbDiy core=RAM_2P_BRAM + } + #pragma HLS DEPENDENCE variable=cbIxix inter WAR false #pragma HLS DEPENDENCE variable=cbIxiy inter WAR false #pragma HLS DEPENDENCE variable=cbIyiy inter WAR false @@ -1008,7 +1023,7 @@ namespace xf{ } // top level wrapper to avoid dataflow problems - template + template static void flowWrap (ap_uint<8> *frame0, ap_uint<8> *frame1, float *flowx, float *flowy, int rows, int cols, int size) { #pragma HLS inline off @@ -1048,7 +1063,7 @@ namespace xf{ lbWrapper (f0Stream, f1Stream, img1Col, img2Col, rows, cols, size); - computeSums (img1Col, img2Col, ixix, ixiy, iyiy, dix, diy, rows, cols, size); + computeSums (img1Col, img2Col, ixix, ixiy, iyiy, dix, diy, rows, cols, size); computeFlow (ixix, ixiy, iyiy, dix, diy, fx, fy, rows, cols, size); @@ -1062,12 +1077,12 @@ namespace xf{ // frame0 - First input frame (grayscale 1 byte per pixel) // frame1 - Second input frame (grayscale 1 byte per pixel) // framef - Output frame with flows visualized. 3 bytes per pixel + 1 byte padding - template + template static void fpga_optflow8 (ap_uint<8> *frame0, ap_uint<8> *frame1, float *flowx, float *flowy, int rows, int cols, int size) { #pragma HLS inline off - flowWrap(frame0, frame1, flowx, flowy, rows, cols, size); + flowWrap(frame0, frame1, flowx, flowy, rows, cols, size); return; @@ -1087,16 +1102,16 @@ namespace xf{ #pragma SDS data copy("frame1.data"[0:"frame1.size"]) #pragma SDS data copy("flowx.data"[0:"flowx.size"]) #pragma SDS data copy("flowy.data"[0:"flowy.size"]) -template +template void DenseNonPyrLKOpticalFlow (xf::Mat & frame0, xf::Mat & frame1, xf::Mat & flowx, xf::Mat & flowy) { if(NPC==XF_NPPC1) { - fpga_optflow8 ( (ap_uint<8> *) frame0.data, (ap_uint<8> *)frame1.data, (float *)flowx.data, (float *)flowy.data, frame0.rows, frame0.cols, frame0.size); + fpga_optflow8 ( (ap_uint<8> *) frame0.data, (ap_uint<8> *)frame1.data, (float *)flowx.data, (float *)flowy.data, frame0.rows, frame0.cols, frame0.size); } else { - fpga_optflow16 ( (ap_uint<16> *) frame0.data, (ap_uint<16> *) frame1.data, (ap_uint<64> *)flowx.data, (ap_uint<64> *)flowy.data, frame0.rows, frame0.cols, frame0.size); + fpga_optflow16 ( (ap_uint<16> *) frame0.data, (ap_uint<16> *) frame1.data, (ap_uint<64> *)flowx.data, (ap_uint<64> *)flowy.data, frame0.rows, frame0.cols, frame0.size); } } } From 8cf8408cd545530adb7b406f7427750a4631f06d Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Tue, 1 May 2018 13:28:31 +0900 Subject: [PATCH 21/73] xf_npyr_opt_flow URAM optimization: lbWrapper() for both rates is done. --- .../imgproc/xf_dense_npyr_optical_flow.hpp | 82 +++++++++++++------ 1 file changed, 55 insertions(+), 27 deletions(-) diff --git a/include/imgproc/xf_dense_npyr_optical_flow.hpp b/include/imgproc/xf_dense_npyr_optical_flow.hpp index 7782d6f..bd4b502 100644 --- a/include/imgproc/xf_dense_npyr_optical_flow.hpp +++ b/include/imgproc/xf_dense_npyr_optical_flow.hpp @@ -532,15 +532,27 @@ namespace xf{ // line buffer for both input images. Can be split to a fn that models a single // linebuffer - template + template static void lbWrapper16 (hls::stream < mywide_t< XF_NPIXPERCYCLE(NPC) > >& f0Stream, hls::stream < mywide_t< XF_NPIXPERCYCLE(NPC) > >& f1Stream, hls::stream < mywide_t< XF_NPIXPERCYCLE(NPC) > > img1Col[(WINDOW_SIZE+1)], hls::stream < mywide_t< XF_NPIXPERCYCLE(NPC) > > img2Col[(WINDOW_SIZE+1)], int rows, int cols, int size) { - static mywide_t< XF_NPIXPERCYCLE(NPC) > lb1 [(WINDOW_SIZE+1)][COLS/2], lb2 [(WINDOW_SIZE+1)][COLS/2]; - #pragma HLS ARRAY_PARTITION variable=lb1 complete dim=1 - #pragma HLS ARRAY_PARTITION variable=lb2 complete dim=1 + static pix_t lb1 [(WINDOW_SIZE+1)][COLS/XF_NPIXPERCYCLE(NPC)][XF_NPIXPERCYCLE(NPC)], + lb2 [(WINDOW_SIZE+1)][COLS/XF_NPIXPERCYCLE(NPC)][XF_NPIXPERCYCLE(NPC)]; + + #pragma HLS ARRAY_MAP variable=lb1 instance=lbMap vertical + #pragma HLS ARRAY_MAP variable=lb2 instance=lbMap vertical + + #pragma HLS ARRAY_RESHAPE variable=lb1 complete dim=1 + #pragma HLS ARRAY_RESHAPE variable=lb2 complete dim=1 + #pragma HLS ARRAY_RESHAPE variable=lb1 complete dim=3 + #pragma HLS ARRAY_RESHAPE variable=lb2 complete dim=3 + + if (USE_URAM) { + #pragma HLS RESOURCE variable=lb1 core=XPM_MEMORY uram + #pragma HLS RESOURCE variable=lb2 core=XPM_MEMORY uram + } for (int r = 0; r < rows; r++) { #pragma HLS LOOP_TRIPCOUNT min=1 max=ROWS @@ -550,36 +562,46 @@ namespace xf{ #pragma HLS pipeline // shift up both linebuffers at col=c for (int i = 0; i < ((WINDOW_SIZE+1) - 1); i++) { - lb1 [i][c] = lb1 [i + 1][c]; - img1Col [i]. write (lb1 [i][c]); - - lb2 [i][c] = lb2 [i+1][c]; - img2Col [i]. write (lb2 [i][c]); + mywide_t< XF_NPIXPERCYCLE(NPC) > lb; + + for (int k = 0; k pix0 = f0Stream. read (); - lb1 [(WINDOW_SIZE+1) - 1][c] = pix0; img1Col [(WINDOW_SIZE+1) - 1]. write (pix0); mywide_t< XF_NPIXPERCYCLE(NPC) > pix1 = f1Stream. read (); - lb2 [(WINDOW_SIZE+1) -1][c] = pix1; img2Col [(WINDOW_SIZE+1) - 1]. write (pix1); + + for (int k = 0; k tmpClr; - tmpClr. data [0] = 0; - tmpClr. data [1] = 0; - for (int r = 0; r < (WINDOW_SIZE+1); r++) { - #pragma HLS LOOP_TRIPCOUNT min=1 max=WINDOW_SIZE+1 - for (int c = 0; c < cols/2; c++) { + for (int c = 0; c < cols/2; c++) { #pragma HLS LOOP_TRIPCOUNT min=1 max=COLS/2 #pragma HLS PIPELINE - lb1 [r][c] = tmpClr; - lb2 [r][c] = tmpClr; + for (int r = 0; r < (WINDOW_SIZE+1); r++) { + #pragma HLS LOOP_TRIPCOUNT min=1 max=WINDOW_SIZE+1 + for (int k = 0; k (frame0, f0Stream, rows, cols, size); readMatRows16 (frame1, f1Stream, rows, cols, size); - lbWrapper16 (f0Stream, f1Stream, img1Col, img2Col, rows, cols, size); + lbWrapper16 (f0Stream, f1Stream, img1Col, img2Col, rows, cols, size); computeSums16 (img1Col, img2Col, ixix0, ixiy0, iyiy0, dix0, diy0, ixix1, ixiy1, iyiy1, dix1, diy1, rows, cols, size); @@ -972,15 +994,21 @@ namespace xf{ // line buffer for both input images. Can be split to a fn that models a single // linebuffer - template + template static void lbWrapper (hls::stream & f0Stream, hls::stream & f1Stream, hls::stream img1Col[(WINDOW_SIZE+1)], hls::stream img2Col[(WINDOW_SIZE+1)], int rows, int cols, int size) { static pix_t lb1 [(WINDOW_SIZE+1)][COLS], lb2 [(WINDOW_SIZE+1)][COLS]; - #pragma HLS ARRAY_PARTITION variable=lb1 complete dim=1 - #pragma HLS ARRAY_PARTITION variable=lb2 complete dim=1 + #pragma HLS ARRAY_MAP variable=lb1 instance=lbMap vertical + #pragma HLS ARRAY_MAP variable=lb2 instance=lbMap vertical + #pragma HLS ARRAY_RESHAPE variable=lb1 complete dim=1 + #pragma HLS ARRAY_RESHAPE variable=lb2 complete dim=1 + if (USE_URAM) { + #pragma HLS RESOURCE variable=lb1 core=XPM_MEMORY uram + #pragma HLS RESOURCE variable=lb2 core=XPM_MEMORY uram + } for (int r = 0; r < rows; r++) { #pragma HLS LOOP_TRIPCOUNT min=1 max=ROWS @@ -1011,11 +1039,11 @@ namespace xf{ // cleanup - for (int r = 0; r < (WINDOW_SIZE+1); r++) { - #pragma HLS LOOP_TRIPCOUNT min=1 max=ROWS - for (int c = 0; c < COLS; c++) { + for (int c = 0; c < cols; c++) { #pragma HLS LOOP_TRIPCOUNT min=1 max=COLS #pragma HLS PIPELINE + for (int r = 0; r < (WINDOW_SIZE+1); r++) { + #pragma HLS LOOP_TRIPCOUNT min=1 max=WINDOW_SIZE+1 lb1 [r][c] = 0; lb2 [r][c] = 0; } @@ -1061,7 +1089,7 @@ namespace xf{ readMatRows (frame0, f0Stream, rows, cols, size); readMatRows (frame1, f1Stream, rows, cols, size); - lbWrapper (f0Stream, f1Stream, img1Col, img2Col, rows, cols, size); + lbWrapper (f0Stream, f1Stream, img1Col, img2Col, rows, cols, size); computeSums (img1Col, img2Col, ixix, ixiy, iyiy, dix, diy, rows, cols, size); From 9d096b8cc49df4ff70b9e45e7a62ac59b6f90a13 Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Thu, 3 May 2018 14:06:51 +0900 Subject: [PATCH 22/73] xf_npyr_opt_flow URAM optimization: pipeline pragma is changed to UNROLL for cleanup loop with fully partioned arrays. --- include/imgproc/xf_dense_npyr_optical_flow.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/imgproc/xf_dense_npyr_optical_flow.hpp b/include/imgproc/xf_dense_npyr_optical_flow.hpp index bd4b502..791c78d 100644 --- a/include/imgproc/xf_dense_npyr_optical_flow.hpp +++ b/include/imgproc/xf_dense_npyr_optical_flow.hpp @@ -444,7 +444,7 @@ namespace xf{ // TODO zero in the line buffer instead, for r < WINDOW_SIZE for (int r = 0; r < (WINDOW_SIZE+1); r++) { #pragma HLS LOOP_TRIPCOUNT min=1 max=WINDOW_SIZE+1 - #pragma HLS PIPELINE + #pragma HLS UNROLL img1Win [r] = 0; img1Win [r+(WINDOW_SIZE+1)] = 0; img2Win [r] = 0; img1Col0 [r] =0; img2Col0 [r] =0; img1Col1 [r] =0; img2Col1 [r] =0; @@ -897,7 +897,7 @@ namespace xf{ // TODO zero in the line buffer instead, for r < WINDOW_SIZE for (int r = 0; r < (WINDOW_SIZE+1); r++) { #pragma HLS LOOP_TRIPCOUNT min=1 max=WINDOW_SIZE+1 - #pragma HLS PIPELINE + #pragma HLS UNROLL img1Win [r] = 0; img1Win [r+(WINDOW_SIZE+1)] = 0; img2Win [r] = 0; img1Col_ [r] =0; img2Col_ [r] =0; } From 0c30f43cf17a90152918caca2b1e93a08b5cfb81 Mon Sep 17 00:00:00 2001 From: Serge Date: Thu, 3 May 2018 08:43:23 +0300 Subject: [PATCH 23/73] Apply found work around to xf_gaussian_filter.hpp and rework AWS examples to call top level function of Gaussian filter from xfopencv library --- .../xf_gaussian_filter_accel_aws.cpp | 17 +-- .../xf_gaussian_filter_config.h | 96 +++++++----- .../xf_gaussian_filter_kernel_aws.cpp | 118 ++++++++------- .../gaussianfilter/xf_gaussian_filter_tb.cpp | 141 +++++++++--------- include/imgproc/xf_gaussian_filter.hpp | 64 ++++---- 5 files changed, 237 insertions(+), 199 deletions(-) diff --git a/aws_demo/gaussianfilter/xf_gaussian_filter_accel_aws.cpp b/aws_demo/gaussianfilter/xf_gaussian_filter_accel_aws.cpp index 206f36e..bb05799 100644 --- a/aws_demo/gaussianfilter/xf_gaussian_filter_accel_aws.cpp +++ b/aws_demo/gaussianfilter/xf_gaussian_filter_accel_aws.cpp @@ -6,7 +6,7 @@ #include "xf_gaussian_filter_config.h" -void gaussian_filter_accel(xf::Mat &imgInput, xf::Mat &imgOutput, float sigma) +void gaussian_filter_accel(xf::Mat &img_inp, xf::Mat &img_out, float sigma) { std::vector devices = xcl::get_xil_devices(); @@ -28,29 +28,28 @@ void gaussian_filter_accel(xf::Mat &imgInput, xf:: //----------- Allocate Buffer in Global Memory -----------// - cl::Buffer buffer_inp(context,CL_MEM_USE_HOST_PTR | CL_MEM_READ_ONLY , imgInput.rows * imgInput.cols, imgInput.data); - cl::Buffer buffer_out(context,CL_MEM_USE_HOST_PTR | CL_MEM_WRITE_ONLY, imgOutput.rows * imgOutput.cols, imgOutput.data); + cl::Buffer buffer_inp(context,CL_MEM_USE_HOST_PTR | CL_MEM_READ_ONLY , img_inp.rows * img_inp.cols, img_inp.data); + cl::Buffer buffer_out(context,CL_MEM_USE_HOST_PTR | CL_MEM_WRITE_ONLY, img_out.rows * img_out.cols, img_out.data); std::vector writeBufVec; writeBufVec.push_back(buffer_inp); - //----------- Migrate input data to device global memory -----------// + //----------- Migrate input data to device global memory -----------// - q.enqueueMigrateMemObjects(writeBufVec,0); // 0 means from host + q.enqueueMigrateMemObjects(writeBufVec,0); // 0 means from host auto krnl = cl::KernelFunctor(kernel); //----------- Launch the Kernel -----------// - krnl(cl::EnqueueArgs(q, cl::NDRange(1,1,1), cl::NDRange(1,1,1)), buffer_inp, buffer_out, imgInput.rows, imgInput.cols, sigma, imgOutput.rows, imgOutput.cols); + krnl(cl::EnqueueArgs(q, cl::NDRange(1,1,1), cl::NDRange(1,1,1)), buffer_inp, buffer_out, img_inp.rows, img_inp.cols, sigma, img_out.rows, img_out.cols); - //----------- Copy Result from Device Global Memory to Host Local Memory -----------// + //----------- Copy Result from Device Global Memory to Host Local Memory -----------// std::vector readBufVec; readBufVec.push_back(buffer_out); - q.enqueueMigrateMemObjects(readBufVec,CL_MIGRATE_MEM_OBJECT_HOST); + q.enqueueMigrateMemObjects(readBufVec,CL_MIGRATE_MEM_OBJECT_HOST); q.finish(); - } diff --git a/aws_demo/gaussianfilter/xf_gaussian_filter_config.h b/aws_demo/gaussianfilter/xf_gaussian_filter_config.h index d08ce85..08ecff9 100644 --- a/aws_demo/gaussianfilter/xf_gaussian_filter_config.h +++ b/aws_demo/gaussianfilter/xf_gaussian_filter_config.h @@ -29,39 +29,65 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***************************************************************************/ #ifndef _XF_GAUSSIAN_FILTER_CONFIG_H_ -#define _XF_GAUSSIAN_FILTER_CONFIG_H_ - -#include "hls_stream.h" -#include "common/xf_common.h" -#include "common/xf_utility.h" -#include "imgproc/xf_gaussian_filter.hpp" -#include "xf_config_params.h" - -typedef unsigned short int uint16_t; - -#define WIDTH 1920 -#define HEIGHT 1080 - - -#if FILTER_SIZE_3 -#define FILTER_WIDTH 3 -#define FILTER 3 -#elif FILTER_SIZE_5 -#define FILTER_WIDTH 5 -#define FILTER 5 -#elif FILTER_SIZE_7 -#define FILTER_WIDTH 7 -#define FILTER 7 -#endif - -#if NO -#define NPC1 XF_NPPC1 -#endif -#if RO -#define NPC1 XF_NPPC8 -#endif - -void gaussian_filter_accel(xf::Mat &imgInput, xf::Mat&imgOutput, float sigma); - - +//{ + #define _XF_GAUSSIAN_FILTER_CONFIG_H_ + + #include "hls_stream.h" + #include "common/xf_common.h" + #include "common/xf_utility.h" + #include "imgproc/xf_gaussian_filter.hpp" + #include "xf_config_params.h" + + typedef unsigned short int uint16_t; + + #define SCALE ( 0.5f ) + + #define ROWS_INP ( 1080 ) + #define COLS_INP ( 1920 ) + + #define ROWS_OUT ( ROWS_INP / 2 ) + #define COLS_OUT ( COLS_INP / 2 ) + + //----------------- Filters parameters -----------------// + + #define XF_RESIZE_INTERPOLATION XF_INTERPOLATION_NN // Interpolation type for xf::resize() inside kernel + #define CV_RESIZE_INTERPOLATION cv::INTER_NEAREST // Interpolation type for cv::resize() called from testbench + + #define XF_GAUSSIAN_BORDER XF_BORDER_CONSTANT // Border type of xfopencv Gaussian filter inside kernel + #define CV_GAUSSIAN_BORDER cv::BORDER_CONSTANT // Border type of opencv Gaussian filter called from testbench + + #if FILTER_SIZE_3 // Set Gaussian filter parameters depending on constant defined in xf_config_params.h + //{ + #define FILTER_WIDTH ( 3 ) + #define FILTER ( 3 ) + #define SIGMA ( 0.5f) + //} + #elif FILTER_SIZE_5 + //{ + #define FILTER_WIDTH ( 5 ) + #define FILTER ( 5 ) + #define SIGMA ( 0.8333f ) + //} + #elif FILTER_SIZE_7 + //{ + #define FILTER_WIDTH ( 7 ) + #define FILTER ( 7 ) + #define SIGMA ( 1.16666f ) + //} + #endif + + #if NO + //{ + #define NPC1 XF_NPPC1 + //} + #endif + + #if RO + //{ + #define NPC1 XF_NPPC8 + //} + #endif + + void gaussian_filter_accel(xf::Mat &img_inp, xf::Mat &img_out, float sigma); +//} #endif //_XF_GAUSSIAN_FILTER_CONFIG_H_ diff --git a/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp b/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp index e3cf1ab..f6cbaf1 100644 --- a/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp +++ b/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp @@ -12,79 +12,89 @@ #include "imgproc/xf_gaussian_filter.hpp" #include "imgproc/xf_resize.hpp" -#define SRC_T XF_8UC1 +extern "C" void xf_gaussian_filter(XF_TNAME(XF_8UC1, NPC1) *img_inp, XF_TNAME(XF_8UC1, NPC1) *img_out, int rows_inp, int cols_inp, float sigma, int rows_out, int cols_out); -#define INTERPOLATION_TYPE XF_INTERPOLATION_NN +void xf_gaussian_filter(XF_TNAME(XF_8UC1, NPC1) *img_inp, XF_TNAME(XF_8UC1, NPC1) *img_out, int rows_inp, int cols_inp, float sigma, int rows_out, int cols_out) +{ + #pragma HLS INTERFACE m_axi port=img_inp offset=slave bundle=gmem + #pragma HLS INTERFACE m_axi port=img_out offset=slave bundle=gmem -extern "C" void xf_gaussian_filter(XF_TNAME(SRC_T,NPC1) *ai, XF_TNAME(SRC_T,NPC1) *bo, int rows, int cols, float sigma, int o_rows, int o_cols); + #pragma HLS INTERFACE s_axilite port=img_inp bundle=control + #pragma HLS INTERFACE s_axilite port=img_out bundle=control + + #pragma HLS INTERFACE s_axilite port=rows_inp bundle=control + #pragma HLS INTERFACE s_axilite port=cols_inp bundle=control + #pragma HLS INTERFACE s_axilite port=sigma bundle=control + + #pragma HLS INTERFACE s_axilite port=rows_out bundle=control + #pragma HLS INTERFACE s_axilite port=cols_out bundle=control + + #pragma HLS INTERFACE s_axilite port=return bundle=control + #pragma HLS dataflow - void xf_gaussian_filter(XF_TNAME(SRC_T,NPC1) *ai, XF_TNAME(SRC_T,NPC1) *bo, int rows, int cols, float sigma, int o_rows, int o_cols) - { - #pragma HLS INTERFACE m_axi port=ai offset=slave bundle=gmem - #pragma HLS INTERFACE m_axi port=bo offset=slave bundle=gmem + const int pROWS_INP = ROWS_INP; + const int pCOLS_INP = COLS_INP; - #pragma HLS INTERFACE s_axilite port=ai bundle=control - #pragma HLS INTERFACE s_axilite port=bo bundle=control - - #pragma HLS INTERFACE s_axilite port=rows bundle=control - #pragma HLS INTERFACE s_axilite port=cols bundle=control - #pragma HLS INTERFACE s_axilite port=sigma bundle=control + const int pROWS_OUT = ROWS_OUT; + const int pCOLS_OUT = COLS_OUT; + + const int pNPC1 = NPC1; + + xf::Mat mi; + xf::Mat mf; + + #pragma HLS stream variable=mi.data depth=pCOLS_INP/pNPC1 + #pragma HLS stream variable=mf.data depth=pCOLS_INP/pNPC1 - #pragma HLS INTERFACE s_axilite port=o_rows bundle=control - #pragma HLS INTERFACE s_axilite port=o_cols bundle=control + xf::Mat mo; - #pragma HLS INTERFACE s_axilite port=return bundle=control + #pragma HLS stream variable=mo.data depth=pCOLS_OUT/pNPC1 - #pragma HLS inline off - #pragma HLS dataflow + mi.rows = rows_inp; + mi.cols = cols_inp; - const int pROWS = HEIGHT; - const int pCOLS = WIDTH; - const int pNPC1 = NPC1; + mf.rows = rows_inp; + mf.cols = cols_inp; - hls::stream src; - hls::stream flt; - hls::stream dst; + mo.rows = rows_out; + mo.cols = cols_out; - /********************************************************/ + /********************************************************/ - Read_yuyv_Loop: - for(int i=0; i < rows; i++) - { - #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS + for(int i=0; i < rows_inp; i++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS_INP - for(int j=0; j < (cols)>>(XF_BITSHIFT(NPC1));j++) - { - #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS/pNPC1 - #pragma HLS PIPELINE - #pragma HLS loop_flatten off + for(int j=0; j < (cols_inp >> (XF_BITSHIFT(NPC1))); j++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS_INP/pNPC1 + #pragma HLS PIPELINE + #pragma HLS loop_flatten off - src.write( *(ai + i*(cols>>(XF_BITSHIFT(NPC1))) +j) ); - } - } + *(mi.data + i*(cols_inp >> (XF_BITSHIFT(NPC1))) +j) = *(img_inp + i*(cols_inp >> (XF_BITSHIFT(NPC1))) +j); + } + } - xf::xFGaussianFilter< HEIGHT, WIDTH, XF_DEPTH(SRC_T, NPC1), NPC1, XF_WORDWIDTH(SRC_T,NPC1)>(src, flt, FILTER_WIDTH, XF_BORDER_CONSTANT, rows, cols,sigma); + xf::GaussianBlur(mi, mf, sigma); - //setup same maximum output image size as for source image + xf::resize (mf, mo); - xf::xFresize< HEIGHT, WIDTH, SRC_T, NPC1, XF_WORDWIDTH(SRC_T,NPC1), HEIGHT/2, WIDTH/2>(flt, dst, INTERPOLATION_TYPE, rows, cols, o_rows, o_cols); - - for(int i=0;i>XF_BITSHIFT(NPC1); j++) - { - #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS - #pragma HLS PIPELINE II=1 - #pragma HLS LOOP_FLATTEN OFF - - *(bo + i*(o_cols>>XF_BITSHIFT(NPC1)) + j) = dst.read(); - } - } + for(int i=0; i < rows_out; i++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS_OUT + for(int j=0; j < (cols_out >> (XF_BITSHIFT(NPC1))); j++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS_OUT/pNPC1 + #pragma HLS PIPELINE + #pragma HLS loop_flatten off + + *(img_out + i*(cols_out >> (XF_BITSHIFT(NPC1))) +j) = *(mo.data + i*(cols_out >> (XF_BITSHIFT(NPC1))) +j) ; + } } +} + diff --git a/aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp b/aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp index 337983a..46d0ca0 100644 --- a/aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp +++ b/aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp @@ -36,105 +36,104 @@ #include "xf_gaussian_filter_config.h" - using namespace std; - int main(int argc, char **argv) { + if (argc != 2) + { + printf("Usage: \n"); + return -1; + } - if (argc != 2) - { - printf("Usage: \n"); - return -1; - } + cv::Mat cv_img_inp, cv_img_out, cv_img_ref; + cv::Mat diff; - cv::Mat in_img, out_img, ocv_ref, ocv_ref_s, in_img_gau; - cv::Mat in_gray, in_gray1, diff; + int rows_out, cols_out; - in_img = cv::imread(argv[1], 0); // reading in the color image + cv_img_inp = cv::imread(argv[1], 0); // reading in the color image - if (!in_img.data) + if (!cv_img_inp.data) { - printf("Failed to load the image ... !!!"); - return -1; - } + printf("Failed to load the image ... !!!"); + return -1; + } + + rows_out = cv_img_inp.rows * SCALE; + cols_out = cv_img_inp.cols * SCALE; - //extractChannel(in_img, in_gray, 1); - diff.create(in_img.rows/2, in_img.cols/2, in_img.depth()); // create memory for diff image - - ocv_ref.create(in_img.rows, in_img.cols, in_img.depth()); // create memory for OCV output image + cv_img_ref.create(cv_img_inp.rows, cv_img_inp.cols, cv_img_inp.depth()); // create memory for OCV output image - ocv_ref_s.create(in_img.rows/2, in_img.cols/2, in_img.depth()); // create memory for resized OCV output image + cv_img_out.create(rows_out, cols_out, cv_img_inp.depth()); // create memory for OCV output image - #if FILTER_WIDTH==3 - float sigma = 0.5f; - #endif + float sigma = SIGMA; - #if FILTER_WIDTH==7 - float sigma=1.16666f; - #endif + // OpenCV Gaussian filter function + cv::GaussianBlur(cv_img_inp, cv_img_ref, cvSize(FILTER_WIDTH, FILTER_WIDTH), SIGMA, SIGMA, CV_GAUSSIAN_BORDER); - #if FILTER_WIDTH==5 - float sigma = 0.8333f; - #endif + cv::resize(cv_img_ref, cv_img_out, cvSize(cv_img_out.cols, cv_img_out.rows), 0, 0, CV_RESIZE_INTERPOLATION ); + imwrite("cv_img_ref.jpg", cv_img_ref); + imwrite("cv_img_out.jpg", cv_img_out); - // OpenCV Gaussian filter function - cv::GaussianBlur(in_img, ocv_ref, cvSize(FILTER_WIDTH, FILTER_WIDTH),FILTER_WIDTH / 6.0, FILTER_WIDTH / 6.0, cv::BORDER_CONSTANT); - cv::resize(ocv_ref, ocv_ref_s, cvSize(ocv_ref_s.cols, ocv_ref_s.rows), 0, 0, cv::INTER_NEAREST ); + diff.create(cv_img_out.rows, cv_img_out.cols, cv_img_out.depth()); // create memory for diff image - imwrite("output_ocv.png", ocv_ref); - imwrite("output_ocv_s.png", ocv_ref_s); + //=====================================================================// - xf::Mat imgInput (in_img.rows ,in_img.cols ); - xf::Mat imgOutput(in_img.rows/2,in_img.cols/2); - //imgInput.copyTo(in_img.data); - imgInput = xf::imread(argv[1], 0); + xf::Mat xf_img_inp(cv_img_inp.rows,cv_img_inp.cols); + xf::Mat xf_img_out(cv_img_out.rows,cv_img_out.cols); + xf_img_inp = xf::imread(argv[1], 0); - gaussian_filter_accel(imgInput, imgOutput, sigma); + gaussian_filter_accel(xf_img_inp, xf_img_out, sigma); - // Write output image - xf::imwrite("hls_out.jpg",imgOutput); + // Write output image + xf::imwrite("xf_img_out.jpg",xf_img_out); - //imwrite("output_hls.png", out_img); - xf::absDiff(ocv_ref_s, imgOutput, diff); // Compute absolute difference image - imwrite("error.png", diff); // Save the difference image for debugging purpose + xf::absDiff(cv_img_out, xf_img_out, diff); // Compute absolute difference image - // Find minimum and maximum differences. + imwrite("error.png", diff); // Save the difference image for debugging purpose - double minval = 256, maxval = 0; - int cnt = 0; - for (int i = 0; i < diff.rows; i++) { - for (int j = 0; j < diff.cols; j++) { - uchar v = diff.at(i, j); - if (v > 0) - cnt++; - if (minval > v) - minval = v; - if (maxval < v) - maxval = v; - } - } - float err_per = 100.0 * (float) cnt / (diff.rows * diff.cols); - printf( - "Minimum error in intensity = %f\n\ - Maximum error in intensity = %f\n\ - Percentage of pixels above error threshold = %f\n", - minval, maxval, err_per); + // Find minimum and maximum differences. - if(err_per > 1){ - printf("\nTest failed\n"); - return -1; - } - else{ - printf("\nTest Pass\n"); - return 0; - } + #define THRESHOLD 1 + + double minval = 256, maxval = 0; + int cnt = 0; + + for( int i = 0; i < cv_img_inp.rows; i++ ) + { + for( int j = 0; j < cv_img_inp.cols; j++ ) + { + uchar v = diff.at(i, j); + + if( v > THRESHOLD ) + cnt++; + + if (minval > v) minval = v; + if (maxval < v) maxval = v; + } + } + + float err_per = 100.0 * (float) cnt / (cv_img_inp.rows * cv_img_inp.cols); + + printf( "\nMinimum error in intensity = %f\n", minval); + printf( "Maximum error in intensity = %f\n", maxval); + + printf( "\nPercentage of pixels above error threshold = %f\n", err_per); + + if(err_per > 1) + { + printf("\nTest Failed\n"); + return -1; + } + + printf("\nTest Pass\n"); + + return 0; } diff --git a/include/imgproc/xf_gaussian_filter.hpp b/include/imgproc/xf_gaussian_filter.hpp index 8dc51d9..b9c0545 100644 --- a/include/imgproc/xf_gaussian_filter.hpp +++ b/include/imgproc/xf_gaussian_filter.hpp @@ -1139,44 +1139,48 @@ void xFGaussianFilter(hls::stream< XF_SNAME(WORDWIDTH)> &_src, hls::stream< XF_S #pragma SDS data copy("_dst.data"[0:"_dst.size"]) template -void GaussianBlur(xf::Mat & _src, xf::Mat & _dst, float sigma) +void GaussianBlur(xf::Mat &_src, xf::Mat &_dst, float sigma) { -#pragma HLS inline off + #pragma HLS inline off -#pragma HLS dataflow + #pragma HLS dataflow - hls::streamsrc; - hls::stream< XF_TNAME(SRC_T,NPC)> dst; + hls::stream src; + hls::stream dst; - /********************************************************/ + /********************************************************/ - Read_yuyv_Loop: - for(int i=0; i<_src.rows;i++) - { - #pragma HLS LOOP_TRIPCOUNT min=1 max=ROWS - for(int j=0; j<(_src.cols)>>(XF_BITSHIFT(NPC));j++) - { - #pragma HLS LOOP_TRIPCOUNT min=1 max=COLS/NPC - #pragma HLS PIPELINE - #pragma HLS loop_flatten off - src.write( *(_src.data + i*(_src.cols>>(XF_BITSHIFT(NPC))) +j) ); - } - } + Read_yuyv_Loop: + for(int i=0; i < _src.rows; i++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=ROWS - xFGaussianFilter< ROWS, COLS, XF_DEPTH(SRC_T,NPC),NPC,XF_WORDWIDTH(SRC_T,NPC)>(src, dst, FILTER_SIZE, BORDER_TYPE, _src.rows,_src.cols,sigma); + for(int j=0; j < (_src.cols)>>(XF_BITSHIFT(NPC)); j++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=COLS/NPC + #pragma HLS PIPELINE + #pragma HLS loop_flatten off - for(int i=0; i<_dst.rows;i++) - { - #pragma HLS LOOP_TRIPCOUNT min=1 max=ROWS - for(int j=0; j<(_dst.cols)>>(XF_BITSHIFT(NPC));j++) - { - #pragma HLS LOOP_TRIPCOUNT min=1 max=COLS/NPC - #pragma HLS PIPELINE - #pragma HLS loop_flatten off - *(_dst.data + i*(_dst.cols>>(XF_BITSHIFT(NPC))) +j) = dst.read(); + src.write( *(_src.data + i*(_src.cols>>(XF_BITSHIFT(NPC))) +j) ); + } + } - } - } + xFGaussianFilter< ROWS, COLS, XF_DEPTH(SRC_T,NPC),NPC,XF_WORDWIDTH(SRC_T,NPC)>(src, dst, FILTER_SIZE, BORDER_TYPE, _src.rows, _src.cols, sigma); + + for(int i=0; i < _src.rows; i++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=ROWS + + for(int j=0; j < (_src.cols)>>(XF_BITSHIFT(NPC)); j++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=COLS/NPC + #pragma HLS PIPELINE + #pragma HLS loop_flatten off + + *(_dst.data + i*(_src.cols>>(XF_BITSHIFT(NPC))) +j) = dst.read(); + + } + } } } #endif //_XF_GAUSSIAN_HPP_ From 65d9c407e9b1f7af091b1ad291ab910e050b8ffd Mon Sep 17 00:00:00 2001 From: Serge Date: Fri, 4 May 2018 02:00:54 +0300 Subject: [PATCH 24/73] Stereopipeline initial version --- aws_demo/stereopipeline/cameraParameters.h | 173 +++++++++++++ aws_demo/stereopipeline/xf_config_params.h | 11 + aws_demo/stereopipeline/xf_headers.h | 56 ++++ .../xf_stereo_pipeline_accel_aws.cpp | 74 ++++++ .../xf_stereo_pipeline_config.h | 63 +++++ .../xf_stereo_pipeline_kernel_aws.cpp | 242 ++++++++++++++++++ .../stereopipeline/xf_stereo_pipeline_tb.cpp | 141 ++++++++++ .../xf_stereo_pipeline_accel.cpp | 38 ++- 8 files changed, 788 insertions(+), 10 deletions(-) create mode 100644 aws_demo/stereopipeline/cameraParameters.h create mode 100644 aws_demo/stereopipeline/xf_config_params.h create mode 100644 aws_demo/stereopipeline/xf_headers.h create mode 100644 aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp create mode 100644 aws_demo/stereopipeline/xf_stereo_pipeline_config.h create mode 100644 aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp create mode 100644 aws_demo/stereopipeline/xf_stereo_pipeline_tb.cpp diff --git a/aws_demo/stereopipeline/cameraParameters.h b/aws_demo/stereopipeline/cameraParameters.h new file mode 100644 index 0000000..491ace5 --- /dev/null +++ b/aws_demo/stereopipeline/cameraParameters.h @@ -0,0 +1,173 @@ +typedef float param_T; + +//#define OLD720PPARAMS +//#define JACKSCAMERA_FHD +//#define JACKSCAMERA_HACKF_720P +//#define DANSCAMERA_FHD +//#define DANSCAMERA_720P +#define DANSCAMERA_HACKF_720P + +#ifdef OLD720PPARAMS +param_T cameraMA_l[9] = { 1000, 0.0, 950, 0.0, 1000, 950, 0, 0, 1 }; +param_T irA_l[9] = { 0.001,0, -0.95, 0, 0.001,-0.95, 0,0,1 }; +param_T distC_l[5] = { 0,0,0,0,0 }; +param_T cameraMA_r[9] = { 1000, 0.0, 950, 0.0, 1000, 950, 0, 0, 1 }; +param_T irA_r[9] = { 0.001,0, -0.95, 0, 0.001,-0.95, 0,0,1 }; +param_T distC_r[5] = { 0,0,0,0,0 }; +#endif + + +#ifdef JACKSCAMERA_HACKF_720P +param_T cameraMA_l[9] = +{ 933.6330000000, 0.0000000000, 695.1210000000, + 0.0000000000, 933.6330000000, 357.9060000000, + 0.0000000000, 0.0000000000, 1.0000000000}; + +param_T cameraMA_r[9] = +{ 933.0330000000, 0.0000000000, 713.4870000000, + 0.0000000000, 933.0330000000, 371.9880000000, + 0.0000000000, 0.0000000000, 1.0000000000}; + +param_T distC_l[5] = +{ -0.1742480000, 0.0257726000, 0.0000000000, 0.0000000000, 0.0000000000}; + +param_T distC_r[5] = +{ -0.1761240000, 0.0290219000, 0.0000000000, 0.0000000000, 0.0000000000}; + +param_T irA_l[9] = +{ 0.0012029958, 0.0000006953, -0.8686828369, + -0.0000006919, 0.0012030057, -0.4384867217, + 0.0000049680, -0.0000008223, 0.9967224703}; + +param_T irA_r[9] = +{ 0.0012030062, 0.0000000000, -0.8643069377, + -0.0000000000, 0.0012030059, -0.4403546203, + 0.0000000000, 0.0000008238, 0.9996986971}; +#endif + + +#ifdef JACKSCAMERA_FHD +// ZED 2x 1080p Stereo Camera +// from SN2484.conf [LEFT_CAM_FHD] fx,cx,fy,cy +// Camera Mat Left: +param_T cameraMA_l[9] = +{ 1400.4500000000, 0.0000000000, 1073.2400000000, + 0.0000000000, 1400.4500000000, 538.8110000000, + 0.0000000000, 0.0000000000, 1.0000000000}; + +//inv(Rotation Mat * new Camera Mat) Left: +param_T irA_l[9] = +{ 0.0008019968, 0.0000004635, -0.9044744614, + -0.0000004613, 0.0008020035, -0.4432839221, + 0.0000033120, -0.0000005482, 0.9965779658}; + +// from SN2484.conf [LEFT_CAM_FHD] k1,k2 +param_T distC_l[5] = +{ -0.174248, 0.0257726, 0, 0, 0 }; + +// from SN2484.conf [RIGHT_CAM_FHD] fx,cx,fy,cy +// Camera Mat Right: +param_T cameraMA_r[9] = +{ 1399.5500000000, 0.0000000000, 1109.9700000000, + 0.0000000000, 1399.5500000000, 566.9750000000, + 0.0000000000, 0.0000000000, 1.0000000000}; + +// inv(Rotation Mat * new Camera Mat) Right: +param_T irA_r[9] = +{ 0.0008020038, 0.0000000000, -0.9000960887, + -0.0000000000, 0.0008020036, -0.4451724061, + 0.0000000000, 0.0000005492, 0.9996953980}; + +// from SN2484.conf [RIGHT_CAM_FHD] k1,k2 +param_T distC_r[5] = +{ -0.176124, 0.0290219, 0, 0, 0 }; + +#endif + +#ifdef DANSCAMERA_720P +param_T cameraMA_l[9] = +{ 699.8780000000, 0.0000000000, 663.4510000000, + 0.0000000000, 699.8780000000, 377.0150000000, + 0.0000000000, 0.0000000000, 1.0000000000}; + +param_T cameraMA_r[9] = +{ 700.0990000000, 0.0000000000, 678.2970000000, + 0.0000000000, 700.0990000000, 359.6230000000, + 0.0000000000, 0.0000000000, 1.0000000000}; + +param_T distC_l[5] = +{ -0.1693980000, 0.0227329000, 0.0000000000, 0.0000000000, 0.0000000000}; + +param_T distC_r[5] = +{ -0.1705810000, 0.0249444000, 0.0000000000, 0.0000000000, 0.0000000000}; + +param_T irA_l[9] = +{ 0.0024720519, -0.0000000039, -1.7464382128, + 0.0000000015, 0.0024721905, -0.9765267985, + 0.0000261810, 0.0000002197, 0.9814731201}; + +param_T irA_r[9] = +{ 0.0024721905, 0.0000000000, -1.7359468834, + -0.0000000000, 0.0024721905, -0.9763479760, + -0.0000000000, -0.0000002197, 1.0000867727}; +#endif + +#ifdef DANSCAMERA_HACKF_720P +param_T cameraMA_l[9] = +{ 933.1730000000, 0.0000000000, 663.4510000000, + 0.0000000000, 933.1730000000, 377.0150000000, + 0.0000000000, 0.0000000000, 1.0000000000}; + +param_T cameraMA_r[9] = +{ 933.4670000000, 0.0000000000, 678.2970000000, + 0.0000000000, 933.4670000000, 359.6230000000, + 0.0000000000, 0.0000000000, 1.0000000000}; + +param_T distC_l[5] = +{ -0.1693980000, 0.0227329000, 0.0000000000, 0.0000000000, 0.0000000000}; + +param_T distC_r[5] = +{ -0.1705810000, 0.0249444000, 0.0000000000, 0.0000000000, 0.0000000000}; + +param_T irA_l[9] = +{ 0.0011976323, -0.0000000019, -0.8153011732, + 0.0000000007, 0.0011976994, -0.4422348617, + 0.0000126839, 0.0000001064, 0.9913820905}; + +param_T irA_r[9] = +{ 0.0011976994, 0.0000000000, -0.8047567905, + -0.0000000000, 0.0011976994, -0.4420566166, + -0.0000000000, -0.0000001064, 1.0000392898}; +#endif + + +#ifdef DANSCAMERA_FHD +param_T cameraMA_l[9] = +{ 1399.7600000000, 0.0000000000, 1009.9000000000, + 0.0000000000, 1399.7600000000, 577.0300000000, + 0.0000000000, 0.0000000000, 1.0000000000}; + +param_T cameraMA_r[9] = +{ 1400.2000000000, 0.0000000000, 1039.5900000000, + 0.0000000000, 1400.2000000000, 542.2460000000, + 0.0000000000, 0.0000000000, 1.0000000000}; + +param_T distC_l[5] = +{ -0.1693980000, 0.0227329000, 0.0000000000, 0.0000000000, 0.0000000000}; + +param_T distC_r[5] = +{ -0.1705810000, 0.0249444000, 0.0000000000, 0.0000000000, 0.0000000000}; + +param_T irA_l[9] = +{ 0.0007984219, -0.0000000012, -0.8338509656, + 0.0000000005, 0.0007984666, -0.4484861710, + 0.0000084559, 0.0000000710, 0.9911850779}; + +param_T irA_r[9] = +{ 0.0007984666, 0.0000000000, -0.8233076329, + -0.0000000000, 0.0007984666, -0.4483079145, + -0.0000000000, -0.0000000710, 1.0000398454}; +#endif + + + diff --git a/aws_demo/stereopipeline/xf_config_params.h b/aws_demo/stereopipeline/xf_config_params.h new file mode 100644 index 0000000..3f56cdc --- /dev/null +++ b/aws_demo/stereopipeline/xf_config_params.h @@ -0,0 +1,11 @@ +/* NO_OF_DISPARITIES must be greater than '0' and less than the image width */ +#define NO_OF_DISPARITIES 48 + +/* NO_OF_DISPARITIES must not be lesser than PARALLEL_UNITS and NO_OF_DISPARITIES/PARALLEL_UNITS must be a non-fractional number */ +#define PARALLEL_UNITS 16 + +/* SAD window size must be an odd number and it must be less than minimum of image height and width and less than the tested size '21' */ +#define SAD_WINDOW_SIZE 15 + +// Configure this based on the number of rows needed for Remap function +#define XF_REMAP_BUFSIZE 128 diff --git a/aws_demo/stereopipeline/xf_headers.h b/aws_demo/stereopipeline/xf_headers.h new file mode 100644 index 0000000..793f8da --- /dev/null +++ b/aws_demo/stereopipeline/xf_headers.h @@ -0,0 +1,56 @@ +/*************************************************************************** + Copyright (c) 2016, Xilinx, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CXFSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + ***************************************************************************/ +#ifndef _XF_HEADERS_H_ +#define _XF_HEADERS_H_ + +#include +#include +#include + +#undef __ARM_NEON__ +#undef __ARM_NEON +#include "opencv/cv.h" +#include "opencv2/imgproc/imgproc.hpp" +#include "opencv2/highgui/highgui.hpp" +#include "opencv2/video/tracking.hpp" +#define __ARM_NEON__ +#define __ARM_NEON + + +#if __SDSCC__ +#include "sds_lib.h" +#define TIME_STAMP_INIT unsigned int clock_start, clock_end; clock_start = sds_clock_counter(); +#define TIME_STAMP { clock_end = sds_clock_counter(); printf("elapsed time %lu \n", clock_end-clock_start); clock_start = sds_clock_counter(); } +#endif + +#include "common/xf_sw_utils.h" + +#endif//_XF_HEADERS_H_ + diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp b/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp new file mode 100644 index 0000000..b4fe941 --- /dev/null +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp @@ -0,0 +1,74 @@ +#include +#include +#include + +#include "xcl2.hpp" + +#include "xf_stereo_pipeline_config.h" + +void stereopipeline_accel + ( + xf::Mat &leftMat, xf::Mat &rightMat, + + xf::Mat &dispMat, + + xf::Mat &mapxLMat, xf::Mat &mapyLMat, + xf::Mat &mapxRMat, xf::Mat &mapyRMat, + + xf::Mat &leftRemappedMat, xf::Mat &rightRemappedMat, + + xf::xFSBMState &bm_state, + + ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, + ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , + ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , + + int _cm_size, int _dc_size + ) +{ + std::vector devices = xcl::get_xil_devices(); + + cl::Device device = devices[0]; + + cl::Context context(device); + + cl::CommandQueue q(context, device, CL_QUEUE_PROFILING_ENABLE); + std::string device_name = device.getInfo(); + + std::string binaryFile = "xf_stereopipeline.awsxclbin"; + + std::cout << "========" << binaryFile << " ==================" << std::endl; + + cl::Program::Binaries bins = xcl::import_binary_file(binaryFile); + devices.resize(1); + cl::Program program(context, devices, bins); + cl::Kernel kernel(program,"xf_stereopipeline"); + + //----------- Allocate Buffer in Global Memory -----------// + +// cl::Buffer buffer_inp(context,CL_MEM_USE_HOST_PTR | CL_MEM_READ_ONLY , imgInput.rows * imgInput.cols, imgInput.data); +// cl::Buffer buffer_out(context,CL_MEM_USE_HOST_PTR | CL_MEM_WRITE_ONLY, imgOutput.rows * imgOutput.cols, imgOutput.data); +// +// std::vector writeBufVec; +// writeBufVec.push_back(buffer_inp); +// +// //----------- Migrate input data to device global memory -----------// +// +// q.enqueueMigrateMemObjects(writeBufVec,0); // 0 means from host +// +// auto krnl = cl::KernelFunctor(kernel); +// +// //----------- Launch the Kernel -----------// +// +// krnl(cl::EnqueueArgs(q, cl::NDRange(1,1,1), cl::NDRange(1,1,1)), buffer_inp, buffer_out, imgInput.rows, imgInput.cols, sigma, imgOutput.rows, imgOutput.cols); +// +// //----------- Copy Result from Device Global Memory to Host Local Memory -----------// +// +// std::vector readBufVec; +// readBufVec.push_back(buffer_out); +// +// q.enqueueMigrateMemObjects(readBufVec,CL_MIGRATE_MEM_OBJECT_HOST); +// +// q.finish(); + +} diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_config.h b/aws_demo/stereopipeline/xf_stereo_pipeline_config.h new file mode 100644 index 0000000..f6512e5 --- /dev/null +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_config.h @@ -0,0 +1,63 @@ +/*************************************************************************** +Copyright (c) 2016, Xilinx, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors +may be used to endorse or promote products derived from this software +without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + ***************************************************************************/ + +#ifndef _XF_STEREO_PIPELINE_CONFIG_H_ +#define _XF_STEREO_PIPELINE_CONFIG_H_ + +#include "hls_stream.h" + +#include "common/xf_common.h" +#include "common/xf_utility.h" + +#include "imgproc/xf_stereo_pipeline.hpp" +#include "imgproc/xf_remap.hpp" +#include "imgproc/xf_stereoBM.hpp" + +#include "xf_config_params.h" + + +/* config width and height */ +#define XF_HEIGHT 1080 +#define XF_WIDTH 1920 + +#define XF_CAMERA_MATRIX_SIZE 9 +#define XF_DIST_COEFF_SIZE 5 + +#define IN_TYPE ap_uint<8> +#define OUT_TYPE ap_uint<16> + +void stereopipeline_accel(xf::Mat &leftMat, xf::Mat &rightMat, xf::Mat &dispMat, + xf::Mat &mapxLMat, xf::Mat &mapyLMat, xf::Mat &mapxRMat, + xf::Mat &mapyRMat, xf::Mat &leftRemappedMat, xf::Mat &rightRemappedMat, + xf::xFSBMState &bm_state, ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, ap_fixed<32,12> *distC_l_fix, ap_fixed<32,12> *distC_r_fix, + ap_fixed<32,12> *irA_l_fix, ap_fixed<32,12> *irA_r_fix, int _cm_size, int _dc_size); + +#endif // _XF_STEREO_PIPELINE_CONFIG_H_ + diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp b/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp new file mode 100644 index 0000000..ed59436 --- /dev/null +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp @@ -0,0 +1,242 @@ +//Includes +#include +#include +#include + +#include "xf_stereo_pipeline_config.h" + +template +void remap_aws( XF_TNAME(SRC_T,NPC) *_src_mat, XF_TNAME(SRC_T,NPC) *_remapped_mat, XF_TNAME(SRC_T,NPC) *_mapx_mat, XF_TNAME(SRC_T,NPC) *_mapy_mat, int m_rows, int m_cols ); + + +extern "C" + { + void xf_stereopipeline + ( + XF_TNAME(XF_8UC1 , XF_NPPC1) *leftMat , //xf::Mat &leftMat, + + XF_TNAME(XF_8UC1 , XF_NPPC1) *rightMat, //xf::Mat &rightMat, + + XF_TNAME(XF_8UC1 , XF_NPPC1) *dispMat , //xf::Mat &dispMat, + + XF_TNAME(XF_32FC1, XF_NPPC1) *mapxLMat, //xf::Mat &mapxLMat, //out + internal stream + + XF_TNAME(XF_32FC1, XF_NPPC1) *mapyLMat, //xf::Mat &mapyLMat, //out + internal stream + + XF_TNAME(XF_32FC1, XF_NPPC1) *mapxRMat, //xf::Mat &mapxRMat, //out + internal stream + + XF_TNAME(XF_32FC1, XF_NPPC1) *mapyRMat, //xf::Mat &mapyRMat, //out + internal stream + + XF_TNAME(XF_8UC1 , XF_NPPC1) *leftRemappedMat, //xf::Mat &leftRemappedMat, + + XF_TNAME(XF_8UC1 , XF_NPPC1) *rightRemappedMat, //xf::Mat &rightRemappedMat, + + xf::xFSBMState bm_state, + + ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, + ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , + ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , + + int _cm_size, int _dc_size + + int rows, + int cols + ); + } + +void xf_stereopipeline( + XF_TNAME(XF_8UC1 , XF_NPPC1) *leftMat , //xf::Mat &leftMat, + + XF_TNAME(XF_8UC1 , XF_NPPC1) *rightMat, //xf::Mat &rightMat, + + XF_TNAME(XF_8UC1 , XF_NPPC1) *dispMat , //xf::Mat &dispMat, + + XF_TNAME(XF_32FC1, XF_NPPC1) *mapxLMat, //xf::Mat &mapxLMat, //out + internal stream + + XF_TNAME(XF_32FC1, XF_NPPC1) *mapyLMat, //xf::Mat &mapyLMat, //out + internal stream + + XF_TNAME(XF_32FC1, XF_NPPC1) *mapxRMat, //xf::Mat &mapxRMat, //out + internal stream + + XF_TNAME(XF_32FC1, XF_NPPC1) *mapyRMat, //xf::Mat &mapyRMat, //out + internal stream + + XF_TNAME(XF_8UC1 , XF_NPPC1) *leftRemappedMat, //xf::Mat &leftRemappedMat, + + XF_TNAME(XF_8UC1 , XF_NPPC1) *rightRemappedMat, //xf::Mat &rightRemappedMat, + + xf::xFSBMState bm_state, + + ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, + + ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , + + ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , + + int _cm_size, int _dc_size, + + int rows, + int cols + ) +{ + #pragma HLS INTERFACE m_axi port=leftMat offset=slave bundle=gmem + #pragma HLS INTERFACE m_axi port=rightMat offset=slave bundle=gmem + + #pragma HLS INTERFACE m_axi port=dispMat offset=slave bundle=gmem + + #pragma HLS INTERFACE m_axi port=mapxLMat offset=slave bundle=gmem + #pragma HLS INTERFACE m_axi port=mapyLMat offset=slave bundle=gmem + + #pragma HLS INTERFACE m_axi port=mapxRMat offset=slave bundle=gmem + #pragma HLS INTERFACE m_axi port=mapyRMat offset=slave bundle=gmem + + #pragma HLS INTERFACE m_axi port=leftRemappedMat offset=slave bundle=gmem + #pragma HLS INTERFACE m_axi port=rightRemappedMat offset=slave bundle=gmem + + + #pragma HLS INTERFACE m_axi port=cameraMA_l_fix offset=slave bundle=gmem + #pragma HLS INTERFACE m_axi port=cameraMA_r_fix offset=slave bundle=gmem + + #pragma HLS INTERFACE m_axi port=distC_l_fix offset=slave bundle=gmem + #pragma HLS INTERFACE m_axi port=distC_r_fix offset=slave bundle=gmem + + #pragma HLS INTERFACE m_axi port=irA_l_fix offset=slave bundle=gmem + #pragma HLS INTERFACE m_axi port=irA_r_fix offset=slave bundle=gmem + + + #pragma HLS INTERFACE s_axilite port=leftMat bundle=control + #pragma HLS INTERFACE s_axilite port=rightMat bundle=control + + #pragma HLS INTERFACE s_axilite port=dispMat bundle=control + + #pragma HLS INTERFACE s_axilite port=mapxLMat bundle=control + #pragma HLS INTERFACE s_axilite port=mapyLMat bundle=control + + #pragma HLS INTERFACE s_axilite port=mapxRMat bundle=control + #pragma HLS INTERFACE s_axilite port=mapyRMat bundle=control + + #pragma HLS INTERFACE s_axilite port=leftRemappedMat bundle=control + #pragma HLS INTERFACE s_axilite port=rightRemappedMat bundle=control + + + #pragma HLS INTERFACE s_axilite port=cameraMA_l_fix bundle=control + #pragma HLS INTERFACE s_axilite port=cameraMA_r_fix bundle=control + + #pragma HLS INTERFACE s_axilite port=distC_l_fix bundle=control + #pragma HLS INTERFACE s_axilite port=distC_r_fix bundle=control + + #pragma HLS INTERFACE s_axilite port=irA_l_fix bundle=control + #pragma HLS INTERFACE s_axilite port=irA_r_fix bundle=control + + + #pragma HLS INTERFACE s_axilite port=_cm_size bundle=control + #pragma HLS INTERFACE s_axilite port=_dc_size bundle=control + + #pragma HLS INTERFACE s_axilite port=rows bundle=control + #pragma HLS INTERFACE s_axilite port=cols bundle=control + + #pragma HLS INTERFACE s_axilite port=return bundle=control + + #pragma HLS inline off + #pragma HLS dataflow + + + + + XF_TNAME(XF_32FC1, XF_NPPC1) map_x_l[ XF_HEIGHT * (XF_WIDTH>>(XF_BITSHIFT(XF_NPPC1))) ]; + XF_TNAME(XF_32FC1, XF_NPPC1) map_y_l[ XF_HEIGHT * (XF_WIDTH>>(XF_BITSHIFT(XF_NPPC1))) ]; + + XF_TNAME(XF_32FC1, XF_NPPC1) map_x_r[ XF_HEIGHT * (XF_WIDTH>>(XF_BITSHIFT(XF_NPPC1))) ]; + XF_TNAME(XF_32FC1, XF_NPPC1) map_y_r[ XF_HEIGHT * (XF_WIDTH>>(XF_BITSHIFT(XF_NPPC1))) ]; + + XF_TNAME(XF_8UC1 , XF_NPPC1) remapped_l[ XF_HEIGHT * (XF_WIDTH>>(XF_BITSHIFT(XF_NPPC1))) ]; + XF_TNAME(XF_8UC1 , XF_NPPC1) remapped_r[ XF_HEIGHT * (XF_WIDTH>>(XF_BITSHIFT(XF_NPPC1))) ]; + + + + xf::xFInitUndistortRectifyMapInverseKernel, XF_DIST_COEFF_SIZE, XF_TNAME(XF_32FC1, XF_NPPC1)>(cameraMA_l_fix, distC_l_fix, irA_l_fix, map_x_l, map_y_l, rows, cols); + + remap_aws( leftMat, remapped_l, map_x_l, map_y_l, rows, cols ); + + + + + xf::xFInitUndistortRectifyMapInverseKernel, XF_DIST_COEFF_SIZE, XF_TNAME(XF_32FC1, XF_NPPC1)>(cameraMA_r_fix, distC_r_fix, irA_r_fix, map_x_r, map_y_r, rows, cols); + + remap_aws( rightMat, remapped_r, map_x_r, map_y_r, rows, cols ); + + + + + xf::xFFindStereoCorrespondenceLBM(remapped_l, remapped_r, dispMat, bm_state, rows, cols); +} + + + + + + + + + + + + +template +void remap_aws( XF_TNAME(SRC_T,NPC) *_src_mat, XF_TNAME(SRC_T,NPC) *_remapped_mat, XF_TNAME(SRC_T,NPC) *_mapx_mat, XF_TNAME(SRC_T,NPC) *_mapy_mat, int m_rows, int m_cols ) +{ + #pragma HLS inline off + #pragma HLS dataflow + + assert ((MAP_T == XF_32FC1) && "The MAP_T must be XF_32FC1"); + assert ((NPC == XF_NPPC1) && "The NPC must be XF_NPPC1"); + + hls::stream< XF_TNAME(SRC_T,NPC)> _src; + hls::stream< XF_TNAME(MAP_T,NPC)> _mapx; + hls::stream< XF_TNAME(MAP_T,NPC)> _mapy; + hls::stream< XF_TNAME(DST_T,NPC)> _remapped; + + int depth_est = WIN_ROWS * m_cols; + + uint16_t rows = m_rows; + uint16_t cols = m_cols; + + int loop_count = (rows*cols); + int TC=(ROWS*COLS); + + int ishift = WIN_ROWS/2; + int row_tripcount = ROWS+WIN_ROWS; + + xfremap_rows_loop: + for(int i = 0; i < rows+ishift; i++) + { + #pragma HLS LOOP_FLATTEN OFF + #pragma HLS LOOP_TRIPCOUNT min=1 max=row_tripcount + + xfremap_cols_loop: + for (int j = 0; j < cols; j++) + { + #pragma HLS pipeline ii=1 + #pragma HLS LOOP_TRIPCOUNT min=1 max=COLS + + if (i < rows) + { + _src.write(*(_src_mat + i*cols + j)); + } + + if (i >= ishift) + { + _mapx.write(*(_mapx_mat + (i-ishift)*cols + j)); + _mapy.write(*(_mapy_mat + (i-ishift)*cols + j)); + } + } + } + + xf::xFRemapKernel (_src, _remapped, _mapx, _mapy, rows, cols); + + xfremap_output_loop: + for (int i = 0; i < loop_count; i++) + { + #pragma HLS pipeline ii=1 + #pragma HLS LOOP_TRIPCOUNT min=1 max=TC + _remapped_mat[i] = _remapped.read(); + } +} diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_tb.cpp b/aws_demo/stereopipeline/xf_stereo_pipeline_tb.cpp new file mode 100644 index 0000000..c982adc --- /dev/null +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_tb.cpp @@ -0,0 +1,141 @@ +/*************************************************************************** +Copyright (c) 2016, Xilinx, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors +may be used to endorse or promote products derived from this software +without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + ***************************************************************************/ +#include "xf_headers.h" +#include "xf_stereo_pipeline_config.h" +#include "cameraParameters.h" + +using namespace std; + +int main(int argc, char** argv) +{ + cv::setUseOptimized(false); + + if(argc != 3) + { + fprintf(stderr,"Invalid Number of Arguments!\nUsage: \n"); + return -1; + } + + + cv::Mat left_img, right_img; + left_img = cv::imread(argv[1],0); + right_img = cv::imread(argv[2],0); + + ////////////////// HLS TOP Function Call //////////////////////// + xf::Mat leftMat(left_img.rows,left_img.cols); + xf::Mat rightMat(right_img.rows,right_img.cols); + + int rows = left_img.rows; + int cols = left_img.cols; + + xf::Mat mapxLMat(rows,cols); + xf::Mat mapyLMat(rows,cols); + xf::Mat mapxRMat(rows,cols); + xf::Mat mapyRMat(rows,cols); + + xf::Mat leftRemappedMat(rows,cols); + xf::Mat rightRemappedMat(rows,cols); + + xf::Mat dispMat(rows,cols); + + // camera parameters for rectification +#if __SDSCC__ + ap_fixed<32,12> *cameraMA_l_fix = (ap_fixed<32,12>*)sds_alloc_non_cacheable(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); + ap_fixed<32,12> *cameraMA_r_fix = (ap_fixed<32,12>*)sds_alloc_non_cacheable(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); + ap_fixed<32,12> *irA_l_fix = (ap_fixed<32,12>*)sds_alloc_non_cacheable(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); + ap_fixed<32,12> *irA_r_fix = (ap_fixed<32,12>*)sds_alloc_non_cacheable(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); + ap_fixed<32,12> *distC_l_fix = (ap_fixed<32,12>*)sds_alloc_non_cacheable(XF_DIST_COEFF_SIZE*sizeof(ap_fixed<32,12>)); + ap_fixed<32,12> *distC_r_fix = (ap_fixed<32,12>*)sds_alloc_non_cacheable(XF_DIST_COEFF_SIZE*sizeof(ap_fixed<32,12>)); +#else + ap_fixed<32,12> *cameraMA_l_fix = (ap_fixed<32,12>*)malloc(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); + ap_fixed<32,12> *cameraMA_r_fix = (ap_fixed<32,12>*)malloc(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); + ap_fixed<32,12> *irA_l_fix = (ap_fixed<32,12>*)malloc(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); + ap_fixed<32,12> *irA_r_fix = (ap_fixed<32,12>*)malloc(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); + ap_fixed<32,12> *distC_l_fix = (ap_fixed<32,12>*)malloc(XF_DIST_COEFF_SIZE*sizeof(ap_fixed<32,12>)); + ap_fixed<32,12> *distC_r_fix = (ap_fixed<32,12>*)malloc(XF_DIST_COEFF_SIZE*sizeof(ap_fixed<32,12>)); +#endif + +// leftMat.copyTo(left_img.data); +// rightMat.copyTo(right_img.data); + leftMat = xf::imread(argv[1], 0); + rightMat = xf::imread(argv[2], 0); + + xf::xFSBMState bm_state; + bm_state.preFilterCap = 31; + bm_state.uniquenessRatio = 15; + bm_state.textureThreshold = 20; + bm_state.minDisparity = 0; + + // copy camera params + for(int i=0; i)cameraMA_l[i]; + cameraMA_r_fix[i] = (ap_fixed<32,12>)cameraMA_r[i]; + irA_l_fix[i] = (ap_fixed<32,12>)irA_l[i]; + irA_r_fix[i] = (ap_fixed<32,12>)irA_r[i]; + } + + // copy distortion coefficients + for(int i=0; i)distC_l[i]; + distC_r_fix[i] = (ap_fixed<32,12>)distC_r[i]; + } + + printf("starting the kernel...\n"); + +#ifdef __SDSCC__ + perf_counter hw_ctr; + hw_ctr.start(); +#endif + stereopipeline_accel(leftMat,rightMat,dispMat,mapxLMat,mapyLMat,mapxRMat,mapyRMat,leftRemappedMat,rightRemappedMat,bm_state,cameraMA_l_fix,cameraMA_r_fix,distC_l_fix, distC_r_fix, irA_l_fix, irA_r_fix,9,5); +#ifdef __SDSCC__ + hw_ctr.stop(); + printf("end of kernel...\n"); + uint64_t hw_cycles = hw_ctr.avg_cpu_cycles(); +#endif + + cv::Mat out_disp_16(rows,cols,CV_16UC1); + cv::Mat out_disp_img(rows,cols,CV_8UC1); + + out_disp_16.data = dispMat.copyFrom(); + +/* for (int i=0; i(i,j) = (unsigned short)dispMat.data[i*cols+j]; + } + }*/ + out_disp_16.convertTo(out_disp_img, CV_8U, (256.0/NO_OF_DISPARITIES)/(16.)); + imwrite("hls_output.png",out_disp_img); + printf ("run complete !\n\n"); + + return 0; +} + diff --git a/examples/stereopipeline/xf_stereo_pipeline_accel.cpp b/examples/stereopipeline/xf_stereo_pipeline_accel.cpp index 4436890..ce0f3c7 100644 --- a/examples/stereopipeline/xf_stereo_pipeline_accel.cpp +++ b/examples/stereopipeline/xf_stereo_pipeline_accel.cpp @@ -29,18 +29,36 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***************************************************************************/ #include "xf_stereo_pipeline_config.h" -void stereopipeline_accel(xf::Mat &leftMat, xf::Mat &rightMat, xf::Mat &dispMat, - xf::Mat &mapxLMat, xf::Mat &mapyLMat, xf::Mat &mapxRMat, - xf::Mat &mapyRMat, xf::Mat &leftRemappedMat, xf::Mat &rightRemappedMat, - xf::xFSBMState &bm_state, ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, ap_fixed<32,12> *distC_l_fix, ap_fixed<32,12> *distC_r_fix, - ap_fixed<32,12> *irA_l_fix, ap_fixed<32,12> *irA_r_fix, int _cm_size, int _dc_size) +void stereopipeline_accel + ( + xf::Mat &leftMat, xf::Mat &rightMat, + + xf::Mat &dispMat, + + xf::Mat &mapxLMat, xf::Mat &mapyLMat, + xf::Mat &mapxRMat, xf::Mat &mapyRMat, + + xf::Mat &leftRemappedMat, xf::Mat &rightRemappedMat, + + xf::xFSBMState &bm_state, + + ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, + ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , + ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , + + int _cm_size, int _dc_size + ) { - xf::InitUndistortRectifyMapInverse(cameraMA_l_fix,distC_l_fix,irA_l_fix,mapxLMat,mapyLMat,_cm_size,_dc_size); - xf::remap(leftMat,leftRemappedMat,mapxLMat,mapyLMat); + xf::InitUndistortRectifyMapInverse(cameraMA_l_fix, distC_l_fix, irA_l_fix, mapxLMat, mapyLMat, _cm_size, _dc_size); + + xf::remap(leftMat, leftRemappedMat, mapxLMat, mapyLMat); - xf::InitUndistortRectifyMapInverse(cameraMA_r_fix,distC_r_fix,irA_r_fix,mapxRMat,mapyRMat,_cm_size,_dc_size); - xf::remap(leftMat,leftRemappedMat,mapxLMat,mapyLMat); + + + + xf::InitUndistortRectifyMapInverse(cameraMA_r_fix, distC_r_fix, irA_r_fix, mapxRMat, mapyRMat, _cm_size, _dc_size); + xf::remap(leftMat, leftRemappedMat, mapxLMat, mapyLMat); - xf::StereoBM(leftRemappedMat, rightRemappedMat, dispMat, bm_state); + xf::StereoBM(leftRemappedMat, rightRemappedMat, dispMat, bm_state); } From 092ddf10890e849c6534a76b51d66123a31710d8 Mon Sep 17 00:00:00 2001 From: Serge Date: Fri, 4 May 2018 02:03:47 +0300 Subject: [PATCH 25/73] Update Gaussian Filter VS project --- aws_demo/ide/vs/Gaussian_Filter.vcxproj | 28 +++++++++---------- .../ide/vs/Gaussian_Filter.vcxproj.filters | 24 ++++++++-------- 2 files changed, 25 insertions(+), 27 deletions(-) diff --git a/aws_demo/ide/vs/Gaussian_Filter.vcxproj b/aws_demo/ide/vs/Gaussian_Filter.vcxproj index 03b83d4..be61aa0 100644 --- a/aws_demo/ide/vs/Gaussian_Filter.vcxproj +++ b/aws_demo/ide/vs/Gaussian_Filter.vcxproj @@ -10,6 +10,18 @@ Win32 + + + + + + + + + + + + {4F175088-E060-4DD3-B199-92A67421ACE2} Gaussian_Filter @@ -43,7 +55,7 @@ Level3 Disabled - ..\..\..\include;..\..\..\examples\gaussianfilter;..\..\..\..\aws-fpga\SDAccel\examples\xilinx\libs\xcl2;%(AdditionalIncludeDirectories) + ..\..\..\include;..\..\..\examples\gaussianfilter;..\..\..\..\aws-fpga\SDAccel\examples\xilinx\libs\xcl2;..\..\..\..\OpenCV;..\..\..\..\OpenCL;%(AdditionalIncludeDirectories) true @@ -55,7 +67,7 @@ MaxSpeed true true - ..\..\..\include;..\..\..\examples\gaussianfilter;..\..\..\..\aws-fpga\SDAccel\examples\xilinx\libs\xcl2;%(AdditionalIncludeDirectories) + ..\..\..\include;..\..\..\examples\gaussianfilter;..\..\..\..\aws-fpga\SDAccel\examples\xilinx\libs\xcl2;..\..\..\..\OpenCV;..\..\..\..\OpenCL;%(AdditionalIncludeDirectories) true @@ -63,18 +75,6 @@ true - - - - - - - - - - - - diff --git a/aws_demo/ide/vs/Gaussian_Filter.vcxproj.filters b/aws_demo/ide/vs/Gaussian_Filter.vcxproj.filters index 51d5020..eba1ae1 100644 --- a/aws_demo/ide/vs/Gaussian_Filter.vcxproj.filters +++ b/aws_demo/ide/vs/Gaussian_Filter.vcxproj.filters @@ -1,26 +1,24 @@  + + + {b5f48f04-d9bc-4b50-b9a6-c222b80c54d0} + + + + + - - + - - + h - + h - - h - - - - - {b5f48f04-d9bc-4b50-b9a6-c222b80c54d0} - \ No newline at end of file From 563e66d7b0a9afec6c926b0f61b9bfe8412108c1 Mon Sep 17 00:00:00 2001 From: Serge Date: Fri, 4 May 2018 02:05:00 +0300 Subject: [PATCH 26/73] Update auxiliary scripts --- aws_demo/gaussianfilter/afi/gen_afi.sh | 6 +++--- aws_demo/gaussianfilter/run/run.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/aws_demo/gaussianfilter/afi/gen_afi.sh b/aws_demo/gaussianfilter/afi/gen_afi.sh index c18f4ee..bd8ae2a 100644 --- a/aws_demo/gaussianfilter/afi/gen_afi.sh +++ b/aws_demo/gaussianfilter/afi/gen_afi.sh @@ -25,7 +25,7 @@ rm -f LOGS_FILES_GO_HERE.txt $SDACCEL_DIR/tools/create_sdaccel_afi.sh -xclbin=xf_gaussian_filter.xclbin -s3_bucket=xfg -s3_dcp_key=dcp -s3_logs_key=log -cat *afi* +cat *afi_id* -@echo use following command to check afi ready -@echo aws ec2 describe-fpga-images --fpga-image-id +echo "use following command to check afi ready" +echo "aws ec2 describe-fpga-images --fpga-image-id " diff --git a/aws_demo/gaussianfilter/run/run.sh b/aws_demo/gaussianfilter/run/run.sh index 103d272..c05eadf 100644 --- a/aws_demo/gaussianfilter/run/run.sh +++ b/aws_demo/gaussianfilter/run/run.sh @@ -2,4 +2,4 @@ source /opt/Xilinx/SDx/2017.1.rte.4ddr/setup.sh -./xf_arg im1.jpg +./gaussian_filter_test im1.jpg From 52a2c35e195ceae5a6fc441530dd896ad880de0d Mon Sep 17 00:00:00 2001 From: Serge Date: Fri, 4 May 2018 02:09:02 +0300 Subject: [PATCH 27/73] Fix error in Gaussian filter test bench: scan differences between OpenCV and xfopencv output image using size of output image. --- aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp b/aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp index 46d0ca0..8a4ce3d 100644 --- a/aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp +++ b/aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp @@ -106,9 +106,9 @@ int main(int argc, char **argv) double minval = 256, maxval = 0; int cnt = 0; - for( int i = 0; i < cv_img_inp.rows; i++ ) + for( int i = 0; i < diff.rows; i++ ) { - for( int j = 0; j < cv_img_inp.cols; j++ ) + for( int j = 0; j < diff.cols; j++ ) { uchar v = diff.at(i, j); From 95774e2dcac034531e8c49c86ee40628437e1354 Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Fri, 4 May 2018 18:06:30 +0900 Subject: [PATCH 28/73] xf_pyr_dense_optical_flow URAM optimization: USE_URAM define added to pyrDown part of design. --- examples/lkdensepyrof/xf_config_params.h | 4 +++- .../lkdensepyrof/xf_pyr_dense_optical_flow_accel.cpp | 4 ++-- include/imgproc/xf_pyr_down.hpp | 8 ++++---- include/imgproc/xf_pyr_down_gaussian_blur.hpp | 12 ++++++++---- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/examples/lkdensepyrof/xf_config_params.h b/examples/lkdensepyrof/xf_config_params.h index 05cd576..a1d0193 100644 --- a/examples/lkdensepyrof/xf_config_params.h +++ b/examples/lkdensepyrof/xf_config_params.h @@ -10,4 +10,6 @@ #define HEIGHT 1080 #define WIDTH 1920 -#define NUM_LINES_FINDIT 50 \ No newline at end of file +#define NUM_LINES_FINDIT 50 + +#define XF_USE_URAM false diff --git a/examples/lkdensepyrof/xf_pyr_dense_optical_flow_accel.cpp b/examples/lkdensepyrof/xf_pyr_dense_optical_flow_accel.cpp index 1cfb0d7..4e482fb 100644 --- a/examples/lkdensepyrof/xf_pyr_dense_optical_flow_accel.cpp +++ b/examples/lkdensepyrof/xf_pyr_dense_optical_flow_accel.cpp @@ -35,10 +35,10 @@ void pyr_dense_optical_flow_pyr_down_accel(xf::Mat(mat_imagepyr1[pyr_comp], mat_imagepyr1[pyr_comp+1]); + xf::pyrDown(mat_imagepyr1[pyr_comp], mat_imagepyr1[pyr_comp+1]); #pragma SDS async(2) #pragma SDS resource(2) - xf::pyrDown(mat_imagepyr2[pyr_comp], mat_imagepyr2[pyr_comp+1]); + xf::pyrDown(mat_imagepyr2[pyr_comp], mat_imagepyr2[pyr_comp+1]); #pragma SDS wait(1) #pragma SDS wait(2) } diff --git a/include/imgproc/xf_pyr_down.hpp b/include/imgproc/xf_pyr_down.hpp index 88df8e8..f1c9ef4 100644 --- a/include/imgproc/xf_pyr_down.hpp +++ b/include/imgproc/xf_pyr_down.hpp @@ -37,7 +37,7 @@ namespace xf{ -template +template void xFpyrDownKernel(XF_TNAME(TYPE,NPC) *in_image, XF_TNAME(TYPE,NPC) *out_image, unsigned short in_rows, unsigned short in_cols) { #pragma HLS DATAFLOW @@ -55,7 +55,7 @@ void xFpyrDownKernel(XF_TNAME(TYPE,NPC) *in_image, XF_TNAME(TYPE,NPC) *out_image read_pointer++; } } - xFPyrDownGaussianBlur(_filter_in, _filter_out, 5, XF_BORDER_CONSTANT,in_rows,in_cols); + xFPyrDownGaussianBlur(_filter_in, _filter_out, 5, XF_BORDER_CONSTANT,in_rows,in_cols); unsigned int write_ptr = 0; for(int i=0;i +template void pyrDown (xf::Mat & _src, xf::Mat & _dst) { #pragma HLS INLINE OFF unsigned short input_height = _src.rows; unsigned short input_width = _src.cols; - xFpyrDownKernel(_src.data, _dst.data, input_height, input_width); + xFpyrDownKernel(_src.data, _dst.data, input_height, input_width); return; } } diff --git a/include/imgproc/xf_pyr_down_gaussian_blur.hpp b/include/imgproc/xf_pyr_down_gaussian_blur.hpp index c87db8e..c63bb85 100644 --- a/include/imgproc/xf_pyr_down_gaussian_blur.hpp +++ b/include/imgproc/xf_pyr_down_gaussian_blur.hpp @@ -158,7 +158,7 @@ void xFPyrDownprocessgaussian(hls::stream< XF_TNAME(DEPTH,NPC) > & _src_mat, -template +template void xf_pyrdown_gaussian_nxn(hls::stream< XF_TNAME(DEPTH,NPC) > &_src_mat, hls::stream< XF_TNAME(DEPTH,NPC) > &_out_mat, ap_uint<8> win_size, uint16_t img_height, uint16_t img_width) @@ -181,8 +181,12 @@ void xf_pyrdown_gaussian_nxn(hls::stream< XF_TNAME(DEPTH,NPC) > &_src_mat, XF_TNAME(DEPTH,NPC) P0; XF_TNAME(DEPTH,NPC) buf[WIN_SZ][(COLS >> XF_BITSHIFT(NPC))]; -#pragma HLS ARRAY_PARTITION variable=buf complete dim=1 +#pragma HLS ARRAY_RESHAPE variable=buf complete dim=1 +if (USE_URAM) { +#pragma HLS RESOURCE variable=buf core=XPM_MEMORY uram +} else { #pragma HLS RESOURCE variable=buf core=RAM_S2P_BRAM +} //initializing row index @@ -237,7 +241,7 @@ void xf_pyrdown_gaussian_nxn(hls::stream< XF_TNAME(DEPTH,NPC) > &_src_mat, } // Row_Loop } -template +template void xFPyrDownGaussianBlur( hls::stream< XF_TNAME(DEPTH,NPC) > &_src, hls::stream< XF_TNAME(DEPTH,NPC) > &_dst, ap_uint<8> win_size, @@ -249,7 +253,7 @@ void xFPyrDownGaussianBlur( imgwidth = imgwidth >> XF_BITSHIFT(NPC); - xf_pyrdown_gaussian_nxn>XF_BITSHIFT(NPC))+(WIN_SZ>>1),WIN_SZ, WIN_SZ_SQ>(_src, _dst,WIN_SZ,imgheight,imgwidth); + xf_pyrdown_gaussian_nxn>XF_BITSHIFT(NPC))+(WIN_SZ>>1),WIN_SZ, WIN_SZ_SQ, USE_URAM>(_src, _dst,WIN_SZ,imgheight,imgwidth); } From a40942392c046bdc3988eb88e4641f9533677e80 Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Fri, 4 May 2018 20:10:47 +0900 Subject: [PATCH 29/73] xf_pyr_dense_optical_flow() URAM optimization: pyrDown() part of desin is roughly done. --- include/imgproc/xf_pyr_down_gaussian_blur.hpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/include/imgproc/xf_pyr_down_gaussian_blur.hpp b/include/imgproc/xf_pyr_down_gaussian_blur.hpp index c63bb85..069db49 100644 --- a/include/imgproc/xf_pyr_down_gaussian_blur.hpp +++ b/include/imgproc/xf_pyr_down_gaussian_blur.hpp @@ -99,8 +99,13 @@ void xFPyrDownprocessgaussian(hls::stream< XF_TNAME(DEPTH,NPC) > & _src_mat, #pragma HLS LOOP_FLATTEN OFF #pragma HLS LOOP_TRIPCOUNT min=1 max=TC #pragma HLS pipeline + + XF_TNAME(DEPTH,NPC) bufWord[WIN_SZ]; +#pragma HLS ARRAY_PARTITION variable=bufWord complete dim=1 + for (int k=0; k Date: Sun, 6 May 2018 18:05:52 +0300 Subject: [PATCH 30/73] Add stereo pipeline project --- aws_demo/ide/vs/Stereo_Pipeline.vcxproj | 86 ++++++++ .../ide/vs/Stereo_Pipeline.vcxproj.filters | 42 ++++ aws_demo/ide/vs/aws_demo.sln | 9 +- aws_demo/ide/vs/examples.vcxproj | 10 + aws_demo/ide/vs/examples.vcxproj.filters | 29 +++ aws_demo/stereopipeline/afi/gen_afi.sh | 31 +++ aws_demo/stereopipeline/makefile | 183 ++++++++++++++++++ aws_demo/stereopipeline/run/run.sh | 5 + 8 files changed, 392 insertions(+), 3 deletions(-) create mode 100644 aws_demo/ide/vs/Stereo_Pipeline.vcxproj create mode 100644 aws_demo/ide/vs/Stereo_Pipeline.vcxproj.filters create mode 100644 aws_demo/stereopipeline/afi/gen_afi.sh create mode 100644 aws_demo/stereopipeline/makefile create mode 100644 aws_demo/stereopipeline/run/run.sh diff --git a/aws_demo/ide/vs/Stereo_Pipeline.vcxproj b/aws_demo/ide/vs/Stereo_Pipeline.vcxproj new file mode 100644 index 0000000..aa93eca --- /dev/null +++ b/aws_demo/ide/vs/Stereo_Pipeline.vcxproj @@ -0,0 +1,86 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {BE04D816-584B-4836-9C40-FBA3C41593F2} + Stereo_Pipeline + + + + Application + true + v110 + MultiByte + + + Application + false + v110 + true + MultiByte + + + + + + + + + + + + + + + Level3 + Disabled + ..\..\..\include;..\..\..\..\aws-fpga\SDAccel\examples\xilinx\libs\xcl2;%(AdditionalIncludeDirectories) + + + true + + + + + Level3 + MaxSpeed + true + true + ..\..\..\include;..\..\..\..\aws-fpga\SDAccel\examples\xilinx\libs\xcl2;%(AdditionalIncludeDirectories) + + + true + true + true + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aws_demo/ide/vs/Stereo_Pipeline.vcxproj.filters b/aws_demo/ide/vs/Stereo_Pipeline.vcxproj.filters new file mode 100644 index 0000000..f7ce491 --- /dev/null +++ b/aws_demo/ide/vs/Stereo_Pipeline.vcxproj.filters @@ -0,0 +1,42 @@ + + + + + + + + + + + + + {c22c4267-6cf2-4761-b9f9-50716799aa60} + + + {4f3f7a8a-73c4-455b-a5de-39d8d14135a4} + + + + + xfopencv + + + xfopencv + + + xfopencv + + + h + + + h + + + h + + + h + + + \ No newline at end of file diff --git a/aws_demo/ide/vs/aws_demo.sln b/aws_demo/ide/vs/aws_demo.sln index 9a945b7..1b5179c 100644 --- a/aws_demo/ide/vs/aws_demo.sln +++ b/aws_demo/ide/vs/aws_demo.sln @@ -5,6 +5,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples", "examples.vcxpro EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Gaussian_Filter", "Gaussian_Filter.vcxproj", "{4F175088-E060-4DD3-B199-92A67421ACE2}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Stereo_Pipeline", "Stereo_Pipeline.vcxproj", "{BE04D816-584B-4836-9C40-FBA3C41593F2}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -19,11 +21,12 @@ Global {4F175088-E060-4DD3-B199-92A67421ACE2}.Debug|Win32.Build.0 = Debug|Win32 {4F175088-E060-4DD3-B199-92A67421ACE2}.Release|Win32.ActiveCfg = Release|Win32 {4F175088-E060-4DD3-B199-92A67421ACE2}.Release|Win32.Build.0 = Release|Win32 + {BE04D816-584B-4836-9C40-FBA3C41593F2}.Debug|Win32.ActiveCfg = Debug|Win32 + {BE04D816-584B-4836-9C40-FBA3C41593F2}.Debug|Win32.Build.0 = Debug|Win32 + {BE04D816-584B-4836-9C40-FBA3C41593F2}.Release|Win32.ActiveCfg = Release|Win32 + {BE04D816-584B-4836-9C40-FBA3C41593F2}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {4F175088-E060-4DD3-B199-92A67421ACE2} = {AD803E82-EFC9-43A2-9B68-D4D96780DBDB} - EndGlobalSection EndGlobal diff --git a/aws_demo/ide/vs/examples.vcxproj b/aws_demo/ide/vs/examples.vcxproj index 2eab045..922b667 100644 --- a/aws_demo/ide/vs/examples.vcxproj +++ b/aws_demo/ide/vs/examples.vcxproj @@ -68,10 +68,20 @@ + + + + + + + + + + diff --git a/aws_demo/ide/vs/examples.vcxproj.filters b/aws_demo/ide/vs/examples.vcxproj.filters index 36f54e8..877d59f 100644 --- a/aws_demo/ide/vs/examples.vcxproj.filters +++ b/aws_demo/ide/vs/examples.vcxproj.filters @@ -10,6 +10,18 @@ accumulate + + stereopipeline + + + stereopipeline + + + stereopipeline + + + stereopipeline + @@ -18,10 +30,27 @@ accumulate + + stereopipeline + + + stereopipeline + {fdb0de10-a233-42a7-908e-33cb0564f49c} + + {8cbe6705-9bb3-4895-918d-c42dcf0d36f6} + + + + + stereopipeline + + + stereopipeline + \ No newline at end of file diff --git a/aws_demo/stereopipeline/afi/gen_afi.sh b/aws_demo/stereopipeline/afi/gen_afi.sh new file mode 100644 index 0000000..e89bb9a --- /dev/null +++ b/aws_demo/stereopipeline/afi/gen_afi.sh @@ -0,0 +1,31 @@ +#!/bin/bash +echo aws s3 rm --recursive s3://xfg +aws s3 rm --recursive s3://xfg + +echo aws s3 rb s3://xfg +aws s3 rb s3://xfg + + +echo aws s3 mb s3://xfg +aws s3 mb s3://xfg + +aws s3 mb s3://xfg/dcp +touch FILES_GO_HERE.txt +aws s3 cp FILES_GO_HERE.txt s3://xfg/dcp/ + + +aws s3 mb s3://xfg/log +touch LOGS_FILES_GO_HERE.txt +aws s3 cp LOGS_FILES_GO_HERE.txt s3://xfg/log/ + +aws s3 ls --recursive s3://xfg + +rm -f FILES_GO_HERE.txt +rm -f LOGS_FILES_GO_HERE.txt + +$SDACCEL_DIR/tools/create_sdaccel_afi.sh -xclbin=xf_gaussian_filter.xclbin -s3_bucket=xfg -s3_dcp_key=dcp -s3_logs_key=log + +cat *afi_id* + +echo use following command to check afi ready +echo aws ec2 describe-fpga-images --fpga-image-id diff --git a/aws_demo/stereopipeline/makefile b/aws_demo/stereopipeline/makefile new file mode 100644 index 0000000..5974ed5 --- /dev/null +++ b/aws_demo/stereopipeline/makefile @@ -0,0 +1,183 @@ + +# compiler tools + +XILINX_SDX ?= /opt/Xilinx/SDx/2017.1.op +XILINX_VIVADO_HLS ?= $(XILINX_SDX)/Vivado_HLS + + +SDX_CXX ?= $(XILINX_SDX)/bin/xcpp +XOCC ?= $(XILINX_SDX)/bin/xocc +RM = rm -f +RMDIR = rm -rf + +SDX_PLATFORM = $(AWS_PLATFORM) + +XFOPENCV ?= /home/centos/src/project_data/xfopencv + +######################################## +# # +# Host section # +# # +######################################## + +XF_EXAMPLE_DIR = $(XFOPENCV)/examples/gaussianfilter + +XCL2_LIB_DIR = $(SDACCEL_DIR)/examples/xilinx/libs/xcl2 +XCL_LIB_DIR = $(SDACCEL_DIR)/examples/xilinx/libs/xcl + +CXXFLAGS += -DSDX_PLATFORM=$(SDX_PLATFORM) -D__USE_XOPEN2K8 +CXXFLAGS += -I/opt/Xilinx/SDx/2017.1.op/runtime/include/1_2/ +CXXFLAGS += -I/opt/Xilinx/SDx/2017.1.op/include/ +CXXFLAGS += -I$(XFOPENCV)/include/ +#CXXFLAGS += -I$(XF_EXAMPLE_DIR)/ +CXXFLAGS += -I$(XCL2_LIB_DIR)/ +CXXFLAGS += -I/opt/Xilinx/SDx/2017.1.op/Vivado_HLS/include +CXXFLAGS += -O2 -Wall -c -fmessage-length=0 -std=c++14 + +#--- Specify OpenCV libraries ---# + +LDFLAGS += -L/opt/Xilinx/SDx/2017.1.op/lnx64/tools/opencv +LDFLAGS += -lopencv_core +LDFLAGS += -lopencv_imgproc +LDFLAGS += -lopencv_highgui + +#--- Specify common libraries ---# + +LDFLAGS += -L/opt/Xilinx/SDx/2017.1.op/lib/lnx64.o +LDFLAGS += -lstdc++ +LDFLAGS += -lpthread +LDFLAGS += -lrt + +#--- Specify AWS libraries ---# + +LDFLAGS += -L/opt/Xilinx/2017.1.rte.4ddr/runtime/lib/x86_64 +LDFLAGS += -lxilinxopencl + +#--- Specify runtime libraries ---# + +LDFLAGS += -Wl,-rpath,/opt/Xilinx/SDx/2017.1.op/lnx64/tools/opencv +LDFLAGS += -Wl,-rpath,/opt/Xilinx/SDx/2017.1.op/lib/lnx64.o +LDFLAGS += -Wl,-rpath,/opt/Xilinx/2017.1.rte.4ddr/runtime/lib/x86_64 + +#--- Specify objects ---# + +HOST_DEP = ../src/xcl2.hpp + +HOST_AWS_SRC += xf_gaussian_filter_accel_aws +HOST_AWS_SRC += xf_gaussian_filter_tb + +HOST_SDx_SRC += xcl2 + +HOST_XF_SRC += + +HOST_AWS_DIR = ./ +HOST_BLD_DIR = build/host + +HOST_AWS_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_AWS_SRC)) ) +HOST_SDx_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_SDx_SRC)) ) +HOST_XF_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_XF_SRC)) ) + +HOST_OBJ = $(HOST_XF_OBJ) $(HOST_AWS_OBJ) $(HOST_SDx_OBJ) + +HOST_EXE ?= gaussian_filter_test + +BUILD_SUBDIRS += $(HOST_BLD_DIR) + + +######################################## +# # +# Kernel section # +# # +######################################## + + +XOCC_OPTS = -t hw --platform $(SDX_PLATFORM) --save-temps --report system + +# +# OpenCL kernel files +# + +BINARY_CONTAINERS += xf_gaussian_filter.xclbin + +BUILD_SUBDIRS += build/kernel +BINARY_CONTAINER_1_OBJS += build/kernel/xf_gaussian_filter.xo +ALL_KERNEL_OBJS += build/kernel/xf_gaussian_filter.xo + +ALL_MESSAGE_FILES = $(subst .xo,.mdb,$(ALL_KERNEL_OBJS)) $(subst .xclbin,.mdb,$(BINARY_CONTAINERS)) + + +# +# primary build targets +# + +.PHONY: all clean + +all: krnl host + +host: $(HOST_EXE) + +krnl: $(BINARY_CONTAINERS) + +clean: + $(RMDIR) $(HOST_BLD_DIR) build/kernel +# -$(RM) $(BINARY_CONTAINERS) $(ALL_KERNEL_OBJS) $(ALL_MESSAGE_FILES) $(HOST_EXE) src/$(HOST_OBJ) +# -$(RM) *.xclbin.sh +# -$(RMDIR) $(BUILD_SUBDIRS) +# -$(RMDIR) _xocc* +# -$(RMDIR) .Xil +# -$(RM) xf_arg + +.PHONY: incremental +incremental: all + + +nothing: + +# +# binary container: binary_container_1.xclbin +# + +build/kernel/xf_gaussian_filter.xo: xf_gaussian_filter_kernel_aws.cpp + @mkdir -p $(@D) #-I"$(XF_EXAMPLE_DIR)" + $(XOCC) $(XOCC_OPTS) -c -k xf_gaussian_filter --max_memory_ports xf_gaussian_filter --messageDb $(subst .xo,.mdb,$@) -I"$( xf_gaussian_filter.xclbin.sh + $(XOCC) $(XOCC_OPTS) -l --jobs 20 --nk xf_gaussian_filter:1 --messageDb $(subst .xclbin,.mdb,$@) --xp misc:solution_name=build/kernel/xocc_link_kernel --remote_ip_cache /root/workspace/ip_cache -o"$@" $(+) + +# +# host rules +# + +$(HOST_AWS_OBJ): $(HOST_BLD_DIR)/%.o : $(HOST_AWS_DIR)/%.cpp + @echo "================================================================" + @echo "Compilation of $< to $@" + @echo "================================================================" + @mkdir -p $(HOST_BLD_DIR) + $(SDX_CXX) $(CXXFLAGS) -o "$@" "$<" + + +$(HOST_SDx_OBJ): $(HOST_BLD_DIR)/%.o : $(XCL2_LIB_DIR)/%.cpp + @echo "================================================================" + @echo "Compilation of $< to $@" + @echo "================================================================" + @mkdir -p $(HOST_BLD_DIR) + $(SDX_CXX) $(CXXFLAGS) -o "$@" "$<" + +$(HOST_XF_OBJ): $(HOST_BLD_DIR)/%.o : $(XF_EXAMPLE_DIR)/%.cpp + @echo "================================================================" + @echo "Compilation of $< to $@" + @echo "================================================================" + @mkdir -p $(HOST_BLD_DIR) + $(SDX_CXX) $(CXXFLAGS) -o "$@" "$<" + + +$(HOST_EXE): $(HOST_OBJ) + @echo "================================================================" + @echo "Linking of $@" + @echo "================================================================" + $(SDX_CXX) -o "$@" $(+) $(LDFLAGS) + + + diff --git a/aws_demo/stereopipeline/run/run.sh b/aws_demo/stereopipeline/run/run.sh new file mode 100644 index 0000000..103d272 --- /dev/null +++ b/aws_demo/stereopipeline/run/run.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +source /opt/Xilinx/SDx/2017.1.rte.4ddr/setup.sh + +./xf_arg im1.jpg From eaec92255d01179ed6e115ede957041ed83f0bf9 Mon Sep 17 00:00:00 2001 From: Serge Date: Sun, 6 May 2018 18:08:10 +0300 Subject: [PATCH 31/73] Comment out problem definition (duplicate define from other header and produce compilation error) --- include/common/xf_params.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/common/xf_params.h b/include/common/xf_params.h index 14e85bd..89d2327 100644 --- a/include/common/xf_params.h +++ b/include/common/xf_params.h @@ -37,7 +37,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "ap_int.h" -#define __ABS(X) ((X) < 0 ? (-(X)) : (X)) +// #define __ABS(X) ((X) < 0 ? (-(X)) : (X)) //Channels of an image enum _channel_extract From 0e417fbeccbd5ed4f44215774b8d336c71120dd8 Mon Sep 17 00:00:00 2001 From: Serge Date: Sun, 6 May 2018 18:09:43 +0300 Subject: [PATCH 32/73] Format code of xfopencv library for convenience --- include/imgproc/xf_remap.hpp | 496 +++++++++--------- include/imgproc/xf_stereoBM.hpp | 889 ++++++++++++++++---------------- 2 files changed, 696 insertions(+), 689 deletions(-) diff --git a/include/imgproc/xf_remap.hpp b/include/imgproc/xf_remap.hpp index f703ee5..5f6e26d 100644 --- a/include/imgproc/xf_remap.hpp +++ b/include/imgproc/xf_remap.hpp @@ -46,128 +46,128 @@ namespace xf{ template void xFRemapNNI( - hls::stream< SRC_T > &src, - hls::stream< DST_T > &dst, - hls::stream< MAP_T > &mapx, - hls::stream< MAP_T > &mapy, - uint16_t rows, uint16_t cols + hls::stream< SRC_T > &src, + hls::stream< DST_T > &dst, + hls::stream< MAP_T > &mapx, + hls::stream< MAP_T > &mapy, + uint16_t rows, uint16_t cols ) { - DST_T buf[WIN_ROW][COLS]; + DST_T buf[WIN_ROW][COLS]; #pragma HLS ARRAY_PARTITION variable=buf complete dim=1 - SRC_T s; + SRC_T s; - ap_uint<64> bufUram[WIN_ROW][(COLS+7)/8]; + ap_uint<64> bufUram[WIN_ROW][(COLS+7)/8]; #pragma HLS RESOURCE variable=bufUram core=XPM_MEMORY uram - SRC_T sx8[8]; + SRC_T sx8[8]; #pragma HLS ARRAY_PARTITION variable=sx8 complete dim=1 - DST_T d; - MAP_T mx_fl; - MAP_T my_fl; + DST_T d; + MAP_T mx_fl; + MAP_T my_fl; - assert(rows <= ROWS); - assert(cols <= COLS); - int ishift=WIN_ROW/2; - int r[WIN_ROW] = {}; - int row_tripcount = ROWS+WIN_ROW; + assert(rows <= ROWS); + assert(cols <= COLS); + int ishift=WIN_ROW/2; + int r[WIN_ROW] = {}; + int row_tripcount = ROWS+WIN_ROW; - loop_height: for( int i=0; i< rows+ishift; i++) - { + loop_height: for( int i=0; i< rows+ishift; i++) + { #pragma HLS LOOP_FLATTEN OFF #pragma HLS LOOP_TRIPCOUNT min=1 max=row_tripcount - loop_width: for( int j=0; j< cols; j++) - { + loop_width: for( int j=0; j< cols; j++) + { #pragma HLS PIPELINE II=1 #pragma HLS dependence variable=buf inter false #pragma HLS dependence variable=bufUram inter false #pragma HLS dependence variable=r inter false #pragma HLS LOOP_TRIPCOUNT min=1 max=COLS - if(i> s; + if(i> s; if (USE_URAM) { - sx8[j%8] = s; - for (int k=0; k<8; k++) bufUram[i % WIN_ROW][j/8](k*8+7,k*8) = sx8[k]; - } - } + sx8[j%8] = s; + for (int k=0; k<8; k++) bufUram[i % WIN_ROW][j/8](k*8+7,k*8) = sx8[k]; + } + } if (!USE_URAM) - buf[i % WIN_ROW][j] = s; - r[i % WIN_ROW] = i; - - if(i>=ishift) - { - mapx >> mx_fl; - mapy >> my_fl; - int x = (int)mx_fl; - int y = (int)my_fl; - - bool in_range = (y>=0 && y=0 && x=ishift) + { + mapx >> mx_fl; + mapy >> my_fl; + int x = (int)mx_fl; + int y = (int)my_fl; + + bool in_range = (y>=0 && y=0 && x void xFRemapLI( - hls::stream< SRC_T > &src, - hls::stream< DST_T > &dst, - hls::stream< MAP_T > &mapx, - hls::stream< MAP_T > &mapy, - uint16_t rows, uint16_t cols + hls::stream< SRC_T > &src, + hls::stream< DST_T > &dst, + hls::stream< MAP_T > &mapx, + hls::stream< MAP_T > &mapy, + uint16_t rows, uint16_t cols ) { - // Add one to always get zero for boundary interpolation. Maybe need initialization here? - static DST_T buf[WIN_ROW/2+1][2][COLS/2+1][2]; //AK,ZoTech: static added for initialization, otherwise X are generated in co-sim. + // Add one to always get zero for boundary interpolation. Maybe need initialization here? + static DST_T buf[WIN_ROW/2+1][2][COLS/2+1][2]; //AK,ZoTech: static added for initialization, otherwise X are generated in co-sim. #pragma HLS array_partition complete variable=buf dim=2 #pragma HLS array_partition complete variable=buf dim=4 - SRC_T s; - + SRC_T s; + //URAM storage garnularity is 3x3-pel block in 2x2-pel picture grid, it fits to one URAM word ap_uint<72> bufUram[(WIN_ROW+1)/2][(COLS+1)/2]; #pragma HLS RESOURCE variable=bufUram core=XPM_MEMORY uram SRC_T lineBuf[COLS]; //addtitional cashing as VHLS doesn't support URAM Byte Enables - SRC_T s3x3[2][9]; //URAM-wide word is doubled to resolve pipelining read/write dependency + SRC_T s3x3[2][9]; //URAM-wide word is doubled to resolve pipelining read/write dependency #pragma HLS ARRAY_PARTITION complete variable=s3x3 dim=0 - SRC_T s3x3_2[9]; + SRC_T s3x3_2[9]; SRC_T s0,s3; - MAP_T mx; - MAP_T my; + MAP_T mx; + MAP_T my; - assert(rows <= ROWS); - assert(cols <= COLS); - int ishift=WIN_ROW/2; - int r1[WIN_ROW] = {}; - int r2[WIN_ROW] = {}; - int row_tripcount = ROWS+WIN_ROW; + assert(rows <= ROWS); + assert(cols <= COLS); + int ishift=WIN_ROW/2; + int r1[WIN_ROW] = {}; + int r2[WIN_ROW] = {}; + int row_tripcount = ROWS+WIN_ROW; - loop_height: for( int i=0; i< rows+ishift; i++) - { + loop_height: for( int i=0; i< rows+ishift; i++) + { #pragma HLS LOOP_FLATTEN OFF #pragma HLS LOOP_TRIPCOUNT min=1 max=row_tripcount - loop_width: for( int j=0; j< cols+3; j++) - { + loop_width: for( int j=0; j< cols+3; j++) + { #pragma HLS PIPELINE II=1 #pragma HLS dependence variable=buf inter false #pragma HLS dependence variable=bufUram inter false @@ -176,233 +176,237 @@ void xFRemapLI( #pragma HLS dependence variable=r2 inter false #pragma HLS LOOP_TRIPCOUNT min=1 max=COLS - if(i> s; - } + if(i> s; + } if (USE_URAM && i0 && (j/2)>1) for (int k=0; k<9; k++) bufUram[(i/2-1)%(WIN_ROW/2)][j/2-2](k*8+7,k*8) = s3x3[!!(j&2)][k]; + if ((i/2)>0 && (j/2)>1) for (int k=0; k<9; k++) bufUram[(i/2-1)%(WIN_ROW/2)][j/2-2](k*8+7,k*8) = s3x3[!!(j&2)][k]; } else if (j0) { - for (int k=0; k<6; k++) s3x3[!!(j&2)][k] = bufUram[(i/2-1)%(WIN_ROW/2)][j/2](k*8+7,k*8); + for (int k=0; k<6; k++) s3x3[!!(j&2)][k] = bufUram[(i/2-1)%(WIN_ROW/2)][j/2](k*8+7,k*8); s3x3[!!(j&2)][6] = s0; s3x3[!!(j&2)][7] = s; s3x3[!!(j&2)][8] = 0; } - } + } } else if (j0) for (int k=0; k<9; k++) bufUram[(i/2)%(WIN_ROW/2)][j/2-1](k*8+7,k*8) = s3x3_2[k]; + if ((j/2)>0) for (int k=0; k<9; k++) bufUram[(i/2)%(WIN_ROW/2)][j/2-1](k*8+7,k*8) = s3x3_2[k]; } else { // odd col s3x3_2[0] = s0; - s3x3_2[1] = lineBuf[j]; + s3x3_2[1] = lineBuf[j]; s3x3_2[3] = s3; - s3x3_2[4] = s; + s3x3_2[4] = s; - // this clearing is needed only for case of bottom zero padding (curently last(bottom-right) sample value is used) + // this clearing is needed only for case of bottom zero padding (curently last(bottom-right) sample value is used) s3x3_2[6] = 0; s3x3_2[7] = 0; s3x3_2[8] = 0; - //if (j==(cols-1)) { //these clearing and save is needed only at last column but may done every cycle - s3x3_2[2] = 0; - s3x3_2[5] = 0; - for (int k=0; k<9; k++) bufUram[(i/2)%(WIN_ROW/2)][j/2](k*8+7,k*8) = s3x3_2[k]; - //} - } + //if (j==(cols-1)) { //these clearing and save is needed only at last column but may done every cycle + s3x3_2[2] = 0; + s3x3_2[5] = 0; + for (int k=0; k<9; k++) bufUram[(i/2)%(WIN_ROW/2)][j/2](k*8+7,k*8) = s3x3_2[k]; + //} + } } } if (!USE_URAM && j=ishift && j> mx; - mapy >> my; - float x_fl = mx; - float y_fl = my; - - int x_fix = (int) ((float)x_fl * (float)HLS_INTER_TAB_SIZE); // mapx data in A16.HLS_INTER_TAB_SIZE format - int y_fix = (int) ((float)y_fl * (float)HLS_INTER_TAB_SIZE); // mapy data in A16.HLS_INTER_TAB_SIZE format - - int x = x_fix >> HLS_INTER_BITS; - int y = y_fix >> HLS_INTER_BITS; - int x_frac = x_fix & (HLS_INTER_TAB_SIZE-1); - int y_frac = y_fix & (HLS_INTER_TAB_SIZE-1); - int ynext = y+1; - - ap_ufixed iu, iv; - iu(HLS_INTER_BITS-1, 0) = x_frac; - iv(HLS_INTER_BITS-1, 0) = y_frac; - - // Note that the range here is larger than expected by 1 horizontal and 1 vertical pixel, to allow - // Interpolating at the edge of the image - bool in_range = (y>=0 && y=0 && x=ishift && j> mx; + mapy >> my; + float x_fl = mx; + float y_fl = my; + + int x_fix = (int) ((float)x_fl * (float)HLS_INTER_TAB_SIZE); // mapx data in A16.HLS_INTER_TAB_SIZE format + int y_fix = (int) ((float)y_fl * (float)HLS_INTER_TAB_SIZE); // mapy data in A16.HLS_INTER_TAB_SIZE format + + int x = x_fix >> HLS_INTER_BITS; + int y = y_fix >> HLS_INTER_BITS; + int x_frac = x_fix & (HLS_INTER_TAB_SIZE-1); + int y_frac = y_fix & (HLS_INTER_TAB_SIZE-1); + int ynext = y+1; + + ap_ufixed iu, iv; + iu(HLS_INTER_BITS-1, 0) = x_frac; + iv(HLS_INTER_BITS-1, 0) = y_frac; + + // Note that the range here is larger than expected by 1 horizontal and 1 vertical pixel, to allow + // Interpolating at the edge of the image + bool in_range = (y>=0 && y=0 && x k01 = (1-iv)*( iu); // iu-iu*iv - ap_ufixed<2*HLS_INTER_BITS + 1, 1> k10 = ( iv)*(1-iu); // iv-iu*iv - ap_ufixed<2*HLS_INTER_BITS + 1, 1> k11 = ( iv)*( iu); // iu*iv - ap_ufixed<2*HLS_INTER_BITS + 1, 1> k00 = 1-iv-k01; //(1-iv)*(1-iu) = 1-iu-iv+iu*iv = 1-iv-k01 - assert( k00 + k01 + k10 + k11 == 1); - - DST_T d; - - if(in_range) - d = d00 * k00 + d01 * k01 + d10 * k10 + d11 * k11; - else - d = 0; - - dst<< d; - } - } - } + d00 = d3x3[(y%2 )*3 + x%2 ]; + d01 = d3x3[(y%2 )*3 + x%2+1]; + d10 = d3x3[(y%2+1)*3 + x%2 ]; + d11 = d3x3[(y%2+1)*3 + x%2+1]; + } else { + d00=buf[ya0][0][xa0][0]; + d01=buf[ya0][0][xa1][1]; + d10=buf[ya1][1][xa0][0]; + d11=buf[ya1][1][xa1][1]; + + if(x%2) { + std::swap(d00,d01); + std::swap(d10,d11); + } + if(y%2) { + std::swap(d00,d10); + std::swap(d01,d11); + } + } + ap_ufixed<2*HLS_INTER_BITS + 1, 1> k01 = (1-iv)*( iu); // iu-iu*iv + ap_ufixed<2*HLS_INTER_BITS + 1, 1> k10 = ( iv)*(1-iu); // iv-iu*iv + ap_ufixed<2*HLS_INTER_BITS + 1, 1> k11 = ( iv)*( iu); // iu*iv + ap_ufixed<2*HLS_INTER_BITS + 1, 1> k00 = 1-iv-k01; //(1-iv)*(1-iu) = 1-iu-iv+iu*iv = 1-iv-k01 + assert( k00 + k01 + k10 + k11 == 1); + + DST_T d; + + if(in_range) + d = d00 * k00 + d01 * k01 + d10 * k10 + d11 * k11; + else + d = 0; + + dst<< d; + } + } + } } template void xFRemapKernel( - hls::stream< SRC_T > &src, - hls::stream< DST_T > &dst, - hls::stream< MAP_T > &mapx, - hls::stream< MAP_T > &mapy, - uint16_t rows, uint16_t cols + hls::stream< SRC_T > &src, + hls::stream< DST_T > &dst, + hls::stream< MAP_T > &mapx, + hls::stream< MAP_T > &mapy, + uint16_t rows, uint16_t cols ) { - if(INTERPOLATION_TYPE == XF_INTERPOLATION_NN) { - xFRemapNNI(src, dst, mapx, mapy,rows,cols); - } else if(INTERPOLATION_TYPE == XF_INTERPOLATION_BILINEAR) { - xFRemapLI(src, dst, mapx, mapy,rows,cols); - } - else { - assert (((INTERPOLATION_TYPE == XF_INTERPOLATION_NN)||(INTERPOLATION_TYPE == XF_INTERPOLATION_BILINEAR)) && "The INTERPOLATION_TYPE must be either XF_INTERPOLATION_NN or XF_INTERPOLATION_BILINEAR"); - } + if(INTERPOLATION_TYPE == XF_INTERPOLATION_NN) { + xFRemapNNI(src, dst, mapx, mapy,rows,cols); + } else if(INTERPOLATION_TYPE == XF_INTERPOLATION_BILINEAR) { + xFRemapLI(src, dst, mapx, mapy,rows,cols); + } + else { + assert (((INTERPOLATION_TYPE == XF_INTERPOLATION_NN)||(INTERPOLATION_TYPE == XF_INTERPOLATION_BILINEAR)) && "The INTERPOLATION_TYPE must be either XF_INTERPOLATION_NN or XF_INTERPOLATION_BILINEAR"); + } } //#pragma SDS data data_mover("_src_mat.data":AXIDMA_SIMPLE,"_remapped_mat.data":AXIDMA_SIMPLE,"_mapx_mat.data":AXIDMA_SIMPLE,"_mapy_mat.data":AXIDMA_SIMPLE) //#pragma SDS data mem_attribute("_src_mat.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS,"_remapped_mat.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS,"_mapx_mat.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS,"_mapy_mat.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS) #pragma SDS data access_pattern("_src_mat.data":SEQUENTIAL,"_remapped_mat.data":SEQUENTIAL,"_mapx_mat.data":SEQUENTIAL,"_mapy_mat.data":SEQUENTIAL) #pragma SDS data copy("_src_mat.data"[0:"_src_mat.rows*_src_mat.cols"], "_remapped_mat.data"[0:"_remapped_mat.size"],"_mapx_mat.data"[0:"_mapx_mat.size"],"_mapy_mat.data"[0:"_mapy_mat.size"]) -template -void remap (xf::Mat &_src_mat, xf::Mat &_remapped_mat, xf::Mat &_mapx_mat, - xf::Mat &_mapy_mat) + +//#NO template + +template +void remap (xf::Mat &_src_mat, xf::Mat &_remapped_mat, xf::Mat &_mapx_mat, xf::Mat &_mapy_mat) { -#pragma HLS inline off -#pragma HLS dataflow + #pragma HLS inline off + #pragma HLS dataflow - assert ((MAP_T == XF_32FC1) && "The MAP_T must be XF_32FC1"); -// assert ((SRC_T == XF_8UC1) && "The SRC_T must be XF_8UC1"); -// assert ((DST_T == XF_8UC1) && "The DST_T must be XF_8UC1"); - assert ((NPC == XF_NPPC1) && "The NPC must be XF_NPPC1"); + assert ((MAP_T == XF_32FC1) && "The MAP_T must be XF_32FC1"); +// assert ((SRC_T == XF_8UC1) && "The SRC_T must be XF_8UC1"); +// assert ((DST_T == XF_8UC1) && "The DST_T must be XF_8UC1"); + assert ((NPC == XF_NPPC1) && "The NPC must be XF_NPPC1"); - hls::stream< XF_TNAME(SRC_T,NPC)> _src; - hls::stream< XF_TNAME(MAP_T,NPC)> _mapx; - hls::stream< XF_TNAME(MAP_T,NPC)> _mapy; - hls::stream< XF_TNAME(DST_T,NPC)> _remapped; + hls::stream< XF_TNAME(SRC_T,NPC)> _src; + hls::stream< XF_TNAME(MAP_T,NPC)> _mapx; + hls::stream< XF_TNAME(MAP_T,NPC)> _mapy; + hls::stream< XF_TNAME(DST_T,NPC)> _remapped; - int depth_est = WIN_ROWS*_src_mat.cols; + int depth_est = WIN_ROWS*_src_mat.cols; - uint16_t rows = _src_mat.rows; - uint16_t cols = _src_mat.cols; + uint16_t rows = _src_mat.rows; + uint16_t cols = _src_mat.cols; - int loop_count = (rows*cols); - int TC=(ROWS*COLS); + int loop_count = (rows*cols); + int TC=(ROWS*COLS); - int ishift = WIN_ROWS/2; - int row_tripcount = ROWS+WIN_ROWS; + int ishift = WIN_ROWS/2; + int row_tripcount = ROWS+WIN_ROWS; - xfremap_rows_loop: - for (int i = 0; i < rows+ishift; i++) - { -#pragma HLS LOOP_FLATTEN OFF -#pragma HLS LOOP_TRIPCOUNT min=1 max=row_tripcount + xfremap_rows_loop: + for (int i = 0; i < rows+ishift; i++) + { + #pragma HLS LOOP_FLATTEN OFF + #pragma HLS LOOP_TRIPCOUNT min=1 max=row_tripcount - xfremap_cols_loop: - for (int j = 0; j < cols; j++) - { -#pragma HLS pipeline ii=1 -#pragma HLS LOOP_TRIPCOUNT min=1 max=COLS + xfremap_cols_loop: + for (int j = 0; j < cols; j++) + { + #pragma HLS pipeline ii=1 + #pragma HLS LOOP_TRIPCOUNT min=1 max=COLS - if (i < rows) { - _src.write(*(_src_mat.data + i*cols + j)); - } - - if (i >= ishift) { - _mapx.write(*(_mapx_mat.data + (i-ishift)*cols + j)); - _mapy.write(*(_mapy_mat.data + (i-ishift)*cols + j)); - } - } - } - - xFRemapKernel (_src, _remapped, _mapx, _mapy, rows, cols); - - xfremap_output_loop: - for (int i = 0; i < loop_count; i++) - { -#pragma HLS pipeline ii=1 -#pragma HLS LOOP_TRIPCOUNT min=1 max=TC - _remapped_mat.data[i] = _remapped.read(); - } + if (i < rows) + { + _src.write(*(_src_mat.data + i*cols + j)); + } + + if (i >= ishift) + { + _mapx.write(*(_mapx_mat.data + (i-ishift)*cols + j)); + _mapy.write(*(_mapy_mat.data + (i-ishift)*cols + j)); + } + } + } + + xFRemapKernel (_src, _remapped, _mapx, _mapy, rows, cols); + + xfremap_output_loop: + for (int i = 0; i < loop_count; i++) + { + #pragma HLS pipeline ii=1 + #pragma HLS LOOP_TRIPCOUNT min=1 max=TC + _remapped_mat.data[i] = _remapped.read(); + } } } diff --git a/include/imgproc/xf_stereoBM.hpp b/include/imgproc/xf_stereoBM.hpp index 93448c5..91b1f9d 100644 --- a/include/imgproc/xf_stereoBM.hpp +++ b/include/imgproc/xf_stereoBM.hpp @@ -62,99 +62,99 @@ template T xFabsdiff2(T a, T b) { #pragma HLS INLINE - int x = a-b; + int x = a-b; #pragma HLS RESOURCE variable=x core=AddSubnS - T r; - if (x > 0) - { - r = x; - } - else - { - r = -x; - } - return r; + T r; + if (x > 0) + { + r = x; + } + else + { + r = -x; + } + return r; } template class xFMinSAD { public: - template - static void find(T a[SIZE], T_idx &loc, T &val) - { + template + static void find(T a[SIZE], T_idx &loc, T &val) + { #pragma HLS INLINE #pragma HLS array_partition variable=a complete dim=0 - T a1[SIZE/2]; - T a2[SIZE-SIZE/2]; + T a1[SIZE/2]; + T a2[SIZE-SIZE/2]; - for(int i = 0; i < SIZE/2; i++) - { + for(int i = 0; i < SIZE/2; i++) + { #pragma HLS UNROLL - a1[i] = a[i]; - } - for(int i = 0; i < SIZE-SIZE/2; i++) - { + a1[i] = a[i]; + } + for(int i = 0; i < SIZE-SIZE/2; i++) + { #pragma HLS UNROLL - a2[i] = a[i+SIZE/2]; - } - - T_idx l1,l2; - T v1,v2; - xFMinSAD::find(a1,l1,v1); - xFMinSAD::find(a2,l2,v2); - - if(v2 <= v1) - { - val = v2; - loc = l2+SIZE/2; - } - else - { - val = v1; - loc = l1; - } - } + a2[i] = a[i+SIZE/2]; + } + + T_idx l1,l2; + T v1,v2; + xFMinSAD::find(a1,l1,v1); + xFMinSAD::find(a2,l2,v2); + + if(v2 <= v1) + { + val = v2; + loc = l2+SIZE/2; + } + else + { + val = v1; + loc = l1; + } + } }; template<> class xFMinSAD<1> { public: - template - static void find(T a[1], T_idx &loc, T &val) - { + template + static void find(T a[1], T_idx &loc, T &val) + { #pragma HLS INLINE - loc = 0; - val = a[0]; - } + loc = 0; + val = a[0]; + } }; template<> class xFMinSAD<2> { public: - template - static void find(T a[2], T_idx &loc, T &val) - { + template + static void find(T a[2], T_idx &loc, T &val) + { #pragma HLS INLINE #pragma HLS array_partition variable=a complete dim=0 - T_idx l1=0, l2=1; - T v1=a[0], v2=a[1]; - if(v2 <= v1) - { - val = v2; - loc = l2; - } - else - { - val = v1; - loc = l1; - } - } + T_idx l1=0, l2=1; + T v1=a[0], v2=a[1]; + if(v2 <= v1) + { + val = v2; + loc = l2; + } + else + { + val = v1; + loc = l1; + } + } }; /* TEXTURE THRESHOLD computation */ @@ -163,32 +163,32 @@ void xFUpdateTextureSum(unsigned char window[WSIZE][L_WIN_COLS],unsigned char l_ { #pragma HLS INLINE - int abs_diff[WSIZE]; - int col_sums = 0; + int abs_diff[WSIZE]; + int col_sums = 0; - text_sum_loop1: - for (int i = 0; i < WSIZE; i++) - { + text_sum_loop1: + for (int i = 0; i < WSIZE; i++) + { #pragma HLS UNROLL - col_sums += (i > row? 0 : xFabsdiff2((int)(l_tmp[i]), cap)) - (((col < WSIZE) || (i > row) ) ? 0 : xFabsdiff2((int)window[i][WSIZE-1], cap)); - } + col_sums += (i > row? 0 : xFabsdiff2((int)(l_tmp[i]), cap)) - (((col < WSIZE) || (i > row) ) ? 0 : xFabsdiff2((int)window[i][WSIZE-1], cap)); + } - int tmp_prev[2]; - int tmp_int_sums; + int tmp_prev[2]; + int tmp_int_sums; - tmp_prev[0] = col>0 ? (int)text_sum[0]:(int)0; - tmp_prev[1] = col_sums; + tmp_prev[0] = col>0 ? (int)text_sum[0]:(int)0; + tmp_prev[1] = col_sums; - //shift right - for(int j = WSIZE-1; j >= 1; j--) - { + //shift right + for(int j = WSIZE-1; j >= 1; j--) + { #pragma HLS UNROLL - text_sum[j] = text_sum[j-1]; - } + text_sum[j] = text_sum[j-1]; + } - // shift_right, NDISP_UNITS,SAD_COL_SIZE,NPC>(text_sum); - tmp_int_sums = tmp_prev[0] + tmp_prev[1]; - text_sum[0] = tmp_int_sums; + // shift_right, NDISP_UNITS,SAD_COL_SIZE,NPC>(text_sum); + tmp_int_sums = tmp_prev[0] + tmp_prev[1]; + text_sum[0] = tmp_int_sums; } template @@ -196,57 +196,57 @@ void xFShiftRight(T buf[ROWS][COLS]) { #pragma HLS INLINE - shift_right_loop2: - for(unsigned char j = COLS-1; j >= 1; j--) - { + shift_right_loop2: + for(unsigned char j = COLS-1; j >= 1; j--) + { #pragma HLS UNROLL - shift_right_loop1: - for(unsigned char i = 0; i < ROWS; i++) - { + shift_right_loop1: + for(unsigned char i = 0; i < ROWS; i++) + { #pragma HLS UNROLL - buf[i][j] = buf[i][j-1]; - } - } + buf[i][j] = buf[i][j-1]; + } + } } template void xFInsertLeft(T buf[ROWS][COLS],T tmp[ROWS]) { #pragma HLS INLINE - insert_right_loop1: - for(unsigned char i = 0; i < ROWS; i++) - { + insert_right_loop1: + for(unsigned char i = 0; i < ROWS; i++) + { #pragma HLS UNROLL - buf[i][0] = tmp[i]; - } + buf[i][0] = tmp[i]; + } } template short int xFSADComputeInc( - T l_win[WSIZE][L_WIN_COLS], - T r_win_s[WSIZE][R_WIN_COLS], - unsigned char d, - unsigned short col, - short int sad_cols_d[WSIZE]) + T l_win[WSIZE][L_WIN_COLS], + T r_win_s[WSIZE][R_WIN_COLS], + unsigned char d, + unsigned short col, + short int sad_cols_d[WSIZE]) { #pragma HLS inline - short int a_sum = 0, b_sum = 0; - // compute new column sads; - for (unsigned char i = 0; i < WSIZE; i++) { - b_sum += __ABS((unsigned char)l_win[i][0] - (unsigned char)r_win_s[i][d]); - } - // valid guard; - if (col < d) b_sum = 0; - // get previous sad_cols value; - a_sum = sad_cols_d[WSIZE-1]; - // shift sad_cols[d]; - for (unsigned char j = WSIZE-1; j > 0; j--) { - sad_cols_d[j] = sad_cols_d[j-1]; - } - // fill in sad_cols with newly computed values; - sad_cols_d[0] = b_sum; - - return (-a_sum+b_sum); + short int a_sum = 0, b_sum = 0; + // compute new column sads; + for (unsigned char i = 0; i < WSIZE; i++) { + b_sum += __ABS((unsigned char)l_win[i][0] - (unsigned char)r_win_s[i][d]); + } + // valid guard; + if (col < d) b_sum = 0; + // get previous sad_cols value; + a_sum = sad_cols_d[WSIZE-1]; + // shift sad_cols[d]; + for (unsigned char j = WSIZE-1; j > 0; j--) { + sad_cols_d[j] = sad_cols_d[j-1]; + } + // fill in sad_cols with newly computed values; + sad_cols_d[0] = b_sum; + + return (-a_sum+b_sum); } @@ -256,264 +256,264 @@ int WSIZE,int NDISP,int NDISP_UNIT, int SWEEP_FACT, int ROW_TC, int COL_TC,int BUF_SIZE, int LWINWIDTH,int RWINWIDTH,int DISPWORDWIDTH,int SADWORDWIDTH> void xFSADBlockMatching( - hls::stream &left, - hls::stream &right, - hls::stream& out, - xf::xFSBMState& state, - short int height, short int width) + hls::stream &left, + hls::stream &right, + hls::stream& out, + xf::xFSBMState& state, + short int height, short int width) { - //create the left and right line buffers. - XF_TNAME(WORDWIDTH_SRC,1) left_line_buf[WSIZE][BUF_SIZE]; -#if PLATFORM_ZCU104 + //create the left and right line buffers. + XF_TNAME(WORDWIDTH_SRC,1) left_line_buf[WSIZE][BUF_SIZE]; +#if PLATFORM_ZCU104 #pragma HLS RESOURCE variable=left_line_buf core=XPM_MEMORY uram #endif #pragma HLS ARRAY_PARTITION variable=left_line_buf complete dim=1 - XF_TNAME(WORDWIDTH_SRC,1) right_line_buf[WSIZE][BUF_SIZE]; -#if PLATFORM_ZCU104 + XF_TNAME(WORDWIDTH_SRC,1) right_line_buf[WSIZE][BUF_SIZE]; +#if PLATFORM_ZCU104 #pragma HLS RESOURCE variable=right_line_buf core=XPM_MEMORY uram #endif #pragma HLS ARRAY_PARTITION variable=right_line_buf complete dim=1 - //create the left and right window buffers. - unsigned char l_window[WSIZE][LWINWIDTH]; + //create the left and right window buffers. + unsigned char l_window[WSIZE][LWINWIDTH]; #pragma HLS ARRAY_PARTITION variable=l_window complete dim=2 #pragma HLS ARRAY_PARTITION variable=l_window complete dim=1 - unsigned char r_window[WSIZE][RWINWIDTH]; + unsigned char r_window[WSIZE][RWINWIDTH]; #pragma HLS ARRAY_PARTITION variable=r_window complete dim=2 #pragma HLS ARRAY_PARTITION variable=r_window complete dim=1 - int TMP_INT_MAX_PACK; - TMP_INT_MAX_PACK = 2147483647; + int TMP_INT_MAX_PACK; + TMP_INT_MAX_PACK = 2147483647; - short int FILTERED = 0;//((state.minDisparity - 1) << 4); - unsigned char cap = state.preFilterCap; - unsigned char l_tmp[WSIZE]; + short int FILTERED = 0;//((state.minDisparity - 1) << 4); + unsigned char cap = state.preFilterCap; + unsigned char l_tmp[WSIZE]; #pragma HLS array_partition variable=l_tmp complete dim=0 - unsigned char r_tmp[WSIZE]; + unsigned char r_tmp[WSIZE]; #pragma HLS array_partition variable=r_tmp complete dim=0 - int text_sum[WSIZE]; + int text_sum[WSIZE]; #pragma HLS ARRAY_PARTITION variable=text_sum complete dim=0 - int sad[NDISP_UNIT]; + int sad[NDISP_UNIT]; #pragma HLS array_partition variable=sad complete dim=0 - short int sad_cols[NDISP_UNIT][WSIZE]; + short int sad_cols[NDISP_UNIT][WSIZE]; #pragma HLS array_partition variable=sad_cols complete dim=0 - int minsad[COLS+WSIZE-1]; -#if PLATFORM_ZCU104 + int minsad[COLS+WSIZE-1]; +#if PLATFORM_ZCU104 #pragma HLS RESOURCE variable=minsad core=XPM_MEMORY uram #endif - XF_TNAME(WORDWIDTH_DST,1) mind[BUF_SIZE]; -#if PLATFORM_ZCU104 + XF_TNAME(WORDWIDTH_DST,1) mind[BUF_SIZE]; +#if PLATFORM_ZCU104 #pragma HLS RESOURCE variable=mind core=XPM_MEMORY uram #endif - bool skip[BUF_SIZE]; -#if PLATFORM_ZCU104 + bool skip[BUF_SIZE]; +#if PLATFORM_ZCU104 #pragma HLS RESOURCE variable=skip core=XPM_MEMORY uram #endif - loop_row: - for (unsigned short row = 0; row < height+WSIZE-1; row++) { + loop_row: + for (unsigned short row = 0; row < height+WSIZE-1; row++) { #pragma HLS LOOP_TRIPCOUNT min=ROW_TC max=ROW_TC - loop_mux: - for (unsigned char sweep = 0; sweep < state.sweepFactor; sweep++) { + loop_mux: + for (unsigned char sweep = 0; sweep < state.sweepFactor; sweep++) { #pragma HLS LOOP_TRIPCOUNT min=SWEEP_FACT max=SWEEP_FACT - loop_sad_init: - for (unsigned char d = 0; d < NDISP_UNIT; d++) { + loop_sad_init: + for (unsigned char d = 0; d < NDISP_UNIT; d++) { #pragma HLS unroll - sad[d] = 0; - for (unsigned char i = 0; i < WSIZE; i++) { + sad[d] = 0; + for (unsigned char i = 0; i < WSIZE; i++) { #pragma HLS unroll - sad_cols[d][i] = 0; - } - } - loop_col: - for (unsigned short col = 0; col < width+WSIZE-1; col++) { + sad_cols[d][i] = 0; + } + } + loop_col: + for (unsigned short col = 0; col < width+WSIZE-1; col++) { #pragma HLS LOOP_TRIPCOUNT min=COL_TC max=COL_TC #pragma HLS loop_flatten #pragma HLS pipeline II=1 - unsigned char tmp_l = cap,tmp_r=cap; + unsigned char tmp_l = cap,tmp_r=cap; - if (sweep == 0) { - // load and shifting buffs - // shift down - for(unsigned char sd = WSIZE-1; sd > 0; sd--) { + if (sweep == 0) { + // load and shifting buffs + // shift down + for(unsigned char sd = WSIZE-1; sd > 0; sd--) { #pragma HLS unroll - left_line_buf[sd][col] = left_line_buf[sd-1][col]; - } + left_line_buf[sd][col] = left_line_buf[sd-1][col]; + } - for(unsigned char sd = WSIZE-1; sd > 0; sd--) { + for(unsigned char sd = WSIZE-1; sd > 0; sd--) { #pragma HLS unroll - right_line_buf[sd][col] = right_line_buf[sd-1][col]; - } - - if (!(row < (WSIZE-1)/2 || row >= height+(WSIZE-1)/2 || col < (WSIZE-1)/2 || col >= width+(WSIZE-1)/2)) { - tmp_l = left.read(); - tmp_r = right.read(); - } - // insert bottom - left_line_buf[0][col] = tmp_l; - right_line_buf[0][col] = tmp_r; - loop_get_data_from_linebuff: - for (unsigned char i = 0; i < WSIZE; i++) { - l_tmp[i] = left_line_buf[i][col]; - r_tmp[i] = right_line_buf[i][col]; - } - } else { - unsigned short offset = sweep * NDISP_UNIT; - loop_get_data_from_linebuff_with_offset: - for (unsigned char i = 0; i < WSIZE; i++) { - l_tmp[i] = left_line_buf[i][col]; - r_tmp[i] = right_line_buf[i][col-offset < 0 ? 0 : col-offset]; - } - } - - xFUpdateTextureSum(l_window,l_tmp,row,col,state.preFilterCap,text_sum); - - xFShiftRight(l_window); - xFShiftRight(r_window); - xFInsertLeft(l_window,l_tmp); - xFInsertLeft(r_window,r_tmp); - - loop_sad_compute: - for (unsigned char d = 0; d < NDISP_UNIT; d++) { - sad[d] += (int)xFSADComputeInc(l_window, r_window, d, col, sad_cols[d]); - } - - int skip_val[BUF_SIZE]; -#if PLATFORM_ZCU104 + right_line_buf[sd][col] = right_line_buf[sd-1][col]; + } + + if (!(row < (WSIZE-1)/2 || row >= height+(WSIZE-1)/2 || col < (WSIZE-1)/2 || col >= width+(WSIZE-1)/2)) { + tmp_l = left.read(); + tmp_r = right.read(); + } + // insert bottom + left_line_buf[0][col] = tmp_l; + right_line_buf[0][col] = tmp_r; + loop_get_data_from_linebuff: + for (unsigned char i = 0; i < WSIZE; i++) { + l_tmp[i] = left_line_buf[i][col]; + r_tmp[i] = right_line_buf[i][col]; + } + } else { + unsigned short offset = sweep * NDISP_UNIT; + loop_get_data_from_linebuff_with_offset: + for (unsigned char i = 0; i < WSIZE; i++) { + l_tmp[i] = left_line_buf[i][col]; + r_tmp[i] = right_line_buf[i][col-offset < 0 ? 0 : col-offset]; + } + } + + xFUpdateTextureSum(l_window,l_tmp,row,col,state.preFilterCap,text_sum); + + xFShiftRight(l_window); + xFShiftRight(r_window); + xFInsertLeft(l_window,l_tmp); + xFInsertLeft(r_window,r_tmp); + + loop_sad_compute: + for (unsigned char d = 0; d < NDISP_UNIT; d++) { + sad[d] += (int)xFSADComputeInc(l_window, r_window, d, col, sad_cols[d]); + } + + int skip_val[BUF_SIZE]; +#if PLATFORM_ZCU104 #pragma HLS RESOURCE variable=skip_val core=XPM_MEMORY uram #endif - int edge_neighbor[BUF_SIZE]; -#if PLATFORM_ZCU104 + int edge_neighbor[BUF_SIZE]; +#if PLATFORM_ZCU104 #pragma HLS RESOURCE variable=edge_neighbor core=XPM_MEMORY uram #endif - int edge[BUF_SIZE]; -#if PLATFORM_ZCU104 + int edge[BUF_SIZE]; +#if PLATFORM_ZCU104 #pragma HLS RESOURCE variable=edge core=XPM_MEMORY uram #endif - int minsad_p[BUF_SIZE]; -#if PLATFORM_ZCU104 + int minsad_p[BUF_SIZE]; +#if PLATFORM_ZCU104 #pragma HLS RESOURCE variable=minsad_p core=XPM_MEMORY uram #endif - int minsad_n[BUF_SIZE]; -#if PLATFORM_ZCU104 + int minsad_n[BUF_SIZE]; +#if PLATFORM_ZCU104 #pragma HLS RESOURCE variable=minsad_n core=XPM_MEMORY uram #endif - // SAD computing and store output - if (row >= WSIZE-1 && col >= WSIZE-1) { - int skip_flag = 0; - if (text_sum[0] < state.textureThreshold) skip_flag = 1; // texture threshold check - if ((row - WSIZE+1) < (WSIZE-1)/2 || (row - WSIZE+1) >= height - (WSIZE-1)/2) skip_flag = 1; // border skip horizontal - if ((col - WSIZE+1) < NDISP-1 + (WSIZE-1)/2 || (col - WSIZE+1) >= width - (WSIZE-1)/2) skip_flag = 1; // border skip vertical - - int gminsad = TMP_INT_MAX_PACK; - XF_TNAME(WORDWIDTH_DST,1) gmind = 0; - bool gskip = 0; - int gskip_val = TMP_INT_MAX_PACK; - int gedge_neighbor = TMP_INT_MAX_PACK; // for uniqueness check - int gedge=0; // for subpixel interpolation - if (NDISP_UNIT != 1) - gedge = sad[1]; - - int lminsad = TMP_INT_MAX_PACK; - XF_TNAME(WORDWIDTH_DST,1) lmind = 0; - int gminsad_p = TMP_INT_MAX_PACK; - int gminsad_n = TMP_INT_MAX_PACK; - - if (sweep > 0) { - gminsad = minsad[col]; - gmind = mind[col]; - gskip = skip[col]; - gskip_val = skip_val[col]; - gedge_neighbor = edge_neighbor[col]; - if (sweep == 1 && NDISP_UNIT == 1) - gedge_neighbor = TMP_INT_MAX_PACK; - gedge = edge[col]; - gminsad_p = minsad_p[col]; - gminsad_n = (gmind == sweep*NDISP_UNIT-1 ? sad[0] : minsad_n[col]); - } - - xFMinSAD::find(sad, lmind, lminsad); - - if (lminsad <= gminsad) { - gskip = 0; - if (state.uniquenessRatio > 0) { - int thresh = lminsad + (lminsad * state.uniquenessRatio / 100); - if (gminsad <= thresh && lmind+sweep*NDISP_UNIT > gmind+1) { - gskip = 1; - gskip_val = gminsad; - } else if (gminsad <= thresh && lmind+sweep*NDISP_UNIT == gmind+1 && gskip_val <= thresh) { - gskip = 1; - // gskip_val unchanged; - } else if (gminsad <= thresh && lmind+sweep*NDISP_UNIT == gmind+1 && gedge_neighbor <= thresh) { - gskip = 1; - gskip_val = gedge_neighbor; - } - loop_unique_search_0: - for (unsigned char d = 0; d < NDISP_UNIT; d++) { - if (sad[d] <= thresh && sad[d] < gskip_val && (d < lmind-1 || d > lmind+1)) { - gskip = 1; - gskip_val = sad[d]; - } - } - } - // update global values; - gminsad_p = (lmind == 0 ? gedge : sad[lmind-1]); - if (NDISP_UNIT == 1) - gminsad_n = sad[lmind == NDISP_UNIT-1 ? 0 : (int)(lmind+1)]; - else - gminsad_n = sad[lmind == NDISP_UNIT-1 ? lmind-1 : lmind+1]; - gminsad = lminsad; - gmind = lmind + sweep*NDISP_UNIT; - } else { - if (state.uniquenessRatio > 0) { - int thresh = gminsad + (gminsad * state.uniquenessRatio / 100); - loop_unique_search_1: - for (unsigned char d = 0; d < NDISP_UNIT; d++) { - if (sad[d] <= thresh && sad[d] < gskip_val && ((gmind == (sweep*NDISP_UNIT-1)) ? ((sweep*NDISP_UNIT+d) > (gmind+1)) : 1)) { - gskip = 1; - gskip_val = sad[d]; - } - } - } - } - minsad[col] = gminsad; - mind[col] = gmind; - skip[col] = gskip; - skip_val[col] = gskip_val; - if (NDISP_UNIT == 1) - edge_neighbor[col] = edge[col]; - else - edge_neighbor[col] = sad[NDISP_UNIT-2]; - edge[col] = sad[NDISP_UNIT-1]; - minsad_p[col] = gminsad_p; - minsad_n[col] = gminsad_n; - - if (sweep == state.sweepFactor-1) { - ap_int::Value> p = gmind==0?gminsad_n:gminsad_p; - ap_int::Value> n = gmind==NDISP-1?gminsad_p:gminsad_n; - ap_int::Value> k = p + n - 2*gminsad + __ABS((int)p - (int)n); - - ap_int::Value+8> num = p - n; - num = num << 8; - ap_int<10> delta = 0; - if (k != 0) delta = num/k; - XF_TNAME(WORDWIDTH_DST,1) out_disp = ((gmind*256 + delta + 15) >> 4); - - skip_flag |= gskip; - if (skip_flag) out_disp = FILTERED; - out.write(out_disp); - } - } - } - } - } + // SAD computing and store output + if (row >= WSIZE-1 && col >= WSIZE-1) { + int skip_flag = 0; + if (text_sum[0] < state.textureThreshold) skip_flag = 1; // texture threshold check + if ((row - WSIZE+1) < (WSIZE-1)/2 || (row - WSIZE+1) >= height - (WSIZE-1)/2) skip_flag = 1; // border skip horizontal + if ((col - WSIZE+1) < NDISP-1 + (WSIZE-1)/2 || (col - WSIZE+1) >= width - (WSIZE-1)/2) skip_flag = 1; // border skip vertical + + int gminsad = TMP_INT_MAX_PACK; + XF_TNAME(WORDWIDTH_DST,1) gmind = 0; + bool gskip = 0; + int gskip_val = TMP_INT_MAX_PACK; + int gedge_neighbor = TMP_INT_MAX_PACK; // for uniqueness check + int gedge=0; // for subpixel interpolation + if (NDISP_UNIT != 1) + gedge = sad[1]; + + int lminsad = TMP_INT_MAX_PACK; + XF_TNAME(WORDWIDTH_DST,1) lmind = 0; + int gminsad_p = TMP_INT_MAX_PACK; + int gminsad_n = TMP_INT_MAX_PACK; + + if (sweep > 0) { + gminsad = minsad[col]; + gmind = mind[col]; + gskip = skip[col]; + gskip_val = skip_val[col]; + gedge_neighbor = edge_neighbor[col]; + if (sweep == 1 && NDISP_UNIT == 1) + gedge_neighbor = TMP_INT_MAX_PACK; + gedge = edge[col]; + gminsad_p = minsad_p[col]; + gminsad_n = (gmind == sweep*NDISP_UNIT-1 ? sad[0] : minsad_n[col]); + } + + xFMinSAD::find(sad, lmind, lminsad); + + if (lminsad <= gminsad) { + gskip = 0; + if (state.uniquenessRatio > 0) { + int thresh = lminsad + (lminsad * state.uniquenessRatio / 100); + if (gminsad <= thresh && lmind+sweep*NDISP_UNIT > gmind+1) { + gskip = 1; + gskip_val = gminsad; + } else if (gminsad <= thresh && lmind+sweep*NDISP_UNIT == gmind+1 && gskip_val <= thresh) { + gskip = 1; + // gskip_val unchanged; + } else if (gminsad <= thresh && lmind+sweep*NDISP_UNIT == gmind+1 && gedge_neighbor <= thresh) { + gskip = 1; + gskip_val = gedge_neighbor; + } + loop_unique_search_0: + for (unsigned char d = 0; d < NDISP_UNIT; d++) { + if (sad[d] <= thresh && sad[d] < gskip_val && (d < lmind-1 || d > lmind+1)) { + gskip = 1; + gskip_val = sad[d]; + } + } + } + // update global values; + gminsad_p = (lmind == 0 ? gedge : sad[lmind-1]); + if (NDISP_UNIT == 1) + gminsad_n = sad[lmind == NDISP_UNIT-1 ? 0 : (int)(lmind+1)]; + else + gminsad_n = sad[lmind == NDISP_UNIT-1 ? lmind-1 : lmind+1]; + gminsad = lminsad; + gmind = lmind + sweep*NDISP_UNIT; + } else { + if (state.uniquenessRatio > 0) { + int thresh = gminsad + (gminsad * state.uniquenessRatio / 100); + loop_unique_search_1: + for (unsigned char d = 0; d < NDISP_UNIT; d++) { + if (sad[d] <= thresh && sad[d] < gskip_val && ((gmind == (sweep*NDISP_UNIT-1)) ? ((sweep*NDISP_UNIT+d) > (gmind+1)) : 1)) { + gskip = 1; + gskip_val = sad[d]; + } + } + } + } + minsad[col] = gminsad; + mind[col] = gmind; + skip[col] = gskip; + skip_val[col] = gskip_val; + if (NDISP_UNIT == 1) + edge_neighbor[col] = edge[col]; + else + edge_neighbor[col] = sad[NDISP_UNIT-2]; + edge[col] = sad[NDISP_UNIT-1]; + minsad_p[col] = gminsad_p; + minsad_n[col] = gminsad_n; + + if (sweep == state.sweepFactor-1) { + ap_int::Value> p = gmind==0?gminsad_n:gminsad_p; + ap_int::Value> n = gmind==NDISP-1?gminsad_p:gminsad_n; + ap_int::Value> k = p + n - 2*gminsad + __ABS((int)p - (int)n); + + ap_int::Value+8> num = p - n; + num = num << 8; + ap_int<10> delta = 0; + if (k != 0) delta = num/k; + XF_TNAME(WORDWIDTH_DST,1) out_disp = ((gmind*256 + delta + 15) >> 4); + + skip_flag |= gskip; + if (skip_flag) out_disp = FILTERED; + out.write(out_disp); + } + } + } + } + } } @@ -522,65 +522,65 @@ template void xFImageClipUtility(int i, int j, int k, int height, int width, int *pix) { #pragma HLS INLINE OFF - if (i<1 || i > height-2 || (j*(1< width-2) - *pix = 0; + if (i<1 || i > height-2 || (j*(1< width-2) + *pix = 0; } /* Clips the Output from the Sobel function based on the Cap value input */ template void xFImageClip( - hls::stream& src, - hls::stream& dst, - int cap, short int height, short int width) + hls::stream& src, + hls::stream& dst, + int cap, short int height, short int width) { - loop_row_clip: - for (short i = 0; i < height; i++) - { + loop_row_clip: + for (short i = 0; i < height; i++) + { #pragma HLS LOOP_TRIPCOUNT min=ROWS max=ROWS #pragma HLS LOOP_FLATTEN off - loop_col_clip: - for (short j = 0; j < (width>>XF_BITSHIFT(NPC)); j++) - { + loop_col_clip: + for (short j = 0; j < (width>>XF_BITSHIFT(NPC)); j++) + { #pragma HLS PIPELINE II=1 #pragma HLS LOOP_TRIPCOUNT min=COLS_TC max=COLS_TC - XF_TNAME(SRC_T,1) tmp = src.read(); - XF_TNAME(DST_T,1) tmp_out; - for (int k = 0; k < (1<(i,j,k,height,width,&pix); - - XF_PTNAME(DEPTH_DST) p = (XF_PTNAME(DEPTH_DST))(pix < -cap ? 0 : pix > cap ? cap*2 : pix + cap); - tmp_out.range((k+1)*XF_PIXELDEPTH(DEPTH_DST)-1,k*XF_PIXELDEPTH(DEPTH_DST)) = (XF_PTNAME(DEPTH_DST))p; - } - dst.write(tmp_out); - } - } + int pix = (XF_PTNAME(DEPTH_SRC))tmp.range((k+1)*XF_PIXELDEPTH(DEPTH_SRC)-1,k*XF_PIXELDEPTH(DEPTH_SRC)); + xFImageClipUtility(i,j,k,height,width,&pix); + + XF_PTNAME(DEPTH_DST) p = (XF_PTNAME(DEPTH_DST))(pix < -cap ? 0 : pix > cap ? cap*2 : pix + cap); + tmp_out.range((k+1)*XF_PIXELDEPTH(DEPTH_DST)-1,k*XF_PIXELDEPTH(DEPTH_DST)) = (XF_PTNAME(DEPTH_DST))p; + } + dst.write(tmp_out); + } + } } /* For reading the Gradient-Y stream, rather than letting the stream dangling */ template void xFReadOutStream( - hls::stream& src, - short int height,short int width) + hls::stream& src, + short int height,short int width) { - loop_row_clip: - for (short i = 0; i < height; i++) - { + loop_row_clip: + for (short i = 0; i < height; i++) + { #pragma HLS LOOP_TRIPCOUNT min=ROWS max=ROWS #pragma HLS LOOP_FLATTEN off - loop_col_clip: - for (short j = 0; j < (width>>XF_BITSHIFT(NPC)); j++) - { + loop_col_clip: + for (short j = 0; j < (width>>XF_BITSHIFT(NPC)); j++) + { #pragma HLS PIPELINE II=1 #pragma HLS LOOP_TRIPCOUNT min=COLS_TC max=COLS_TC - XF_TNAME(SRC_T,1) tmp = src.read(); - } - } + XF_TNAME(SRC_T,1) tmp = src.read(); + } + } } @@ -589,138 +589,138 @@ template void xFStereoPreProcess(hls::stream &in_strm, hls::stream& clipped_strm, int preFilterType,int preFilterCap, short int height, short int width) { #pragma HLS INLINE - hls::stream in_sobel_x("in_sobel_x"); - hls::stream in_sobel_y("in_sobel_y"); + hls::stream in_sobel_x("in_sobel_x"); + hls::stream in_sobel_y("in_sobel_y"); - xFSobelFilter(in_strm ,in_sobel_x ,in_sobel_y ,3,XF_BORDER_CONSTANT,height,width); - xFImageClip(in_sobel_x,clipped_strm,preFilterCap,height,width); - xFReadOutStream(in_sobel_y,height,width); + xFSobelFilter(in_strm ,in_sobel_x ,in_sobel_y ,3,XF_BORDER_CONSTANT,height,width); + xFImageClip(in_sobel_x,clipped_strm,preFilterCap,height,width); + xFReadOutStream(in_sobel_y,height,width); } /* This function performs preprocessing and disparity computation for NO mode */ template void xFFindStereoCorrespondenceLBMNO_pipeline (hls::stream &_left_strm, - hls::stream &_right_strm, - XF_TNAME(DST_T,NPC) *disp_ptr , - xf::xFSBMState &sbmstate, - short int height, short int width) + hls::stream &_right_strm, + XF_TNAME(DST_T,NPC) *disp_ptr , + xf::xFSBMState &sbmstate, + short int height, short int width) { #pragma HLS INLINE - hls::stream< XF_TNAME(SRC_T,NPC) > left_clipped("left_clipped"); - hls::stream< XF_TNAME(SRC_T,NPC) > right_clipped("right_clipped"); + hls::stream< XF_TNAME(SRC_T,NPC) > left_clipped("left_clipped"); + hls::stream< XF_TNAME(SRC_T,NPC) > right_clipped("right_clipped"); - hls::stream< XF_TNAME(DST_T,NPC) > _disp_strm("disparity stream"); + hls::stream< XF_TNAME(DST_T,NPC) > _disp_strm("disparity stream"); #pragma HLS DATAFLOW - int TC=(ROWS*COLS); + int TC=(ROWS*COLS); - /* Sobel and Clipping */ - xFStereoPreProcess(_left_strm,left_clipped,sbmstate.preFilterType,sbmstate.preFilterCap,height,width); - xFStereoPreProcess(_right_strm,right_clipped,sbmstate.preFilterType,sbmstate.preFilterCap,height,width); + /* Sobel and Clipping */ + xFStereoPreProcess(_left_strm,left_clipped,sbmstate.preFilterType,sbmstate.preFilterCap,height,width); + xFStereoPreProcess(_right_strm,right_clipped,sbmstate.preFilterType,sbmstate.preFilterCap,height,width); - /* SAD and disparity computation */ - xFSADBlockMatching(left_clipped,right_clipped,_disp_strm,sbmstate,height,width); + /* SAD and disparity computation */ + xFSADBlockMatching(left_clipped,right_clipped,_disp_strm,sbmstate,height,width); - for (int i = 0; i < height*width; i++) - { + for (int i = 0; i < height*width; i++) + { #pragma HLS pipeline ii=1 #pragma HLS LOOP_TRIPCOUNT min=1 max=TC - *(disp_ptr + i) = _disp_strm.read(); - } + *(disp_ptr + i) = _disp_strm.read(); + } } /* This function performs preprocessing and disparity computation for NO mode */ template void xFFindStereoCorrespondenceLBMNO (XF_TNAME(SRC_T,NPC) *left_ptr, - XF_TNAME(SRC_T,NPC) *right_ptr, - XF_TNAME(DST_T,NPC) *disp_ptr , - xf::xFSBMState &sbmstate, - short int height, short int width) + XF_TNAME(SRC_T,NPC) *right_ptr, + XF_TNAME(DST_T,NPC) *disp_ptr , + xf::xFSBMState &sbmstate, + short int height, short int width) { - hls::stream< XF_TNAME(SRC_T,NPC) > _left_strm; - hls::stream< XF_TNAME(SRC_T,NPC) > _right_strm; + hls::stream< XF_TNAME(SRC_T,NPC) > _left_strm; + hls::stream< XF_TNAME(SRC_T,NPC) > _right_strm; - hls::stream< XF_TNAME(SRC_T,NPC) > left_clipped("left_clipped"); - hls::stream< XF_TNAME(SRC_T,NPC) > right_clipped("right_clipped"); + hls::stream< XF_TNAME(SRC_T,NPC) > left_clipped("left_clipped"); + hls::stream< XF_TNAME(SRC_T,NPC) > right_clipped("right_clipped"); - hls::stream< XF_TNAME(DST_T,NPC) > _disp_strm("disparity stream"); + hls::stream< XF_TNAME(DST_T,NPC) > _disp_strm("disparity stream"); #pragma HLS DATAFLOW - int TC=(ROWS*COLS); - for (int i = 0; i < height*width; i++) - { + int TC=(ROWS*COLS); + for (int i = 0; i < height*width; i++) + { #pragma HLS pipeline ii=1 #pragma HLS LOOP_TRIPCOUNT min=1 max=TC - _left_strm.write(*(left_ptr + i)); - _right_strm.write(*(right_ptr + i)); - } + _left_strm.write(*(left_ptr + i)); + _right_strm.write(*(right_ptr + i)); + } - /* Sobel and Clipping */ - xFStereoPreProcess(_left_strm,left_clipped,sbmstate.preFilterType,sbmstate.preFilterCap,height,width); - xFStereoPreProcess(_right_strm,right_clipped,sbmstate.preFilterType,sbmstate.preFilterCap,height,width); + /* Sobel and Clipping */ + xFStereoPreProcess(_left_strm,left_clipped,sbmstate.preFilterType,sbmstate.preFilterCap,height,width); + xFStereoPreProcess(_right_strm,right_clipped,sbmstate.preFilterType,sbmstate.preFilterCap,height,width); - /* SAD and disparity computation */ - xFSADBlockMatching(left_clipped,right_clipped,_disp_strm,sbmstate,height,width); + /* SAD and disparity computation */ + xFSADBlockMatching(left_clipped,right_clipped,_disp_strm,sbmstate,height,width); - for (int i = 0; i < height*width; i++) - { + for (int i = 0; i < height*width; i++) + { #pragma HLS pipeline ii=1 #pragma HLS LOOP_TRIPCOUNT min=1 max=TC - *(disp_ptr + i) = _disp_strm.read(); - } + *(disp_ptr + i) = _disp_strm.read(); + } } /* Calls the functions based on the PIXEL PARALLELISM configuration */ template void xFFindStereoCorrespondenceLBM_pipeline(hls::stream &_left_strm, - hls::stream &_right_strm, - XF_TNAME(DST_T,NPC) *out_ptr, - xf::xFSBMState &sbmstate, - short int height,short int width) + hls::stream &_right_strm, + XF_TNAME(DST_T,NPC) *out_ptr, + xf::xFSBMState &sbmstate, + short int height,short int width) { #pragma HLS INLINE - assert((SRC_T == XF_8UW) && " WORDWIDTH_SRC must be XF_8UW "); - assert((DST_T == XF_16UW) && " WORDWIDTH_DST must be XF_16UW "); - assert((NPC == XF_NPPC1) && " NPC must be XF_NPPC1 "); - assert((WSIZE%2 == 1) && (WSIZE < __XF_MIN(height,width) && (WSIZE >= 5)) && " WSIZE must be an odd number, less than minimum of height & width and greater than or equal to '5' "); - assert(((NDISP > 1) && (NDISP < width)) && " NDISP must be greater than '1' and less than the image width "); - assert((NDISP >= NDISP_UNIT) && " NDISP must not be lesser than NDISP_UNIT"); - assert((((NDISP/NDISP_UNIT)*NDISP_UNIT) == NDISP) && " NDISP/NDISP_UNIT must be a non-fractional number "); - assert(sbmstate.uniquenessRatio >= 0 && "uniqueness ratio must be non-negative"); - assert(sbmstate.preFilterCap >=1 && sbmstate.preFilterCap <= 63 && "preFilterCap must be within 1..63"); - assert(sbmstate.preFilterType == XF_STEREO_PREFILTER_SOBEL_TYPE); - - xFFindStereoCorrespondenceLBMNO_pipeline(_left_strm,_right_strm,out_ptr,sbmstate,height,width); + assert((SRC_T == XF_8UW) && " WORDWIDTH_SRC must be XF_8UW "); + assert((DST_T == XF_16UW) && " WORDWIDTH_DST must be XF_16UW "); + assert((NPC == XF_NPPC1) && " NPC must be XF_NPPC1 "); + assert((WSIZE%2 == 1) && (WSIZE < __XF_MIN(height,width) && (WSIZE >= 5)) && " WSIZE must be an odd number, less than minimum of height & width and greater than or equal to '5' "); + assert(((NDISP > 1) && (NDISP < width)) && " NDISP must be greater than '1' and less than the image width "); + assert((NDISP >= NDISP_UNIT) && " NDISP must not be lesser than NDISP_UNIT"); + assert((((NDISP/NDISP_UNIT)*NDISP_UNIT) == NDISP) && " NDISP/NDISP_UNIT must be a non-fractional number "); + assert(sbmstate.uniquenessRatio >= 0 && "uniqueness ratio must be non-negative"); + assert(sbmstate.preFilterCap >=1 && sbmstate.preFilterCap <= 63 && "preFilterCap must be within 1..63"); + assert(sbmstate.preFilterType == XF_STEREO_PREFILTER_SOBEL_TYPE); + + xFFindStereoCorrespondenceLBMNO_pipeline(_left_strm,_right_strm,out_ptr,sbmstate,height,width); } /* Calls the functions based on the PIXEL PARALLELISM configuration */ template void xFFindStereoCorrespondenceLBM(XF_TNAME(SRC_T,NPC) *left_ptr, - XF_TNAME(SRC_T,NPC) *right_ptr, - XF_TNAME(DST_T,NPC) *out_ptr, - xf::xFSBMState &sbmstate, - short int height,short int width) + XF_TNAME(SRC_T,NPC) *right_ptr, + XF_TNAME(DST_T,NPC) *out_ptr, + xf::xFSBMState &sbmstate, + short int height,short int width) { - assert((SRC_T == XF_8UW) && " WORDWIDTH_SRC must be XF_8UW "); - assert((DST_T == XF_16UW) && " WORDWIDTH_DST must be XF_16UW "); - assert((NPC == XF_NPPC1) && " NPC must be XF_NPPC1 "); - assert((WSIZE%2 == 1) && (WSIZE < __XF_MIN(height,width) && (WSIZE >= 5)) && " WSIZE must be an odd number, less than minimum of height & width and greater than or equal to '5' "); - assert(((NDISP > 1) && (NDISP < width)) && " NDISP must be greater than '1' and less than the image width "); - assert((NDISP >= NDISP_UNIT) && " NDISP must not be lesser than NDISP_UNIT"); - assert((((NDISP/NDISP_UNIT)*NDISP_UNIT) == NDISP) && " NDISP/NDISP_UNIT must be a non-fractional number "); - assert(sbmstate.uniquenessRatio >= 0 && "uniqueness ratio must be non-negative"); - assert(sbmstate.preFilterCap >=1 && sbmstate.preFilterCap <= 63 && "preFilterCap must be within 1..63"); - assert(sbmstate.preFilterType == XF_STEREO_PREFILTER_SOBEL_TYPE); - - xFFindStereoCorrespondenceLBMNO(left_ptr,right_ptr,out_ptr,sbmstate,height,width); + assert((SRC_T == XF_8UW) && " WORDWIDTH_SRC must be XF_8UW "); + assert((DST_T == XF_16UW) && " WORDWIDTH_DST must be XF_16UW "); + assert((NPC == XF_NPPC1) && " NPC must be XF_NPPC1 "); + assert((WSIZE%2 == 1) && (WSIZE < __XF_MIN(height,width) && (WSIZE >= 5)) && " WSIZE must be an odd number, less than minimum of height & width and greater than or equal to '5' "); + assert(((NDISP > 1) && (NDISP < width)) && " NDISP must be greater than '1' and less than the image width "); + assert((NDISP >= NDISP_UNIT) && " NDISP must not be lesser than NDISP_UNIT"); + assert((((NDISP/NDISP_UNIT)*NDISP_UNIT) == NDISP) && " NDISP/NDISP_UNIT must be a non-fractional number "); + assert(sbmstate.uniquenessRatio >= 0 && "uniqueness ratio must be non-negative"); + assert(sbmstate.preFilterCap >=1 && sbmstate.preFilterCap <= 63 && "preFilterCap must be within 1..63"); + assert(sbmstate.preFilterType == XF_STEREO_PREFILTER_SOBEL_TYPE); + + xFFindStereoCorrespondenceLBMNO(left_ptr,right_ptr,out_ptr,sbmstate,height,width); } @@ -731,16 +731,19 @@ void xFFindStereoCorrespondenceLBM(XF_TNAME(SRC_T,NPC) *left_ptr, #pragma SDS data copy("_left_mat.data"[0:"_left_mat.size"]) #pragma SDS data copy("_right_mat.data"[0:"_right_mat.size"]) #pragma SDS data copy("_disp_mat.data"[0:"_disp_mat.size"]) -template + +//#NO template + +template void StereoBM(xf::Mat &_left_mat, - xf::Mat &_right_mat, - xf::Mat &_disp_mat, - xf::xFSBMState &sbmstate) + xf::Mat &_right_mat, + xf::Mat &_disp_mat, + xf::xFSBMState &sbmstate) { #pragma HLS INLINE OFF - xFFindStereoCorrespondenceLBM(_left_mat.data,_right_mat.data,_disp_mat.data,sbmstate, - _left_mat.rows,_left_mat.cols); + xFFindStereoCorrespondenceLBM(_left_mat.data,_right_mat.data,_disp_mat.data,sbmstate, + _left_mat.rows,_left_mat.cols); } } From 0052c3746a6ba8fa8182c0589290dc250d221c41 Mon Sep 17 00:00:00 2001 From: Serge Date: Sun, 6 May 2018 18:11:11 +0300 Subject: [PATCH 33/73] Exclude memcpy() calls from xFInitUndistortRectifyMapInverseKernel() to solve XOCC compilation error --- include/imgproc/xf_stereo_pipeline.hpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/include/imgproc/xf_stereo_pipeline.hpp b/include/imgproc/xf_stereo_pipeline.hpp index caa5c3c..880f704 100644 --- a/include/imgproc/xf_stereo_pipeline.hpp +++ b/include/imgproc/xf_stereo_pipeline.hpp @@ -123,9 +123,20 @@ void xFInitUndistortRectifyMapInverseKernel ( #pragma HLS ARRAY_PARTITION variable=distCoeffsHLS complete dim=0 #pragma HLS ARRAY_PARTITION variable=iRnewCameraMatrixHLS complete dim=0 - memcpy(cameraMatrixHLS,cameraMatrix,4*CM_SIZE); - memcpy(distCoeffsHLS,distCoeffs,4*N); - memcpy(iRnewCameraMatrixHLS,ir,4*CM_SIZE); +//#NO memcpy(cameraMatrixHLS,cameraMatrix,4*CM_SIZE); +//#NO memcpy(distCoeffsHLS,distCoeffs,4*N); +//#NO memcpy(iRnewCameraMatrixHLS,ir,4*CM_SIZE); + + for(int r = 0; r < CM_SIZE; r++) + { + cameraMatrixHLS[r] = cameraMatrix[r]; + iRnewCameraMatrixHLS[r] = ir[r]; + } + + for(int n = 0; n < N; n++) + { + distCoeffsHLS[n] = distCoeffs[n]; + } MAP_T mx; MAP_T my; From 32855964cc920951f7aee4e10745d2d17a088869 Mon Sep 17 00:00:00 2001 From: Serge Date: Sun, 6 May 2018 18:12:29 +0300 Subject: [PATCH 34/73] Format xf_stereo_pipeline_config.h and comment out function declaration --- .../stereopipeline/xf_stereo_pipeline_config.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_config.h b/aws_demo/stereopipeline/xf_stereo_pipeline_config.h index f6512e5..97bff99 100644 --- a/aws_demo/stereopipeline/xf_stereo_pipeline_config.h +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_config.h @@ -44,8 +44,8 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /* config width and height */ -#define XF_HEIGHT 1080 -#define XF_WIDTH 1920 +#define XF_HEIGHT 1080 +#define XF_WIDTH 1920 #define XF_CAMERA_MATRIX_SIZE 9 #define XF_DIST_COEFF_SIZE 5 @@ -53,11 +53,13 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define IN_TYPE ap_uint<8> #define OUT_TYPE ap_uint<16> +/* void stereopipeline_accel(xf::Mat &leftMat, xf::Mat &rightMat, xf::Mat &dispMat, - xf::Mat &mapxLMat, xf::Mat &mapyLMat, xf::Mat &mapxRMat, - xf::Mat &mapyRMat, xf::Mat &leftRemappedMat, xf::Mat &rightRemappedMat, - xf::xFSBMState &bm_state, ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, ap_fixed<32,12> *distC_l_fix, ap_fixed<32,12> *distC_r_fix, - ap_fixed<32,12> *irA_l_fix, ap_fixed<32,12> *irA_r_fix, int _cm_size, int _dc_size); + xf::Mat &mapxLMat, xf::Mat &mapyLMat, xf::Mat &mapxRMat, + xf::Mat &mapyRMat, xf::Mat &leftRemappedMat, xf::Mat &rightRemappedMat, + xf::xFSBMState &bm_state, ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, ap_fixed<32,12> *distC_l_fix, ap_fixed<32,12> *distC_r_fix, + ap_fixed<32,12> *irA_l_fix, ap_fixed<32,12> *irA_r_fix, int _cm_size, int _dc_size); +*/ #endif // _XF_STEREO_PIPELINE_CONFIG_H_ From c2c5083ba279fad1d61e17feed9af8b68ebb049f Mon Sep 17 00:00:00 2001 From: Serge Date: Sun, 6 May 2018 18:14:53 +0300 Subject: [PATCH 35/73] Success compilation of xf::InitUndistortRectifyMapInverse() calling --- .../xf_stereo_pipeline_kernel_aws.cpp | 369 ++++++++++-------- 1 file changed, 203 insertions(+), 166 deletions(-) diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp b/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp index ed59436..7dfc811 100644 --- a/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp @@ -5,238 +5,275 @@ #include "xf_stereo_pipeline_config.h" -template -void remap_aws( XF_TNAME(SRC_T,NPC) *_src_mat, XF_TNAME(SRC_T,NPC) *_remapped_mat, XF_TNAME(SRC_T,NPC) *_mapx_mat, XF_TNAME(SRC_T,NPC) *_mapy_mat, int m_rows, int m_cols ); - - -extern "C" - { - void xf_stereopipeline - ( - XF_TNAME(XF_8UC1 , XF_NPPC1) *leftMat , //xf::Mat &leftMat, - - XF_TNAME(XF_8UC1 , XF_NPPC1) *rightMat, //xf::Mat &rightMat, - - XF_TNAME(XF_8UC1 , XF_NPPC1) *dispMat , //xf::Mat &dispMat, - - XF_TNAME(XF_32FC1, XF_NPPC1) *mapxLMat, //xf::Mat &mapxLMat, //out + internal stream - - XF_TNAME(XF_32FC1, XF_NPPC1) *mapyLMat, //xf::Mat &mapyLMat, //out + internal stream - - XF_TNAME(XF_32FC1, XF_NPPC1) *mapxRMat, //xf::Mat &mapxRMat, //out + internal stream - - XF_TNAME(XF_32FC1, XF_NPPC1) *mapyRMat, //xf::Mat &mapyRMat, //out + internal stream - - XF_TNAME(XF_8UC1 , XF_NPPC1) *leftRemappedMat, //xf::Mat &leftRemappedMat, - - XF_TNAME(XF_8UC1 , XF_NPPC1) *rightRemappedMat, //xf::Mat &rightRemappedMat, - - xf::xFSBMState bm_state, - - ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, - ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , - ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , - - int _cm_size, int _dc_size - - int rows, - int cols - ); +extern "C" + { + void xf_stereopipeline + ( + XF_TNAME(XF_8UC1 , XF_NPPC1) *img_l , + +// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_r, + +// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_s , + + XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_l, + XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_l, + + ap_fixed<32,12> *cameraMA_l_fix, // ap_fixed<32,12> *cameraMA_r_fix, + ap_fixed<32,12> *distC_l_fix , // ap_fixed<32,12> *distC_r_fix , + ap_fixed<32,12> *irA_l_fix , // ap_fixed<32,12> *irA_r_fix , + + int cm_size, int dc_size, + + int rows, + int cols + ); } -void xf_stereopipeline( - XF_TNAME(XF_8UC1 , XF_NPPC1) *leftMat , //xf::Mat &leftMat, - - XF_TNAME(XF_8UC1 , XF_NPPC1) *rightMat, //xf::Mat &rightMat, - - XF_TNAME(XF_8UC1 , XF_NPPC1) *dispMat , //xf::Mat &dispMat, - - XF_TNAME(XF_32FC1, XF_NPPC1) *mapxLMat, //xf::Mat &mapxLMat, //out + internal stream - - XF_TNAME(XF_32FC1, XF_NPPC1) *mapyLMat, //xf::Mat &mapyLMat, //out + internal stream - - XF_TNAME(XF_32FC1, XF_NPPC1) *mapxRMat, //xf::Mat &mapxRMat, //out + internal stream - - XF_TNAME(XF_32FC1, XF_NPPC1) *mapyRMat, //xf::Mat &mapyRMat, //out + internal stream - - XF_TNAME(XF_8UC1 , XF_NPPC1) *leftRemappedMat, //xf::Mat &leftRemappedMat, - - XF_TNAME(XF_8UC1 , XF_NPPC1) *rightRemappedMat, //xf::Mat &rightRemappedMat, - - xf::xFSBMState bm_state, - - ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, - - ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , - - ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , - - int _cm_size, int _dc_size, - - int rows, - int cols +void xf_stereopipeline( + XF_TNAME(XF_8UC1 , XF_NPPC1) *img_l, + +// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_r, + +// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_s, + + XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_l, + XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_l, + + ap_fixed<32,12> *cameraMA_l_fix, // ap_fixed<32,12> *cameraMA_r_fix, + ap_fixed<32,12> *distC_l_fix , // ap_fixed<32,12> *distC_r_fix , + ap_fixed<32,12> *irA_l_fix , // ap_fixed<32,12> *irA_r_fix , + + int cm_size, int dc_size, + + int rows, + int cols ) { - #pragma HLS INTERFACE m_axi port=leftMat offset=slave bundle=gmem - #pragma HLS INTERFACE m_axi port=rightMat offset=slave bundle=gmem + #pragma HLS INTERFACE m_axi port=img_l offset=slave bundle=gmem_0 +// #pragma HLS INTERFACE m_axi port=img_r offset=slave bundle=gmem_0 - #pragma HLS INTERFACE m_axi port=dispMat offset=slave bundle=gmem +// #pragma HLS INTERFACE m_axi port=img_s offset=slave bundle=gmem - #pragma HLS INTERFACE m_axi port=mapxLMat offset=slave bundle=gmem - #pragma HLS INTERFACE m_axi port=mapyLMat offset=slave bundle=gmem + #pragma HLS INTERFACE m_axi port=img_map_x_l offset=slave bundle=gmem_1 + #pragma HLS INTERFACE m_axi port=img_map_y_l offset=slave bundle=gmem_1 - #pragma HLS INTERFACE m_axi port=mapxRMat offset=slave bundle=gmem - #pragma HLS INTERFACE m_axi port=mapyRMat offset=slave bundle=gmem - - #pragma HLS INTERFACE m_axi port=leftRemappedMat offset=slave bundle=gmem - #pragma HLS INTERFACE m_axi port=rightRemappedMat offset=slave bundle=gmem +// #pragma HLS INTERFACE m_axi port=mapxLMat offset=slave bundle=gmem +// #pragma HLS INTERFACE m_axi port=mapyLMat offset=slave bundle=gmem +// +// #pragma HLS INTERFACE m_axi port=mapxRMat offset=slave bundle=gmem +// #pragma HLS INTERFACE m_axi port=mapyRMat offset=slave bundle=gmem +// +// #pragma HLS INTERFACE m_axi port=leftRemappedMat offset=slave bundle=gmem +// #pragma HLS INTERFACE m_axi port=rightRemappedMat offset=slave bundle=gmem #pragma HLS INTERFACE m_axi port=cameraMA_l_fix offset=slave bundle=gmem - #pragma HLS INTERFACE m_axi port=cameraMA_r_fix offset=slave bundle=gmem +// #pragma HLS INTERFACE m_axi port=cameraMA_r_fix offset=slave bundle=gmem #pragma HLS INTERFACE m_axi port=distC_l_fix offset=slave bundle=gmem - #pragma HLS INTERFACE m_axi port=distC_r_fix offset=slave bundle=gmem +// #pragma HLS INTERFACE m_axi port=distC_r_fix offset=slave bundle=gmem #pragma HLS INTERFACE m_axi port=irA_l_fix offset=slave bundle=gmem - #pragma HLS INTERFACE m_axi port=irA_r_fix offset=slave bundle=gmem +// #pragma HLS INTERFACE m_axi port=irA_r_fix offset=slave bundle=gmem - #pragma HLS INTERFACE s_axilite port=leftMat bundle=control - #pragma HLS INTERFACE s_axilite port=rightMat bundle=control + #pragma HLS INTERFACE s_axilite port=img_l bundle=control +// #pragma HLS INTERFACE s_axilite port=img_r bundle=control - #pragma HLS INTERFACE s_axilite port=dispMat bundle=control +// #pragma HLS INTERFACE s_axilite port=img_s bundle=control + + #pragma HLS INTERFACE s_axilite port=img_map_x_l bundle=control + #pragma HLS INTERFACE s_axilite port=img_map_y_l bundle=control - #pragma HLS INTERFACE s_axilite port=mapxLMat bundle=control - #pragma HLS INTERFACE s_axilite port=mapyLMat bundle=control +// #pragma HLS INTERFACE s_axilite port=mapxLMat bundle=control +// #pragma HLS INTERFACE s_axilite port=mapyLMat bundle=control - #pragma HLS INTERFACE s_axilite port=mapxRMat bundle=control - #pragma HLS INTERFACE s_axilite port=mapyRMat bundle=control +// #pragma HLS INTERFACE s_axilite port=mapxRMat bundle=control +// #pragma HLS INTERFACE s_axilite port=mapyRMat bundle=control - #pragma HLS INTERFACE s_axilite port=leftRemappedMat bundle=control - #pragma HLS INTERFACE s_axilite port=rightRemappedMat bundle=control +// #pragma HLS INTERFACE s_axilite port=leftRemappedMat bundle=control +// #pragma HLS INTERFACE s_axilite port=rightRemappedMat bundle=control #pragma HLS INTERFACE s_axilite port=cameraMA_l_fix bundle=control - #pragma HLS INTERFACE s_axilite port=cameraMA_r_fix bundle=control +// #pragma HLS INTERFACE s_axilite port=cameraMA_r_fix bundle=control #pragma HLS INTERFACE s_axilite port=distC_l_fix bundle=control - #pragma HLS INTERFACE s_axilite port=distC_r_fix bundle=control +// #pragma HLS INTERFACE s_axilite port=distC_r_fix bundle=control #pragma HLS INTERFACE s_axilite port=irA_l_fix bundle=control - #pragma HLS INTERFACE s_axilite port=irA_r_fix bundle=control +// #pragma HLS INTERFACE s_axilite port=irA_r_fix bundle=control - #pragma HLS INTERFACE s_axilite port=_cm_size bundle=control - #pragma HLS INTERFACE s_axilite port=_dc_size bundle=control + #pragma HLS INTERFACE s_axilite port=cm_size bundle=control + #pragma HLS INTERFACE s_axilite port=dc_size bundle=control #pragma HLS INTERFACE s_axilite port=rows bundle=control #pragma HLS INTERFACE s_axilite port=cols bundle=control #pragma HLS INTERFACE s_axilite port=return bundle=control - #pragma HLS inline off + #pragma HLS dataflow + const int pROWS = XF_HEIGHT; + const int pCOLS = XF_WIDTH ; + + const int pNPC = XF_NPPC1; - XF_TNAME(XF_32FC1, XF_NPPC1) map_x_l[ XF_HEIGHT * (XF_WIDTH>>(XF_BITSHIFT(XF_NPPC1))) ]; - XF_TNAME(XF_32FC1, XF_NPPC1) map_y_l[ XF_HEIGHT * (XF_WIDTH>>(XF_BITSHIFT(XF_NPPC1))) ]; +// xf::Mat leftMat; +// xf::Mat rightMat; - XF_TNAME(XF_32FC1, XF_NPPC1) map_x_r[ XF_HEIGHT * (XF_WIDTH>>(XF_BITSHIFT(XF_NPPC1))) ]; - XF_TNAME(XF_32FC1, XF_NPPC1) map_y_r[ XF_HEIGHT * (XF_WIDTH>>(XF_BITSHIFT(XF_NPPC1))) ]; +// #pragma HLS stream variable=leftMat.data depth=pCOLS/pNPC +// #pragma HLS stream variable=rightMat.data depth=pCOLS/pNPC - XF_TNAME(XF_8UC1 , XF_NPPC1) remapped_l[ XF_HEIGHT * (XF_WIDTH>>(XF_BITSHIFT(XF_NPPC1))) ]; - XF_TNAME(XF_8UC1 , XF_NPPC1) remapped_r[ XF_HEIGHT * (XF_WIDTH>>(XF_BITSHIFT(XF_NPPC1))) ]; +// xf::Mat dispMat; +// +// #pragma HLS stream variable=dispMat.data depth=pCOLS/pNPC - xf::xFInitUndistortRectifyMapInverseKernel, XF_DIST_COEFF_SIZE, XF_TNAME(XF_32FC1, XF_NPPC1)>(cameraMA_l_fix, distC_l_fix, irA_l_fix, map_x_l, map_y_l, rows, cols); + xf::Mat map_x_l; + xf::Mat map_y_l; - remap_aws( leftMat, remapped_l, map_x_l, map_y_l, rows, cols ); + #pragma HLS stream variable=map_x_l.data depth=pCOLS/pNPC + #pragma HLS stream variable=map_y_l.data depth=pCOLS/pNPC +// xf::Mat map_x_r; +// xf::Mat map_y_r; +// #pragma HLS stream variable=map_x_r.data depth=pCOLS/pNPC +// #pragma HLS stream variable=map_y_r.data depth=pCOLS/pNPC + xf::Mat remapped_l; +// xf::Mat remapped_r; - xf::xFInitUndistortRectifyMapInverseKernel, XF_DIST_COEFF_SIZE, XF_TNAME(XF_32FC1, XF_NPPC1)>(cameraMA_r_fix, distC_r_fix, irA_r_fix, map_x_r, map_y_r, rows, cols); +// #pragma HLS stream variable=remapped_l.data depth=pCOLS/pNPC +// #pragma HLS stream variable=remapped_r.data depth=pCOLS/pNPC - remap_aws( rightMat, remapped_r, map_x_r, map_y_r, rows, cols ); + //=================================================// +// xf::xFSBMState bm_state; +// ap_fixed<32,12> cameraMA_l_fix[XF_CAMERA_MATRIX_SIZE]; +// ap_fixed<32,12> cameraMA_r_fix[XF_CAMERA_MATRIX_SIZE]; +// #pragma HLS stream variable=cameraMA_l_fix depth=2 +// #pragma HLS stream variable=cameraMA_r_fix depth=2 + +// ap_fixed<32,12> distC_l_fix[XF_DIST_COEFF_SIZE]; +// ap_fixed<32,12> distC_r_fix[XF_DIST_COEFF_SIZE]; - xf::xFFindStereoCorrespondenceLBM(remapped_l, remapped_r, dispMat, bm_state, rows, cols); -} +// #pragma HLS stream variable=distC_l_fix depth=2 +// #pragma HLS stream variable=distC_r_fix depth=2 +// ap_fixed<32,12> irA_l_fix[XF_CAMERA_MATRIX_SIZE]; +// ap_fixed<32,12> irA_r_fix[XF_CAMERA_MATRIX_SIZE]; +// #pragma HLS stream variable=irA_l_fix depth=2 +// #pragma HLS stream variable=irA_r_fix depth=2 + //================================================// +// for(int i=0; i < rows; i++) +// { +// #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS +// +// for(int j=0; j < (cols >> (XF_BITSHIFT(XF_NPPC1))); j++) +// { +// #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS/pNPC +// #pragma HLS PIPELINE +// #pragma HLS loop_flatten off +// +// *(leftMat.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); +// } +// } + + xf::InitUndistortRectifyMapInverse < XF_CAMERA_MATRIX_SIZE, XF_DIST_COEFF_SIZE, XF_32FC1, XF_HEIGHT, XF_WIDTH, XF_NPPC1 > (cameraMA_l_fix, distC_l_fix, irA_l_fix, map_x_l, map_y_l, cm_size, dc_size); +// xf::remap ( leftMat, remapped_l, map_x_l, map_y_l ); +// xf::InitUndistortRectifyMapInverse < XF_CAMERA_MATRIX_SIZE, XF_DIST_COEFF_SIZE, XF_32FC1, XF_HEIGHT, XF_WIDTH, XF_NPPC1 > (cameraMA_r_fix, distC_r_fix, irA_r_fix, map_x_r, map_y_r, cm_size, dc_size); + +// xf::remap ( rightMat, remapped_r, map_x_r, map_y_r); + + + + +// xf::StereoBM ( remapped_l, remapped_r, dispMat, bm_state ); + + + + + for(int i=0; i < rows; i++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS + + for(int j=0; j < (cols >> (XF_BITSHIFT(XF_NPPC1))); j++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS/pNPC + #pragma HLS PIPELINE + #pragma HLS loop_flatten off + + *(img_map_x_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(map_x_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + *(img_map_y_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(map_y_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + } + } + + + -template -void remap_aws( XF_TNAME(SRC_T,NPC) *_src_mat, XF_TNAME(SRC_T,NPC) *_remapped_mat, XF_TNAME(SRC_T,NPC) *_mapx_mat, XF_TNAME(SRC_T,NPC) *_mapy_mat, int m_rows, int m_cols ) -{ - #pragma HLS inline off - #pragma HLS dataflow - assert ((MAP_T == XF_32FC1) && "The MAP_T must be XF_32FC1"); - assert ((NPC == XF_NPPC1) && "The NPC must be XF_NPPC1"); - - hls::stream< XF_TNAME(SRC_T,NPC)> _src; - hls::stream< XF_TNAME(MAP_T,NPC)> _mapx; - hls::stream< XF_TNAME(MAP_T,NPC)> _mapy; - hls::stream< XF_TNAME(DST_T,NPC)> _remapped; - - int depth_est = WIN_ROWS * m_cols; - - uint16_t rows = m_rows; - uint16_t cols = m_cols; - - int loop_count = (rows*cols); - int TC=(ROWS*COLS); - - int ishift = WIN_ROWS/2; - int row_tripcount = ROWS+WIN_ROWS; - - xfremap_rows_loop: - for(int i = 0; i < rows+ishift; i++) - { - #pragma HLS LOOP_FLATTEN OFF - #pragma HLS LOOP_TRIPCOUNT min=1 max=row_tripcount - - xfremap_cols_loop: - for (int j = 0; j < cols; j++) - { - #pragma HLS pipeline ii=1 - #pragma HLS LOOP_TRIPCOUNT min=1 max=COLS - - if (i < rows) - { - _src.write(*(_src_mat + i*cols + j)); - } - - if (i >= ishift) - { - _mapx.write(*(_mapx_mat + (i-ishift)*cols + j)); - _mapy.write(*(_mapy_mat + (i-ishift)*cols + j)); - } - } - } - - xf::xFRemapKernel (_src, _remapped, _mapx, _mapy, rows, cols); - - xfremap_output_loop: - for (int i = 0; i < loop_count; i++) - { - #pragma HLS pipeline ii=1 - #pragma HLS LOOP_TRIPCOUNT min=1 max=TC - _remapped_mat[i] = _remapped.read(); - } } + + + + + + + +// void xf_stereopipeline +// ( +// XF_TNAME(XF_8UC1 , XF_NPPC1) *leftMat , // xf::Mat &leftMat, +// +// XF_TNAME(XF_8UC1 , XF_NPPC1) *rightMat, // xf::Mat &rightMat, +// +// XF_TNAME(XF_8UC1 , XF_NPPC1) *dispMat , // xf::Mat &dispMat, +// +// XF_TNAME(XF_32FC1, XF_NPPC1) *mapxLMat, // xf::Mat &mapxLMat, out + internal stream +// +// XF_TNAME(XF_32FC1, XF_NPPC1) *mapyLMat, // xf::Mat &mapyLMat, out + internal stream +// +// XF_TNAME(XF_32FC1, XF_NPPC1) *mapxRMat, // xf::Mat &mapxRMat, out + internal stream +// +// XF_TNAME(XF_32FC1, XF_NPPC1) *mapyRMat, // xf::Mat &mapyRMat, out + internal stream +// +// XF_TNAME(XF_8UC1 , XF_NPPC1) *leftRemappedMat, // xf::Mat &leftRemappedMat, +// +// XF_TNAME(XF_8UC1 , XF_NPPC1) *rightRemappedMat, // xf::Mat &rightRemappedMat, +// +// xf::xFSBMState bm_state, +// +// ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, +// ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , +// ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , +// +// int cm_size, int dc_size +// +// int rows, +// int cols +// ); + + + + + + + From 66eeb6c015487e16837bcba97cc0e879883d8d3a Mon Sep 17 00:00:00 2001 From: Serge Date: Sun, 6 May 2018 21:51:31 +0300 Subject: [PATCH 36/73] Success compilation of xf::InitUndistortRectifyMapInverse() + remap() calling for left image only --- .../xf_stereo_pipeline_kernel_aws.cpp | 49 ++++++++++++------- 1 file changed, 30 insertions(+), 19 deletions(-) diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp b/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp index 7dfc811..1f80a37 100644 --- a/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp @@ -18,6 +18,8 @@ extern "C" XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_l, XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_l, + XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_l , + ap_fixed<32,12> *cameraMA_l_fix, // ap_fixed<32,12> *cameraMA_r_fix, ap_fixed<32,12> *distC_l_fix , // ap_fixed<32,12> *distC_r_fix , ap_fixed<32,12> *irA_l_fix , // ap_fixed<32,12> *irA_r_fix , @@ -39,6 +41,8 @@ void xf_stereopipeline( XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_l, XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_l, + XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_l , + ap_fixed<32,12> *cameraMA_l_fix, // ap_fixed<32,12> *cameraMA_r_fix, ap_fixed<32,12> *distC_l_fix , // ap_fixed<32,12> *distC_r_fix , ap_fixed<32,12> *irA_l_fix , // ap_fixed<32,12> *irA_r_fix , @@ -57,6 +61,8 @@ void xf_stereopipeline( #pragma HLS INTERFACE m_axi port=img_map_x_l offset=slave bundle=gmem_1 #pragma HLS INTERFACE m_axi port=img_map_y_l offset=slave bundle=gmem_1 + #pragma HLS INTERFACE m_axi port=img_remapped_l offset=slave bundle=gmem_0 + // #pragma HLS INTERFACE m_axi port=mapxLMat offset=slave bundle=gmem // #pragma HLS INTERFACE m_axi port=mapyLMat offset=slave bundle=gmem // @@ -84,6 +90,8 @@ void xf_stereopipeline( #pragma HLS INTERFACE s_axilite port=img_map_x_l bundle=control #pragma HLS INTERFACE s_axilite port=img_map_y_l bundle=control + + #pragma HLS INTERFACE s_axilite port=img_remapped_l bundle=control // #pragma HLS INTERFACE s_axilite port=mapxLMat bundle=control // #pragma HLS INTERFACE s_axilite port=mapyLMat bundle=control @@ -123,10 +131,10 @@ void xf_stereopipeline( const int pNPC = XF_NPPC1; -// xf::Mat leftMat; + xf::Mat leftMat; // xf::Mat rightMat; -// #pragma HLS stream variable=leftMat.data depth=pCOLS/pNPC + #pragma HLS stream variable=leftMat.data depth=pCOLS/pNPC // #pragma HLS stream variable=rightMat.data depth=pCOLS/pNPC @@ -150,7 +158,7 @@ void xf_stereopipeline( xf::Mat remapped_l; // xf::Mat remapped_r; -// #pragma HLS stream variable=remapped_l.data depth=pCOLS/pNPC + #pragma HLS stream variable=remapped_l.data depth=pCOLS/pNPC // #pragma HLS stream variable=remapped_r.data depth=pCOLS/pNPC //=================================================// @@ -178,24 +186,24 @@ void xf_stereopipeline( //================================================// -// for(int i=0; i < rows; i++) -// { -// #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS -// -// for(int j=0; j < (cols >> (XF_BITSHIFT(XF_NPPC1))); j++) -// { -// #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS/pNPC -// #pragma HLS PIPELINE -// #pragma HLS loop_flatten off -// -// *(leftMat.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); -// } -// } + for(int i=0; i < rows; i++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS + + for(int j=0; j < (cols >> (XF_BITSHIFT(XF_NPPC1))); j++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS/pNPC + #pragma HLS PIPELINE + #pragma HLS loop_flatten off + + *(leftMat.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + } + } xf::InitUndistortRectifyMapInverse < XF_CAMERA_MATRIX_SIZE, XF_DIST_COEFF_SIZE, XF_32FC1, XF_HEIGHT, XF_WIDTH, XF_NPPC1 > (cameraMA_l_fix, distC_l_fix, irA_l_fix, map_x_l, map_y_l, cm_size, dc_size); -// xf::remap ( leftMat, remapped_l, map_x_l, map_y_l ); + xf::remap ( leftMat, remapped_l, map_x_l, map_y_l ); @@ -221,8 +229,11 @@ void xf_stereopipeline( #pragma HLS PIPELINE #pragma HLS loop_flatten off - *(img_map_x_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(map_x_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); - *(img_map_y_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(map_y_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + //*(img_map_x_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(map_x_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + //*(img_map_y_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(map_y_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + + *(img_remapped_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(remapped_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + } } From f6a1be8737a591f7f70c81fcf70e54bfdb5f30f7 Mon Sep 17 00:00:00 2001 From: Serge Date: Mon, 7 May 2018 01:20:49 +0300 Subject: [PATCH 37/73] Fix error: static modifier removed because it prevent using few instances of function simultaneously. --- include/imgproc/xf_remap.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/imgproc/xf_remap.hpp b/include/imgproc/xf_remap.hpp index 5f6e26d..125f6f6 100644 --- a/include/imgproc/xf_remap.hpp +++ b/include/imgproc/xf_remap.hpp @@ -137,7 +137,7 @@ void xFRemapLI( ) { // Add one to always get zero for boundary interpolation. Maybe need initialization here? - static DST_T buf[WIN_ROW/2+1][2][COLS/2+1][2]; //AK,ZoTech: static added for initialization, otherwise X are generated in co-sim. + DST_T buf[WIN_ROW/2+1][2][COLS/2+1][2]; //AK,ZoTech: static added for initialization, otherwise X are generated in co-sim. #pragma HLS array_partition complete variable=buf dim=2 #pragma HLS array_partition complete variable=buf dim=4 SRC_T s; From b6ce8a6571d4d6bf83e9f0923fa54054093a93b8 Mon Sep 17 00:00:00 2001 From: Serge Date: Mon, 7 May 2018 01:24:27 +0300 Subject: [PATCH 38/73] Successful compilation of preliminary processing of both images. --- .../xf_stereo_pipeline_kernel_aws.cpp | 136 ++++++++++++------ 1 file changed, 94 insertions(+), 42 deletions(-) diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp b/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp index 1f80a37..2725f7b 100644 --- a/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp @@ -11,18 +11,22 @@ extern "C" ( XF_TNAME(XF_8UC1 , XF_NPPC1) *img_l , -// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_r, + XF_TNAME(XF_8UC1 , XF_NPPC1) *img_r, // XF_TNAME(XF_8UC1 , XF_NPPC1) *img_s , - XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_l, - XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_l, +// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_l, +// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_l, - XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_l , +// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_r, +// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_r, - ap_fixed<32,12> *cameraMA_l_fix, // ap_fixed<32,12> *cameraMA_r_fix, - ap_fixed<32,12> *distC_l_fix , // ap_fixed<32,12> *distC_r_fix , - ap_fixed<32,12> *irA_l_fix , // ap_fixed<32,12> *irA_r_fix , + XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_l, + XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_r, + + ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, + ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , + ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , int cm_size, int dc_size, @@ -34,18 +38,22 @@ extern "C" void xf_stereopipeline( XF_TNAME(XF_8UC1 , XF_NPPC1) *img_l, -// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_r, + XF_TNAME(XF_8UC1 , XF_NPPC1) *img_r, // XF_TNAME(XF_8UC1 , XF_NPPC1) *img_s, - XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_l, - XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_l, +// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_l, +// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_l, + +// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_r, +// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_r, - XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_l , + XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_l, + XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_r, - ap_fixed<32,12> *cameraMA_l_fix, // ap_fixed<32,12> *cameraMA_r_fix, - ap_fixed<32,12> *distC_l_fix , // ap_fixed<32,12> *distC_r_fix , - ap_fixed<32,12> *irA_l_fix , // ap_fixed<32,12> *irA_r_fix , + ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, + ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , + ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , int cm_size, int dc_size, @@ -53,15 +61,19 @@ void xf_stereopipeline( int cols ) { - #pragma HLS INTERFACE m_axi port=img_l offset=slave bundle=gmem_0 -// #pragma HLS INTERFACE m_axi port=img_r offset=slave bundle=gmem_0 + #pragma HLS INTERFACE m_axi port=img_l offset=slave bundle=gmem_0_l + #pragma HLS INTERFACE m_axi port=img_r offset=slave bundle=gmem_0_r // #pragma HLS INTERFACE m_axi port=img_s offset=slave bundle=gmem - #pragma HLS INTERFACE m_axi port=img_map_x_l offset=slave bundle=gmem_1 - #pragma HLS INTERFACE m_axi port=img_map_y_l offset=slave bundle=gmem_1 +// #pragma HLS INTERFACE m_axi port=img_map_x_l offset=slave bundle=gmem_1 +// #pragma HLS INTERFACE m_axi port=img_map_y_l offset=slave bundle=gmem_1 + +// #pragma HLS INTERFACE m_axi port=img_map_x_r offset=slave bundle=gmem_1 +// #pragma HLS INTERFACE m_axi port=img_map_y_r offset=slave bundle=gmem_1 - #pragma HLS INTERFACE m_axi port=img_remapped_l offset=slave bundle=gmem_0 + #pragma HLS INTERFACE m_axi port=img_remapped_l offset=slave bundle=gmem_0_l + #pragma HLS INTERFACE m_axi port=img_remapped_r offset=slave bundle=gmem_0_r // #pragma HLS INTERFACE m_axi port=mapxLMat offset=slave bundle=gmem // #pragma HLS INTERFACE m_axi port=mapyLMat offset=slave bundle=gmem @@ -73,25 +85,29 @@ void xf_stereopipeline( // #pragma HLS INTERFACE m_axi port=rightRemappedMat offset=slave bundle=gmem - #pragma HLS INTERFACE m_axi port=cameraMA_l_fix offset=slave bundle=gmem -// #pragma HLS INTERFACE m_axi port=cameraMA_r_fix offset=slave bundle=gmem + #pragma HLS INTERFACE m_axi port=cameraMA_l_fix offset=slave bundle=gmem_l + #pragma HLS INTERFACE m_axi port=cameraMA_r_fix offset=slave bundle=gmem_r - #pragma HLS INTERFACE m_axi port=distC_l_fix offset=slave bundle=gmem -// #pragma HLS INTERFACE m_axi port=distC_r_fix offset=slave bundle=gmem + #pragma HLS INTERFACE m_axi port=distC_l_fix offset=slave bundle=gmem_l + #pragma HLS INTERFACE m_axi port=distC_r_fix offset=slave bundle=gmem_r - #pragma HLS INTERFACE m_axi port=irA_l_fix offset=slave bundle=gmem -// #pragma HLS INTERFACE m_axi port=irA_r_fix offset=slave bundle=gmem + #pragma HLS INTERFACE m_axi port=irA_l_fix offset=slave bundle=gmem_l + #pragma HLS INTERFACE m_axi port=irA_r_fix offset=slave bundle=gmem_r #pragma HLS INTERFACE s_axilite port=img_l bundle=control -// #pragma HLS INTERFACE s_axilite port=img_r bundle=control + #pragma HLS INTERFACE s_axilite port=img_r bundle=control // #pragma HLS INTERFACE s_axilite port=img_s bundle=control - #pragma HLS INTERFACE s_axilite port=img_map_x_l bundle=control - #pragma HLS INTERFACE s_axilite port=img_map_y_l bundle=control +// #pragma HLS INTERFACE s_axilite port=img_map_x_l bundle=control +// #pragma HLS INTERFACE s_axilite port=img_map_y_l bundle=control + +// #pragma HLS INTERFACE s_axilite port=img_map_x_r bundle=control +// #pragma HLS INTERFACE s_axilite port=img_map_y_r bundle=control #pragma HLS INTERFACE s_axilite port=img_remapped_l bundle=control + #pragma HLS INTERFACE s_axilite port=img_remapped_r bundle=control // #pragma HLS INTERFACE s_axilite port=mapxLMat bundle=control // #pragma HLS INTERFACE s_axilite port=mapyLMat bundle=control @@ -104,13 +120,13 @@ void xf_stereopipeline( #pragma HLS INTERFACE s_axilite port=cameraMA_l_fix bundle=control -// #pragma HLS INTERFACE s_axilite port=cameraMA_r_fix bundle=control + #pragma HLS INTERFACE s_axilite port=cameraMA_r_fix bundle=control #pragma HLS INTERFACE s_axilite port=distC_l_fix bundle=control -// #pragma HLS INTERFACE s_axilite port=distC_r_fix bundle=control + #pragma HLS INTERFACE s_axilite port=distC_r_fix bundle=control #pragma HLS INTERFACE s_axilite port=irA_l_fix bundle=control -// #pragma HLS INTERFACE s_axilite port=irA_r_fix bundle=control + #pragma HLS INTERFACE s_axilite port=irA_r_fix bundle=control #pragma HLS INTERFACE s_axilite port=cm_size bundle=control @@ -122,6 +138,7 @@ void xf_stereopipeline( #pragma HLS INTERFACE s_axilite port=return bundle=control + #pragma HLS INLINE OFF #pragma HLS dataflow @@ -132,10 +149,10 @@ void xf_stereopipeline( xf::Mat leftMat; -// xf::Mat rightMat; + xf::Mat rightMat; #pragma HLS stream variable=leftMat.data depth=pCOLS/pNPC -// #pragma HLS stream variable=rightMat.data depth=pCOLS/pNPC + #pragma HLS stream variable=rightMat.data depth=pCOLS/pNPC @@ -149,17 +166,17 @@ void xf_stereopipeline( #pragma HLS stream variable=map_x_l.data depth=pCOLS/pNPC #pragma HLS stream variable=map_y_l.data depth=pCOLS/pNPC -// xf::Mat map_x_r; -// xf::Mat map_y_r; + xf::Mat map_x_r; + xf::Mat map_y_r; -// #pragma HLS stream variable=map_x_r.data depth=pCOLS/pNPC -// #pragma HLS stream variable=map_y_r.data depth=pCOLS/pNPC + #pragma HLS stream variable=map_x_r.data depth=pCOLS/pNPC + #pragma HLS stream variable=map_y_r.data depth=pCOLS/pNPC xf::Mat remapped_l; -// xf::Mat remapped_r; + xf::Mat remapped_r; #pragma HLS stream variable=remapped_l.data depth=pCOLS/pNPC -// #pragma HLS stream variable=remapped_r.data depth=pCOLS/pNPC + #pragma HLS stream variable=remapped_r.data depth=pCOLS/pNPC //=================================================// @@ -196,7 +213,23 @@ void xf_stereopipeline( #pragma HLS PIPELINE #pragma HLS loop_flatten off - *(leftMat.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + *(leftMat .data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); +// *(rightMat.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_r + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + } + } + + for(int i=0; i < rows; i++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS + + for(int j=0; j < (cols >> (XF_BITSHIFT(XF_NPPC1))); j++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS/pNPC + #pragma HLS PIPELINE + #pragma HLS loop_flatten off + +// *(leftMat .data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + *(rightMat.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_r + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); } } @@ -207,9 +240,9 @@ void xf_stereopipeline( -// xf::InitUndistortRectifyMapInverse < XF_CAMERA_MATRIX_SIZE, XF_DIST_COEFF_SIZE, XF_32FC1, XF_HEIGHT, XF_WIDTH, XF_NPPC1 > (cameraMA_r_fix, distC_r_fix, irA_r_fix, map_x_r, map_y_r, cm_size, dc_size); + xf::InitUndistortRectifyMapInverse < XF_CAMERA_MATRIX_SIZE, XF_DIST_COEFF_SIZE, XF_32FC1, XF_HEIGHT, XF_WIDTH, XF_NPPC1 > (cameraMA_r_fix, distC_r_fix, irA_r_fix, map_x_r, map_y_r, cm_size, dc_size); -// xf::remap ( rightMat, remapped_r, map_x_r, map_y_r); + xf::remap ( rightMat, remapped_r, map_x_r, map_y_r); @@ -233,11 +266,30 @@ void xf_stereopipeline( //*(img_map_y_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(map_y_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); *(img_remapped_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(remapped_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); +// *(img_remapped_r + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(remapped_r.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); } } + for(int i=0; i < rows; i++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS + + for(int j=0; j < (cols >> (XF_BITSHIFT(XF_NPPC1))); j++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS/pNPC + #pragma HLS PIPELINE + #pragma HLS loop_flatten off + + //*(img_map_x_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(map_x_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + //*(img_map_y_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(map_y_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + +// *(img_remapped_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(remapped_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + *(img_remapped_r + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(remapped_r.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + + } + } From 0def3f12a8a0a034992880b3036ccab7dd55c900 Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Wed, 9 May 2018 15:06:58 +0900 Subject: [PATCH 39/73] xf_pyr_dense_optical_flow() URAM optimization:scale_up() function is roughly done (no Co-sim and further checks). --- .../xf_pyr_dense_optical_flow_accel.cpp | 2 +- include/imgproc/xf_pyr_dense_optical_flow.hpp | 5 +- .../xf_pyr_dense_optical_flow_scale.hpp | 141 +++++++++++------- .../xf_pyr_dense_optical_flow_wrapper.hpp | 4 +- 4 files changed, 95 insertions(+), 57 deletions(-) diff --git a/examples/lkdensepyrof/xf_pyr_dense_optical_flow_accel.cpp b/examples/lkdensepyrof/xf_pyr_dense_optical_flow_accel.cpp index 4e482fb..79653c8 100644 --- a/examples/lkdensepyrof/xf_pyr_dense_optical_flow_accel.cpp +++ b/examples/lkdensepyrof/xf_pyr_dense_optical_flow_accel.cpp @@ -46,6 +46,6 @@ void pyr_dense_optical_flow_pyr_down_accel(xf::Mat & _current_img, xf::Mat & _next_image, xf::Mat & _streamFlowin, xf::Mat & _streamFlowout, const int level, const unsigned char scale_up_flag, float scale_in, ap_uint<1> init_flag) { - xf::densePyrOpticalFlow(_current_img, _next_image, _streamFlowin, _streamFlowout, level, scale_up_flag, scale_in, init_flag); + xf::densePyrOpticalFlow(_current_img, _next_image, _streamFlowin, _streamFlowout, level, scale_up_flag, scale_in, init_flag); } diff --git a/include/imgproc/xf_pyr_dense_optical_flow.hpp b/include/imgproc/xf_pyr_dense_optical_flow.hpp index d7ce4ff..7727606 100644 --- a/include/imgproc/xf_pyr_dense_optical_flow.hpp +++ b/include/imgproc/xf_pyr_dense_optical_flow.hpp @@ -232,7 +232,7 @@ void find_flow(hls::stream< ap_fixed > &strmSigmaIx2, hls } // end find_flow() -template +template void xFLKOpticalFlowDenseKernel(unsigned char *currImg, unsigned char *nextImg, unsigned int *strmFlowin, unsigned int *strmFlow, const unsigned int rows, const unsigned int cols, const unsigned int prev_rows, const unsigned int prev_cols, const int level, const bool scale_up_flag, float scale_in, ap_uint<1> init_flag) { const int WINDOW_SIZE = WINDOW_SIZE_FL; @@ -290,8 +290,7 @@ const int ITCMP_INT = FLOW_INT+12; split_stream_int_fixed(strmFlowin, strmFlowU_split, strmFlowV_split, prev_rows, prev_cols, level); //scaling up U and V streams whenever scaleup is enabled - scale_up( strmFlowU_split, strmFlowU_scaled, prev_rows, prev_cols, rows, cols, 2, scale_up_flag, scale_in); - scale_up( strmFlowV_split, strmFlowV_scaled, prev_rows, prev_cols, rows, cols, 2, scale_up_flag, scale_in); + scale_up( strmFlowU_split, strmFlowU_scaled, strmFlowV_split, strmFlowV_scaled, prev_rows, prev_cols, rows, cols, 2, scale_up_flag, scale_in); //Finding the Temporal and space gradients for the input set of images findGradients(currImg, nextImg, strmIt_float, strmIx, strmIy, rows, cols, strmFlowU_scaled, strmFlowV_scaled, strmFlowU_in1, strmFlowV_in1, level); diff --git a/include/imgproc/xf_pyr_dense_optical_flow_scale.hpp b/include/imgproc/xf_pyr_dense_optical_flow_scale.hpp index 42ec06e..775af57 100644 --- a/include/imgproc/xf_pyr_dense_optical_flow_scale.hpp +++ b/include/imgproc/xf_pyr_dense_optical_flow_scale.hpp @@ -31,7 +31,9 @@ #define __XF_PYR_DENSE_OPTICAL_FLOW_SCALE__ template -void load_data (hls::stream< ap_fixed > &inStrm, ap_fixed buf[MAXWIDTH], int rows, int cols, bool &flagLoaded, int i, ap_ufixed scaleI, ap_fixed &fracI, int &prevIceil) { +void load_data (hls::stream< ap_fixed > &inStrm0, + hls::stream< ap_fixed > &inStrm1, + ap_fixed buf[2][MAXWIDTH], int rows, int cols, bool &flagLoaded, int i, ap_ufixed scaleI, ap_fixed &fracI, int &prevIceil) { #pragma HLS inline off ap_fixed iSmall = i * scaleI; int iSmallFloor = (int) iSmall; @@ -42,7 +44,8 @@ void load_data (hls::stream< ap_fixed > &inStrm, ap_fixed compute_result(ap_fixed fra } // end compute_result() template -void process(ap_fixed buf[MAXWIDTH], ap_fixed buffer[2][MAXWIDTH], unsigned short int outRows, unsigned short int outCols, hls::stream< ap_fixed >& outStrm, bool flagLoaded, int row, ap_ufixed scaleI, ap_ufixed scaleJ, ap_fixed fracI, int mul) { -#pragma HLS array_partition variable=buffer dim=1 complete +void process(ap_fixed buf[2][MAXWIDTH], ap_fixed buffer[2][2][MAXWIDTH], unsigned short int outRows, unsigned short int outCols, + hls::stream< ap_fixed >& outStrm0, + hls::stream< ap_fixed >& outStrm1, + bool flagLoaded, int row, ap_ufixed scaleI, ap_ufixed scaleJ, ap_fixed fracI, int mul) { #pragma HLS inline off int bufCount = 0; ap_fixed regLoad; int prevJceil = -1; - ap_fixed i0=0, i1=0, i2=0, i3=0; + ap_fixed i0[2]={0,0}; + ap_fixed i1[2]={0,0}; + ap_fixed i2[2]={0,0}; + ap_fixed i3[2]={0,0}; L3:for (ap_uint<16> j=0; j buf[MAXWIDTH], ap_fixed reg = buf[bufCount]; - buffer[1][bufCount] = reg; - i3 = reg; + for (int k=0; k<2; k++) { + ap_fixed reg = buf[k][bufCount]; + buffer[k][1][bufCount] = reg; + i3[k] = reg; + } fracI = 1; fracJ = 1; bufCount++; prevJceil = 0; } else if (j reg = buf[bufCount]; - buffer[1][bufCount] = reg; - i3 = reg; + for (int k=0; k<2; k++) { + i2[k] = i3[k]; + ap_fixed reg = buf[k][bufCount]; + buffer[k][1][bufCount] = reg; + i3[k] = reg; + } bufCount++; prevJceil = jSmallFloor + 1; } } else { - i3 = buffer[1][bufCount-1]; + i3[0] = buffer[0][1][bufCount-1]; + i3[1] = buffer[1][1][bufCount-1]; fracI = 1; fracJ = 1; } } else if (row < outRows-1) { if (j==0) { - i0 = 0; i2 = 0; + i0[0] = 0; i2[0] = 0; + i0[1] = 0; i2[1] = 0; fracJ = 1; if (flagLoaded) { - ap_fixed reg = buf[bufCount]; - ap_fixed tmp = buffer[1][bufCount]; - buffer[0][bufCount] = tmp; - i1 = tmp; - buffer[1][bufCount] = reg; - i3 = reg; + for (int k=0; k<2; k++) { + ap_fixed reg = buf[k][bufCount]; + ap_fixed tmp = buffer[k][1][bufCount]; + buffer[k][0][bufCount] = tmp; + i1[k] = tmp; + buffer[k][1][bufCount] = reg; + i3[k] = reg; + } bufCount++; } else { - i1 = buffer[0][bufCount]; - i3 = buffer[1][bufCount]; + for (int k=0; k<2; k++) { + i1[k] = buffer[k][0][bufCount]; + i3[k] = buffer[k][1][bufCount]; + } bufCount++; } prevJceil = 0; } else if (j < outCols) { if (prevJceil == jSmallFloor) { - i0 = i1; i2 = i3; + i0[0] = i1[0]; i2[0] = i3[0]; + i0[1] = i1[1]; i2[1] = i3[1]; if (flagLoaded) { - ap_fixed reg = buf[bufCount]; - ap_fixed tmp = buffer[1][bufCount]; - buffer[0][bufCount] = tmp; - i1 = tmp; - buffer[1][bufCount] = reg; - i3 = reg; + for (int k=0; k<2; k++) { + ap_fixed reg = buf[k][bufCount]; + ap_fixed tmp = buffer[k][1][bufCount]; + buffer[k][0][bufCount] = tmp; + i1[k] = tmp; + buffer[k][1][bufCount] = reg; + i3[k] = reg; + } bufCount++; } else { - i1 = buffer[0][bufCount]; - i3 = buffer[1][bufCount]; + for (int k=0; k<2; k++) { + i1[k] = buffer[k][0][bufCount]; + i3[k] = buffer[k][1][bufCount]; + } bufCount++; } prevJceil = jSmallFloor + 1; @@ -160,40 +183,55 @@ void process(ap_fixed buf[MAXWIDTH], ap_fixed reg = buffer[1][bufCount]; - i3 = reg; + for (int k=0; k<2; k++) { + i2[k] = i3[k]; + ap_fixed reg = buffer[k][1][bufCount]; + i3[k] = reg; + } bufCount++; prevJceil = jSmallFloor + 1; } fracI = 1; } else { - i3 = buffer[1][bufCount-1]; + i3[0] = buffer[0][1][bufCount-1]; + i3[1] = buffer[1][1][bufCount-1]; fracI = 1; fracJ = 1; } } // end else - ap_fixed resIf = compute_result (fracI, fracJ, i0, i1, i2, i3); - outStrm.write(resIf<<1); + ap_fixed resIf0 = compute_result (fracI, fracJ, i0[0], i1[0], i2[0], i3[0]); + outStrm0.write(resIf0<<1); + ap_fixed resIf1 = compute_result (fracI, fracJ, i0[1], i1[1], i2[1], i3[1]); + outStrm1.write(resIf1<<1); } // end L3 } // end process() -template -void scale_up( hls::stream< ap_fixed > &inStrm, hls::stream< ap_fixed > &outStrm, +template +void scale_up( hls::stream< ap_fixed > &inStrm0, hls::stream< ap_fixed > &outStrm0, + hls::stream< ap_fixed > &inStrm1, hls::stream< ap_fixed > &outStrm1, unsigned short int inRows, unsigned short int inCols, unsigned short int outRows, unsigned short int outCols, int mul, const bool scale_up_flag, float scale_comp) { #pragma HLS inline off - ap_fixed buffer[2][MAXWIDTH]; -#pragma HLS array_partition variable=buffer dim=1 complete - ap_fixed buf0[MAXWIDTH], buf1[MAXWIDTH]; + ap_fixed buffer[2][2][MAXWIDTH]; +#pragma HLS array_reshape variable=buffer dim=1 complete +#pragma HLS array_reshape variable=buffer dim=2 complete + ap_fixed buf0[2][MAXWIDTH], buf1[2][MAXWIDTH]; +#pragma HLS array_reshape variable=buf0 dim=1 complete +#pragma HLS array_reshape variable=buf1 dim=1 complete +if (USE_URAM) { +#pragma HLS RESOURCE variable=buffer core=XPM_MEMORY uram +#pragma HLS RESOURCE variable=buf0 core=XPM_MEMORY uram +#pragma HLS RESOURCE variable=buf1 core=XPM_MEMORY uram +} ap_ufixed scaleI = (ap_ufixed)scale_comp; ap_ufixed scaleJ = (ap_ufixed)scale_comp; @@ -213,32 +251,33 @@ void scale_up( hls::stream< ap_fixed > &inStrm, hls::stream #pragma HLS LOOP_TRIPCOUNT min=1 max=MAXWIDTH #pragma HLS pipeline II=1 #pragma HLS LOOP_FLATTEN OFF - outStrm.write((ap_fixed)inStrm.read()); + outStrm0.write((ap_fixed)inStrm0.read()); + outStrm1.write((ap_fixed)inStrm1.read()); } } } else{ int prevIceil = -1; - load_data(inStrm, buf0, inRows, inCols, flagLoaded0, 0, scaleI, fracI0, prevIceil); + load_data(inStrm0, inStrm1, buf0, inRows, inCols, flagLoaded0, 0, scaleI, fracI0, prevIceil); L2:for (ap_uint<16> i=0; i(inStrm, buf1, inRows, inCols, flagLoaded1, i+1, scaleI, fracI1, prevIceil); - process(buf0, buffer, outRows, outCols, outStrm, flagLoaded0, i, scaleI, scaleJ, fracI0, mul); + load_data(inStrm0, inStrm1, buf1, inRows, inCols, flagLoaded1, i+1, scaleI, fracI1, prevIceil); + process(buf0, buffer, outRows, outCols, outStrm0, outStrm1, flagLoaded0, i, scaleI, scaleJ, fracI0, mul); flag = 1; } else { - load_data(inStrm, buf0, inRows, inCols, flagLoaded0, i+1, scaleI, fracI0, prevIceil); - process(buf1, buffer, outRows, outCols, outStrm, flagLoaded1, i, scaleI, scaleJ, fracI1, mul); + load_data(inStrm0, inStrm1, buf0, inRows, inCols, flagLoaded0, i+1, scaleI, fracI0, prevIceil); + process(buf1, buffer, outRows, outCols, outStrm0, outStrm1, flagLoaded1, i, scaleI, scaleJ, fracI1, mul); flag = 0; } } // end L2 if (flag ==0) { - process(buf0, buffer, outRows, outCols, outStrm, flagLoaded0, outRows-1, scaleI, scaleJ, fracI0, mul); + process(buf0, buffer, outRows, outCols, outStrm0, outStrm1, flagLoaded0, outRows-1, scaleI, scaleJ, fracI0, mul); } else { - process(buf1, buffer, outRows, outCols, outStrm, flagLoaded1, outRows-1, scaleI, scaleJ, fracI1, mul); + process(buf1, buffer, outRows, outCols, outStrm0, outStrm1, flagLoaded1, outRows-1, scaleI, scaleJ, fracI1, mul); } } diff --git a/include/imgproc/xf_pyr_dense_optical_flow_wrapper.hpp b/include/imgproc/xf_pyr_dense_optical_flow_wrapper.hpp index af41219..655aee1 100644 --- a/include/imgproc/xf_pyr_dense_optical_flow_wrapper.hpp +++ b/include/imgproc/xf_pyr_dense_optical_flow_wrapper.hpp @@ -51,11 +51,11 @@ namespace xf{ #pragma SDS data data_mover("_next_image.data":AXIDMA_SIMPLE) #pragma SDS data data_mover("_streamFlowin.data":AXIDMA_SIMPLE) #pragma SDS data data_mover("_streamFlowout.data":AXIDMA_SIMPLE) -template +template void densePyrOpticalFlow(xf::Mat & _current_img, xf::Mat & _next_image, xf::Mat & _streamFlowin, xf::Mat & _streamFlowout, const int level, const unsigned char scale_up_flag, float scale_in, ap_uint<1> init_flag) { #pragma HLS INLINE OFF - xFLKOpticalFlowDenseKernel((unsigned char *)_current_img.data, (unsigned char *)_next_image.data, (unsigned int *)_streamFlowin.data, (unsigned int *)_streamFlowout.data, _current_img.rows, _current_img.cols, _streamFlowin.rows, _streamFlowin.cols, level, scale_up_flag, scale_in, init_flag); + xFLKOpticalFlowDenseKernel((unsigned char *)_current_img.data, (unsigned char *)_next_image.data, (unsigned int *)_streamFlowin.data, (unsigned int *)_streamFlowout.data, _current_img.rows, _current_img.cols, _streamFlowin.rows, _streamFlowin.cols, level, scale_up_flag, scale_in, init_flag); } } #endif From 676c92fa963d117b99430ff2ab94a0c3c61ab036 Mon Sep 17 00:00:00 2001 From: Serge Date: Mon, 7 May 2018 01:20:49 +0300 Subject: [PATCH 40/73] xf_remap() fix: added just for intiialization "staic" is removed according to fix by Serge on 07.05.2018. --- include/imgproc/xf_remap.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/imgproc/xf_remap.hpp b/include/imgproc/xf_remap.hpp index f703ee5..c9f9f29 100644 --- a/include/imgproc/xf_remap.hpp +++ b/include/imgproc/xf_remap.hpp @@ -137,7 +137,8 @@ void xFRemapLI( ) { // Add one to always get zero for boundary interpolation. Maybe need initialization here? - static DST_T buf[WIN_ROW/2+1][2][COLS/2+1][2]; //AK,ZoTech: static added for initialization, otherwise X are generated in co-sim. + //AK,ZoTech: static may be added for initialization, otherwise X are generated in co-sim. + DST_T buf[WIN_ROW/2+1][2][COLS/2+1][2]; #pragma HLS array_partition complete variable=buf dim=2 #pragma HLS array_partition complete variable=buf dim=4 SRC_T s; From c42e888394723921069d7ba9f1e06df3e3cccab1 Mon Sep 17 00:00:00 2001 From: Serge Date: Thu, 10 May 2018 09:32:17 +0300 Subject: [PATCH 41/73] Rearrange kernel parameters - first all input buffers, next output. SW/HW emulation passed. --- aws_demo/ide/vs/Gaussian_Filter.vcxproj | 4 +- aws_demo/ide/vs/Stereo_Pipeline.vcxproj | 4 +- aws_demo/stereopipeline/makefile | 24 +-- .../xf_stereo_pipeline_accel_aws.cpp | 99 +++++---- .../xf_stereo_pipeline_config.h | 36 +++- .../xf_stereo_pipeline_kernel_aws.cpp | 156 ++++++--------- .../stereopipeline/xf_stereo_pipeline_tb.cpp | 188 ++++++++---------- 7 files changed, 253 insertions(+), 258 deletions(-) diff --git a/aws_demo/ide/vs/Gaussian_Filter.vcxproj b/aws_demo/ide/vs/Gaussian_Filter.vcxproj index be61aa0..8a8e3e4 100644 --- a/aws_demo/ide/vs/Gaussian_Filter.vcxproj +++ b/aws_demo/ide/vs/Gaussian_Filter.vcxproj @@ -55,7 +55,7 @@ Level3 Disabled - ..\..\..\include;..\..\..\examples\gaussianfilter;..\..\..\..\aws-fpga\SDAccel\examples\xilinx\libs\xcl2;..\..\..\..\OpenCV;..\..\..\..\OpenCL;%(AdditionalIncludeDirectories) + ..\..\..\include;..\..\..\examples\gaussianfilter;..\..\..\..\aws-fpga\SDAccel\examples\xilinx\libs\xcl2;..\..\..\..\OpenCV;..\..\..\..\OpenCL;..\..\..\..\SDx\include;%(AdditionalIncludeDirectories) true @@ -67,7 +67,7 @@ MaxSpeed true true - ..\..\..\include;..\..\..\examples\gaussianfilter;..\..\..\..\aws-fpga\SDAccel\examples\xilinx\libs\xcl2;..\..\..\..\OpenCV;..\..\..\..\OpenCL;%(AdditionalIncludeDirectories) + ..\..\..\include;..\..\..\examples\gaussianfilter;..\..\..\..\aws-fpga\SDAccel\examples\xilinx\libs\xcl2;..\..\..\..\OpenCV;..\..\..\..\OpenCL;..\..\..\..\SDx\include;%(AdditionalIncludeDirectories) true diff --git a/aws_demo/ide/vs/Stereo_Pipeline.vcxproj b/aws_demo/ide/vs/Stereo_Pipeline.vcxproj index aa93eca..1cc6c15 100644 --- a/aws_demo/ide/vs/Stereo_Pipeline.vcxproj +++ b/aws_demo/ide/vs/Stereo_Pipeline.vcxproj @@ -43,7 +43,7 @@ Level3 Disabled - ..\..\..\include;..\..\..\..\aws-fpga\SDAccel\examples\xilinx\libs\xcl2;%(AdditionalIncludeDirectories) + ..\..\..\include;..\..\..\examples\gaussianfilter;..\..\..\..\aws-fpga\SDAccel\examples\xilinx\libs\xcl2;..\..\..\..\OpenCV;..\..\..\..\OpenCL;..\..\..\..\SDx\include;%(AdditionalIncludeDirectories) true @@ -55,7 +55,7 @@ MaxSpeed true true - ..\..\..\include;..\..\..\..\aws-fpga\SDAccel\examples\xilinx\libs\xcl2;%(AdditionalIncludeDirectories) + ..\..\..\include;..\..\..\examples\gaussianfilter;..\..\..\..\aws-fpga\SDAccel\examples\xilinx\libs\xcl2;..\..\..\..\OpenCV;..\..\..\..\OpenCL;..\..\..\..\SDx\include;%(AdditionalIncludeDirectories) true diff --git a/aws_demo/stereopipeline/makefile b/aws_demo/stereopipeline/makefile index 5974ed5..2028e9e 100644 --- a/aws_demo/stereopipeline/makefile +++ b/aws_demo/stereopipeline/makefile @@ -25,7 +25,7 @@ XF_EXAMPLE_DIR = $(XFOPENCV)/examples/gaussianfilter XCL2_LIB_DIR = $(SDACCEL_DIR)/examples/xilinx/libs/xcl2 XCL_LIB_DIR = $(SDACCEL_DIR)/examples/xilinx/libs/xcl -CXXFLAGS += -DSDX_PLATFORM=$(SDX_PLATFORM) -D__USE_XOPEN2K8 +CXXFLAGS += -DSDX_PLATFORM=$(SDX_PLATFORM) -D__USE_XOPEN2K8 -DHLS_NO_XIL_FPO_LIB CXXFLAGS += -I/opt/Xilinx/SDx/2017.1.op/runtime/include/1_2/ CXXFLAGS += -I/opt/Xilinx/SDx/2017.1.op/include/ CXXFLAGS += -I$(XFOPENCV)/include/ @@ -63,8 +63,8 @@ LDFLAGS += -Wl,-rpath,/opt/Xilinx/2017.1.rte.4ddr/runtime/lib/x86_64 HOST_DEP = ../src/xcl2.hpp -HOST_AWS_SRC += xf_gaussian_filter_accel_aws -HOST_AWS_SRC += xf_gaussian_filter_tb +HOST_AWS_SRC += xf_stereo_pipeline_accel_aws +HOST_AWS_SRC += xf_stereo_pipeline_tb HOST_SDx_SRC += xcl2 @@ -79,7 +79,7 @@ HOST_XF_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_XF_SRC)) ) HOST_OBJ = $(HOST_XF_OBJ) $(HOST_AWS_OBJ) $(HOST_SDx_OBJ) -HOST_EXE ?= gaussian_filter_test +HOST_EXE ?= run/stereo_pipeline_test BUILD_SUBDIRS += $(HOST_BLD_DIR) @@ -97,11 +97,11 @@ XOCC_OPTS = -t hw --platform $(SDX_PLATFORM) --save-temps --report system # OpenCL kernel files # -BINARY_CONTAINERS += xf_gaussian_filter.xclbin +BINARY_CONTAINERS += xf_stereo_pipeline.xclbin BUILD_SUBDIRS += build/kernel -BINARY_CONTAINER_1_OBJS += build/kernel/xf_gaussian_filter.xo -ALL_KERNEL_OBJS += build/kernel/xf_gaussian_filter.xo +BINARY_CONTAINER_1_OBJS += build/kernel/xf_stereo_pipeline.xo +ALL_KERNEL_OBJS += build/kernel/xf_stereo_pipeline.xo ALL_MESSAGE_FILES = $(subst .xo,.mdb,$(ALL_KERNEL_OBJS)) $(subst .xclbin,.mdb,$(BINARY_CONTAINERS)) @@ -137,14 +137,14 @@ nothing: # binary container: binary_container_1.xclbin # -build/kernel/xf_gaussian_filter.xo: xf_gaussian_filter_kernel_aws.cpp +build/kernel/xf_stereo_pipeline.xo: xf_stereo_pipeline_kernel_aws.cpp @mkdir -p $(@D) #-I"$(XF_EXAMPLE_DIR)" - $(XOCC) $(XOCC_OPTS) -c -k xf_gaussian_filter --max_memory_ports xf_gaussian_filter --messageDb $(subst .xo,.mdb,$@) -I"$( xf_gaussian_filter.xclbin.sh - $(XOCC) $(XOCC_OPTS) -l --jobs 20 --nk xf_gaussian_filter:1 --messageDb $(subst .xclbin,.mdb,$@) --xp misc:solution_name=build/kernel/xocc_link_kernel --remote_ip_cache /root/workspace/ip_cache -o"$@" $(+) +xf_stereo_pipeline.xclbin: $(BINARY_CONTAINER_1_OBJS) + -@echo $(XOCC) $(XOCC_OPTS) -l --nk xf_stereo_pipeline:1 --messageDb $(subst .xclbin,.mdb,$@) --xp misc:solution_name=build/kernel/xocc_link_kernel --remote_ip_cache /root/workspace/ip_cache -o"$@" $(+) > xf_stereo_pipeline.xclbin.sh + $(XOCC) $(XOCC_OPTS) -l --jobs 20 --nk xf_stereo_pipeline:1 --messageDb $(subst .xclbin,.mdb,$@) --xp misc:solution_name=build/kernel/xocc_link_kernel --remote_ip_cache /root/workspace/ip_cache -o"$@" $(+) # # host rules diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp b/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp index b4fe941..6f77ebf 100644 --- a/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp @@ -6,24 +6,29 @@ #include "xf_stereo_pipeline_config.h" -void stereopipeline_accel +#define CL_MIGRATE_MEM_OBJECT_KERNEL 0 //OpenCL define constant to indicate memory object migration to host only, to make program more readable define "counterpart" constant + +void stereo_pipeline_accel ( - xf::Mat &leftMat, xf::Mat &rightMat, + xf::Mat &xf_img_l , xf::Mat &xf_img_r, + + xf::Mat &xf_img_s , + + xf::Mat &xf_map_x_l , + xf::Mat &xf_map_y_l , + xf::Mat &xf_map_x_r, + xf::Mat &xf_map_y_r, - xf::Mat &dispMat, - - xf::Mat &mapxLMat, xf::Mat &mapyLMat, - xf::Mat &mapxRMat, xf::Mat &mapyRMat, + xf::Mat &xf_remaped_l , xf::Mat &xf_remaped_r, - xf::Mat &leftRemappedMat, xf::Mat &rightRemappedMat, - xf::xFSBMState &bm_state, - ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, - ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , - ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , - - int _cm_size, int _dc_size + ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, + ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , + ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , + + int cm_size, + int dc_size ) { std::vector devices = xcl::get_xil_devices(); @@ -35,40 +40,56 @@ void stereopipeline_accel cl::CommandQueue q(context, device, CL_QUEUE_PROFILING_ENABLE); std::string device_name = device.getInfo(); - std::string binaryFile = "xf_stereopipeline.awsxclbin"; + std::string binaryFile = "xf_stereo_pipeline.awsxclbin"; std::cout << "========" << binaryFile << " ==================" << std::endl; cl::Program::Binaries bins = xcl::import_binary_file(binaryFile); devices.resize(1); cl::Program program(context, devices, bins); - cl::Kernel kernel(program,"xf_stereopipeline"); + cl::Kernel kernel(program,"xf_stereo_pipeline"); //----------- Allocate Buffer in Global Memory -----------// -// cl::Buffer buffer_inp(context,CL_MEM_USE_HOST_PTR | CL_MEM_READ_ONLY , imgInput.rows * imgInput.cols, imgInput.data); -// cl::Buffer buffer_out(context,CL_MEM_USE_HOST_PTR | CL_MEM_WRITE_ONLY, imgOutput.rows * imgOutput.cols, imgOutput.data); -// -// std::vector writeBufVec; -// writeBufVec.push_back(buffer_inp); -// -// //----------- Migrate input data to device global memory -----------// -// -// q.enqueueMigrateMemObjects(writeBufVec,0); // 0 means from host -// -// auto krnl = cl::KernelFunctor(kernel); -// -// //----------- Launch the Kernel -----------// -// -// krnl(cl::EnqueueArgs(q, cl::NDRange(1,1,1), cl::NDRange(1,1,1)), buffer_inp, buffer_out, imgInput.rows, imgInput.cols, sigma, imgOutput.rows, imgOutput.cols); -// -// //----------- Copy Result from Device Global Memory to Host Local Memory -----------// -// -// std::vector readBufVec; -// readBufVec.push_back(buffer_out); -// -// q.enqueueMigrateMemObjects(readBufVec,CL_MIGRATE_MEM_OBJECT_HOST); -// -// q.finish(); + int rows = xf_img_l.rows; + int cols = xf_img_l.cols; + + int pixel_qnt = rows * cols; + + cl::Buffer buffer_l (context, cl_mem_flags(CL_MEM_USE_HOST_PTR | CL_MEM_READ_ONLY ), pixel_qnt * 1, (void*)xf_img_l.data ); cl::Buffer buffer_r (context, cl_mem_flags(CL_MEM_USE_HOST_PTR | CL_MEM_READ_ONLY), pixel_qnt * 1, (void*)xf_img_r.data); + + cl::Buffer buffer_cm_l(context, cl_mem_flags(CL_MEM_USE_HOST_PTR | CL_MEM_READ_ONLY ), cm_size * 4, (void*)cameraMA_l_fix); cl::Buffer buffer_cm_r(context, cl_mem_flags(CL_MEM_USE_HOST_PTR | CL_MEM_READ_ONLY), cm_size * 4, (void*)cameraMA_r_fix); + cl::Buffer buffer_dc_l(context, cl_mem_flags(CL_MEM_USE_HOST_PTR | CL_MEM_READ_ONLY ), dc_size * 4, (void*)distC_l_fix ); cl::Buffer buffer_dc_r(context, cl_mem_flags(CL_MEM_USE_HOST_PTR | CL_MEM_READ_ONLY), dc_size * 4, (void*)distC_r_fix ); + cl::Buffer buffer_ir_l(context, cl_mem_flags(CL_MEM_USE_HOST_PTR | CL_MEM_READ_ONLY ), cm_size * 4, (void*)irA_l_fix ); cl::Buffer buffer_ir_r(context, cl_mem_flags(CL_MEM_USE_HOST_PTR | CL_MEM_READ_ONLY), cm_size * 4, (void*)irA_r_fix ); + + cl::Buffer buffer_s (context, cl_mem_flags(CL_MEM_USE_HOST_PTR | CL_MEM_WRITE_ONLY), pixel_qnt * 2, xf_img_s.data); + + std::vector kernel_wr_buf; + + kernel_wr_buf.push_back(buffer_l ); kernel_wr_buf.push_back(buffer_r ); + kernel_wr_buf.push_back(buffer_cm_l); kernel_wr_buf.push_back(buffer_cm_r); + kernel_wr_buf.push_back(buffer_dc_l); kernel_wr_buf.push_back(buffer_dc_r); + kernel_wr_buf.push_back(buffer_ir_l); kernel_wr_buf.push_back(buffer_ir_r); + + //----------- Migrate input data to device global memory -----------// + + q.enqueueMigrateMemObjects(kernel_wr_buf, CL_MIGRATE_MEM_OBJECT_KERNEL); + + // The kernel parameters should be rearranged: input buffers, output buffers, variables + // + // img_l img_r cm_l cm_r dc_l dc_r ir_l ir_r img_s cm_size dc_size rows cols + auto krnl = cl::KernelFunctor(kernel); + + //----------- Launch the Kernel -----------// + + krnl(cl::EnqueueArgs(q, cl::NDRange(1,1,1), cl::NDRange(1,1,1)), buffer_l, buffer_r, buffer_cm_l, buffer_cm_r, buffer_dc_l, buffer_dc_r, buffer_ir_l, buffer_ir_r, buffer_s, cm_size, dc_size, rows, cols); + + //----------- Copy Result from Device Global Memory to Host Local Memory -----------// + + std::vector kernel_rd_buf; + kernel_rd_buf.push_back(buffer_s); + + q.enqueueMigrateMemObjects(kernel_rd_buf, CL_MIGRATE_MEM_OBJECT_HOST); + q.finish(); } diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_config.h b/aws_demo/stereopipeline/xf_stereo_pipeline_config.h index 97bff99..8dfa4ce 100644 --- a/aws_demo/stereopipeline/xf_stereo_pipeline_config.h +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_config.h @@ -36,10 +36,6 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "common/xf_common.h" #include "common/xf_utility.h" -#include "imgproc/xf_stereo_pipeline.hpp" -#include "imgproc/xf_remap.hpp" -#include "imgproc/xf_stereoBM.hpp" - #include "xf_config_params.h" @@ -53,13 +49,31 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define IN_TYPE ap_uint<8> #define OUT_TYPE ap_uint<16> -/* -void stereopipeline_accel(xf::Mat &leftMat, xf::Mat &rightMat, xf::Mat &dispMat, - xf::Mat &mapxLMat, xf::Mat &mapyLMat, xf::Mat &mapxRMat, - xf::Mat &mapyRMat, xf::Mat &leftRemappedMat, xf::Mat &rightRemappedMat, - xf::xFSBMState &bm_state, ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, ap_fixed<32,12> *distC_l_fix, ap_fixed<32,12> *distC_r_fix, - ap_fixed<32,12> *irA_l_fix, ap_fixed<32,12> *irA_r_fix, int _cm_size, int _dc_size); -*/ + +void stereo_pipeline_accel + ( + xf::Mat &xf_img_l , xf::Mat &xf_img_r, + + xf::Mat &xf_img_s , + + + xf::Mat &xf_map_x_l , + xf::Mat &xf_map_y_l , + xf::Mat &xf_map_x_r, + xf::Mat &xf_map_y_r, + + xf::Mat &xf_remaped_l , xf::Mat &xf_remaped_r, + + xf::xFSBMState &bm_state, + + ap_fixed<32,12> *cameraMA_l_fix , ap_fixed<32,12> *cameraMA_r_fix, + ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , + ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , + + int cm_size, + int dc_size + ); + #endif // _XF_STEREO_PIPELINE_CONFIG_H_ diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp b/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp index 2725f7b..0748e5e 100644 --- a/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp @@ -5,15 +5,20 @@ #include "xf_stereo_pipeline_config.h" +#include "imgproc/xf_stereo_pipeline.hpp" +#include "imgproc/xf_remap.hpp" +#include "imgproc/xf_stereoBM.hpp" + + extern "C" { - void xf_stereopipeline + void xf_stereo_pipeline ( XF_TNAME(XF_8UC1 , XF_NPPC1) *img_l , XF_TNAME(XF_8UC1 , XF_NPPC1) *img_r, -// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_s , +// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_s , // XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_l, // XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_l, @@ -21,26 +26,29 @@ extern "C" // XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_r, // XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_r, - XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_l, - XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_r, +// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_l, +// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_r, ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , - int cm_size, int dc_size, + XF_TNAME(XF_16UC1 , XF_NPPC1) *img_s , + + int cm_size, + int dc_size, int rows, int cols ); } -void xf_stereopipeline( +void xf_stereo_pipeline( XF_TNAME(XF_8UC1 , XF_NPPC1) *img_l, XF_TNAME(XF_8UC1 , XF_NPPC1) *img_r, -// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_s, +// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_s, // XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_l, // XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_l, @@ -48,13 +56,15 @@ void xf_stereopipeline( // XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_r, // XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_r, - XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_l, - XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_r, +// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_l, +// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_r, ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , + XF_TNAME(XF_16UC1 , XF_NPPC1) *img_s, + int cm_size, int dc_size, int rows, @@ -72,8 +82,8 @@ void xf_stereopipeline( // #pragma HLS INTERFACE m_axi port=img_map_x_r offset=slave bundle=gmem_1 // #pragma HLS INTERFACE m_axi port=img_map_y_r offset=slave bundle=gmem_1 - #pragma HLS INTERFACE m_axi port=img_remapped_l offset=slave bundle=gmem_0_l - #pragma HLS INTERFACE m_axi port=img_remapped_r offset=slave bundle=gmem_0_r +// #pragma HLS INTERFACE m_axi port=img_remapped_l offset=slave bundle=gmem_0_l +// #pragma HLS INTERFACE m_axi port=img_remapped_r offset=slave bundle=gmem_0_r // #pragma HLS INTERFACE m_axi port=mapxLMat offset=slave bundle=gmem // #pragma HLS INTERFACE m_axi port=mapyLMat offset=slave bundle=gmem @@ -94,6 +104,8 @@ void xf_stereopipeline( #pragma HLS INTERFACE m_axi port=irA_l_fix offset=slave bundle=gmem_l #pragma HLS INTERFACE m_axi port=irA_r_fix offset=slave bundle=gmem_r +#pragma HLS INTERFACE m_axi port=img_s offset=slave bundle=gmem + #pragma HLS INTERFACE s_axilite port=img_l bundle=control #pragma HLS INTERFACE s_axilite port=img_r bundle=control @@ -106,8 +118,8 @@ void xf_stereopipeline( // #pragma HLS INTERFACE s_axilite port=img_map_x_r bundle=control // #pragma HLS INTERFACE s_axilite port=img_map_y_r bundle=control - #pragma HLS INTERFACE s_axilite port=img_remapped_l bundle=control - #pragma HLS INTERFACE s_axilite port=img_remapped_r bundle=control +// #pragma HLS INTERFACE s_axilite port=img_remapped_l bundle=control +// #pragma HLS INTERFACE s_axilite port=img_remapped_r bundle=control // #pragma HLS INTERFACE s_axilite port=mapxLMat bundle=control // #pragma HLS INTERFACE s_axilite port=mapyLMat bundle=control @@ -128,6 +140,7 @@ void xf_stereopipeline( #pragma HLS INTERFACE s_axilite port=irA_l_fix bundle=control #pragma HLS INTERFACE s_axilite port=irA_r_fix bundle=control +#pragma HLS INTERFACE s_axilite port=img_s bundle=control #pragma HLS INTERFACE s_axilite port=cm_size bundle=control #pragma HLS INTERFACE s_axilite port=dc_size bundle=control @@ -142,10 +155,10 @@ void xf_stereopipeline( #pragma HLS dataflow - const int pROWS = XF_HEIGHT; - const int pCOLS = XF_WIDTH ; - - const int pNPC = XF_NPPC1; + const int pROWS = XF_HEIGHT; + const int pCOLS = XF_WIDTH ; + + const int pNPC = XF_NPPC1; xf::Mat leftMat; @@ -156,9 +169,9 @@ void xf_stereopipeline( -// xf::Mat dispMat; -// -// #pragma HLS stream variable=dispMat.data depth=pCOLS/pNPC + xf::Mat dispMat; + + #pragma HLS stream variable=dispMat.data depth=pCOLS/pNPC xf::Mat map_x_l; xf::Mat map_y_l; @@ -180,7 +193,7 @@ void xf_stereopipeline( //=================================================// -// xf::xFSBMState bm_state; + xf::xFSBMState bm_state; // ap_fixed<32,12> cameraMA_l_fix[XF_CAMERA_MATRIX_SIZE]; // ap_fixed<32,12> cameraMA_r_fix[XF_CAMERA_MATRIX_SIZE]; @@ -203,37 +216,22 @@ void xf_stereopipeline( //================================================// - for(int i=0; i < rows; i++) - { - #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS - - for(int j=0; j < (cols >> (XF_BITSHIFT(XF_NPPC1))); j++) - { - #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS/pNPC - #pragma HLS PIPELINE - #pragma HLS loop_flatten off - - *(leftMat .data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); -// *(rightMat.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_r + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); - } - } - - for(int i=0; i < rows; i++) - { - #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS - - for(int j=0; j < (cols >> (XF_BITSHIFT(XF_NPPC1))); j++) - { - #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS/pNPC - #pragma HLS PIPELINE - #pragma HLS loop_flatten off - -// *(leftMat .data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); - *(rightMat.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_r + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); - } - } + for(int i=0; i < rows; i++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS - + for(int j=0; j < (cols >> (XF_BITSHIFT(XF_NPPC1))); j++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS/pNPC + #pragma HLS PIPELINE + #pragma HLS loop_flatten off + + *(leftMat .data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + *(rightMat.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_r + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + } + } + + xf::InitUndistortRectifyMapInverse < XF_CAMERA_MATRIX_SIZE, XF_DIST_COEFF_SIZE, XF_32FC1, XF_HEIGHT, XF_WIDTH, XF_NPPC1 > (cameraMA_l_fix, distC_l_fix, irA_l_fix, map_x_l, map_y_l, cm_size, dc_size); xf::remap ( leftMat, remapped_l, map_x_l, map_y_l ); @@ -247,52 +245,30 @@ void xf_stereopipeline( -// xf::StereoBM ( remapped_l, remapped_r, dispMat, bm_state ); + xf::StereoBM ( remapped_l, remapped_r, dispMat, bm_state ); - for(int i=0; i < rows; i++) - { - #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS - - for(int j=0; j < (cols >> (XF_BITSHIFT(XF_NPPC1))); j++) - { - #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS/pNPC - #pragma HLS PIPELINE - #pragma HLS loop_flatten off - - //*(img_map_x_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(map_x_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); - //*(img_map_y_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(map_y_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); - - *(img_remapped_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(remapped_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); -// *(img_remapped_r + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(remapped_r.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); - - } - } + for(int i=0; i < rows; i++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS + for(int j=0; j < (cols >> (XF_BITSHIFT(XF_NPPC1))); j++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS/pNPC + #pragma HLS PIPELINE + #pragma HLS loop_flatten off - for(int i=0; i < rows; i++) - { - #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS - - for(int j=0; j < (cols >> (XF_BITSHIFT(XF_NPPC1))); j++) - { - #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS/pNPC - #pragma HLS PIPELINE - #pragma HLS loop_flatten off - - //*(img_map_x_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(map_x_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); - //*(img_map_y_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(map_y_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); - -// *(img_remapped_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(remapped_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); - *(img_remapped_r + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(remapped_r.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); - - } - } - + //*(img_map_x_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(map_x_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + //*(img_map_y_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(map_y_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + //*(img_remapped_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(remapped_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + //*(img_remapped_r + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(remapped_r.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + *(img_s + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(dispMat.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + } + } } @@ -302,7 +278,7 @@ void xf_stereopipeline( -// void xf_stereopipeline +// void xf_stereo_pipeline // ( // XF_TNAME(XF_8UC1 , XF_NPPC1) *leftMat , // xf::Mat &leftMat, // diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_tb.cpp b/aws_demo/stereopipeline/xf_stereo_pipeline_tb.cpp index c982adc..e5d023a 100644 --- a/aws_demo/stereopipeline/xf_stereo_pipeline_tb.cpp +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_tb.cpp @@ -35,107 +35,91 @@ using namespace std; int main(int argc, char** argv) { - cv::setUseOptimized(false); - - if(argc != 3) - { - fprintf(stderr,"Invalid Number of Arguments!\nUsage: \n"); - return -1; - } - - - cv::Mat left_img, right_img; - left_img = cv::imread(argv[1],0); - right_img = cv::imread(argv[2],0); - - ////////////////// HLS TOP Function Call //////////////////////// - xf::Mat leftMat(left_img.rows,left_img.cols); - xf::Mat rightMat(right_img.rows,right_img.cols); - - int rows = left_img.rows; - int cols = left_img.cols; - - xf::Mat mapxLMat(rows,cols); - xf::Mat mapyLMat(rows,cols); - xf::Mat mapxRMat(rows,cols); - xf::Mat mapyRMat(rows,cols); - - xf::Mat leftRemappedMat(rows,cols); - xf::Mat rightRemappedMat(rows,cols); - - xf::Mat dispMat(rows,cols); - - // camera parameters for rectification -#if __SDSCC__ - ap_fixed<32,12> *cameraMA_l_fix = (ap_fixed<32,12>*)sds_alloc_non_cacheable(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); - ap_fixed<32,12> *cameraMA_r_fix = (ap_fixed<32,12>*)sds_alloc_non_cacheable(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); - ap_fixed<32,12> *irA_l_fix = (ap_fixed<32,12>*)sds_alloc_non_cacheable(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); - ap_fixed<32,12> *irA_r_fix = (ap_fixed<32,12>*)sds_alloc_non_cacheable(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); - ap_fixed<32,12> *distC_l_fix = (ap_fixed<32,12>*)sds_alloc_non_cacheable(XF_DIST_COEFF_SIZE*sizeof(ap_fixed<32,12>)); - ap_fixed<32,12> *distC_r_fix = (ap_fixed<32,12>*)sds_alloc_non_cacheable(XF_DIST_COEFF_SIZE*sizeof(ap_fixed<32,12>)); -#else - ap_fixed<32,12> *cameraMA_l_fix = (ap_fixed<32,12>*)malloc(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); - ap_fixed<32,12> *cameraMA_r_fix = (ap_fixed<32,12>*)malloc(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); - ap_fixed<32,12> *irA_l_fix = (ap_fixed<32,12>*)malloc(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); - ap_fixed<32,12> *irA_r_fix = (ap_fixed<32,12>*)malloc(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); - ap_fixed<32,12> *distC_l_fix = (ap_fixed<32,12>*)malloc(XF_DIST_COEFF_SIZE*sizeof(ap_fixed<32,12>)); - ap_fixed<32,12> *distC_r_fix = (ap_fixed<32,12>*)malloc(XF_DIST_COEFF_SIZE*sizeof(ap_fixed<32,12>)); -#endif - -// leftMat.copyTo(left_img.data); -// rightMat.copyTo(right_img.data); - leftMat = xf::imread(argv[1], 0); - rightMat = xf::imread(argv[2], 0); - - xf::xFSBMState bm_state; - bm_state.preFilterCap = 31; - bm_state.uniquenessRatio = 15; - bm_state.textureThreshold = 20; - bm_state.minDisparity = 0; - - // copy camera params - for(int i=0; i)cameraMA_l[i]; - cameraMA_r_fix[i] = (ap_fixed<32,12>)cameraMA_r[i]; - irA_l_fix[i] = (ap_fixed<32,12>)irA_l[i]; - irA_r_fix[i] = (ap_fixed<32,12>)irA_r[i]; - } - - // copy distortion coefficients - for(int i=0; i)distC_l[i]; - distC_r_fix[i] = (ap_fixed<32,12>)distC_r[i]; - } - - printf("starting the kernel...\n"); - -#ifdef __SDSCC__ - perf_counter hw_ctr; - hw_ctr.start(); -#endif - stereopipeline_accel(leftMat,rightMat,dispMat,mapxLMat,mapyLMat,mapxRMat,mapyRMat,leftRemappedMat,rightRemappedMat,bm_state,cameraMA_l_fix,cameraMA_r_fix,distC_l_fix, distC_r_fix, irA_l_fix, irA_r_fix,9,5); -#ifdef __SDSCC__ - hw_ctr.stop(); - printf("end of kernel...\n"); - uint64_t hw_cycles = hw_ctr.avg_cpu_cycles(); -#endif - - cv::Mat out_disp_16(rows,cols,CV_16UC1); - cv::Mat out_disp_img(rows,cols,CV_8UC1); - - out_disp_16.data = dispMat.copyFrom(); - -/* for (int i=0; i(i,j) = (unsigned short)dispMat.data[i*cols+j]; - } - }*/ - out_disp_16.convertTo(out_disp_img, CV_8U, (256.0/NO_OF_DISPARITIES)/(16.)); - imwrite("hls_output.png",out_disp_img); - printf ("run complete !\n\n"); - - return 0; + cv::setUseOptimized(false); + + if(argc != 3) + { + fprintf(stderr,"Invalid Number of Arguments!\nUsage: \n"); + return -1; + } + + + cv::Mat cv_img_l, cv_img_r; + + cv_img_l = cv::imread(argv[1], 0); + cv_img_r = cv::imread(argv[2], 0); + + ////////////////// HLS TOP Function Call //////////////////////// + + xf::Mat xf_img_l(cv_img_l.rows, cv_img_l.cols); + xf::Mat xf_img_r(cv_img_r.rows, cv_img_r.cols); + + int rows = cv_img_l.rows; + int cols = cv_img_l.cols; + + xf::Mat mapxLMat(rows,cols); + xf::Mat mapyLMat(rows,cols); + xf::Mat mapxRMat(rows,cols); + xf::Mat mapyRMat(rows,cols); + + xf::Mat leftRemappedMat(rows,cols); + xf::Mat rightRemappedMat(rows,cols); + + xf::Mat xf_img_s(rows,cols); + + // camera parameters for rectification + + ap_fixed<32,12> *cameraMA_l_fix = (ap_fixed<32,12>*)malloc(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); + ap_fixed<32,12> *cameraMA_r_fix = (ap_fixed<32,12>*)malloc(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); + ap_fixed<32,12> *irA_l_fix = (ap_fixed<32,12>*)malloc(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); + ap_fixed<32,12> *irA_r_fix = (ap_fixed<32,12>*)malloc(XF_CAMERA_MATRIX_SIZE*sizeof(ap_fixed<32,12>)); + ap_fixed<32,12> *distC_l_fix = (ap_fixed<32,12>*)malloc(XF_DIST_COEFF_SIZE *sizeof(ap_fixed<32,12>)); + ap_fixed<32,12> *distC_r_fix = (ap_fixed<32,12>*)malloc(XF_DIST_COEFF_SIZE *sizeof(ap_fixed<32,12>)); + + + xf_img_l = xf::imread(argv[1], 0); + xf_img_r = xf::imread(argv[2], 0); + + xf::xFSBMState bm_state; + + bm_state.preFilterCap = 31; + bm_state.uniquenessRatio = 15; + bm_state.textureThreshold = 20; + bm_state.minDisparity = 0; + + // copy camera params + for(int i=0; i)cameraMA_l[i]; + cameraMA_r_fix[i] = (ap_fixed<32,12>)cameraMA_r[i]; + irA_l_fix [i] = (ap_fixed<32,12>)irA_l [i]; + irA_r_fix [i] = (ap_fixed<32,12>)irA_r [i]; + } + + // copy distortion coefficients + for(int i=0; i)distC_l[i]; + distC_r_fix[i] = (ap_fixed<32,12>)distC_r[i]; + } + + printf("starting the kernel...\n"); + + + stereo_pipeline_accel(xf_img_l, xf_img_r, xf_img_s, mapxLMat, mapyLMat, mapxRMat, mapyRMat, leftRemappedMat, rightRemappedMat, bm_state, cameraMA_l_fix, cameraMA_r_fix, distC_l_fix, distC_r_fix, irA_l_fix, irA_r_fix, 9, 5); + + + cv::Mat out_disp_16(rows,cols,CV_16UC1); + cv::Mat out_disp_08(rows,cols,CV_8UC1 ); + + out_disp_16.data = xf_img_s.copyFrom(); + + out_disp_16.convertTo(out_disp_08, CV_8U, (256.0/NO_OF_DISPARITIES)/(16.)); + + imwrite("hls_output.png",out_disp_08); + + printf ("run complete !\n\n"); + + return 0; } From c1bb34e984fe32779608e17bf6c03a38518f9d0c Mon Sep 17 00:00:00 2001 From: Serge Date: Fri, 11 May 2018 23:10:10 +0300 Subject: [PATCH 42/73] Change defines to match test images size --- aws_demo/stereopipeline/makefile | 19 +++---------------- .../xf_stereo_pipeline_accel_aws.cpp | 8 ++++---- .../xf_stereo_pipeline_config.h | 4 ++-- 3 files changed, 9 insertions(+), 22 deletions(-) diff --git a/aws_demo/stereopipeline/makefile b/aws_demo/stereopipeline/makefile index 2028e9e..a204cd3 100644 --- a/aws_demo/stereopipeline/makefile +++ b/aws_demo/stereopipeline/makefile @@ -20,8 +20,6 @@ XFOPENCV ?= /home/centos/src/project_data/xfopencv # # ######################################## -XF_EXAMPLE_DIR = $(XFOPENCV)/examples/gaussianfilter - XCL2_LIB_DIR = $(SDACCEL_DIR)/examples/xilinx/libs/xcl2 XCL_LIB_DIR = $(SDACCEL_DIR)/examples/xilinx/libs/xcl @@ -29,7 +27,6 @@ CXXFLAGS += -DSDX_PLATFORM=$(SDX_PLATFORM) -D__USE_XOPEN2K8 -DHLS_NO_XIL_FPO_LIB CXXFLAGS += -I/opt/Xilinx/SDx/2017.1.op/runtime/include/1_2/ CXXFLAGS += -I/opt/Xilinx/SDx/2017.1.op/include/ CXXFLAGS += -I$(XFOPENCV)/include/ -#CXXFLAGS += -I$(XF_EXAMPLE_DIR)/ CXXFLAGS += -I$(XCL2_LIB_DIR)/ CXXFLAGS += -I/opt/Xilinx/SDx/2017.1.op/Vivado_HLS/include CXXFLAGS += -O2 -Wall -c -fmessage-length=0 -std=c++14 @@ -68,16 +65,13 @@ HOST_AWS_SRC += xf_stereo_pipeline_tb HOST_SDx_SRC += xcl2 -HOST_XF_SRC += - HOST_AWS_DIR = ./ HOST_BLD_DIR = build/host HOST_AWS_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_AWS_SRC)) ) HOST_SDx_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_SDx_SRC)) ) -HOST_XF_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_XF_SRC)) ) -HOST_OBJ = $(HOST_XF_OBJ) $(HOST_AWS_OBJ) $(HOST_SDx_OBJ) +HOST_OBJ = $(HOST_AWS_OBJ) $(HOST_SDx_OBJ) HOST_EXE ?= run/stereo_pipeline_test @@ -138,8 +132,8 @@ nothing: # build/kernel/xf_stereo_pipeline.xo: xf_stereo_pipeline_kernel_aws.cpp - @mkdir -p $(@D) #-I"$(XF_EXAMPLE_DIR)" - $(XOCC) $(XOCC_OPTS) -c -k xf_stereo_pipeline --max_memory_ports xf_stereo_pipeline --messageDb $(subst .xo,.mdb,$@) -I"$( kernel_rd_buf; kernel_rd_buf.push_back(buffer_s); - q.enqueueMigrateMemObjects(kernel_rd_buf, CL_MIGRATE_MEM_OBJECT_HOST); + q.enqueueMigrateMemObjects(kernel_rd_buf, CL_MIGRATE_MEM_OBJECT_HOST); q.finish(); } diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_config.h b/aws_demo/stereopipeline/xf_stereo_pipeline_config.h index 8dfa4ce..371bfb9 100644 --- a/aws_demo/stereopipeline/xf_stereo_pipeline_config.h +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_config.h @@ -40,8 +40,8 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /* config width and height */ -#define XF_HEIGHT 1080 -#define XF_WIDTH 1920 +#define XF_HEIGHT 720 +#define XF_WIDTH 1280 #define XF_CAMERA_MATRIX_SIZE 9 #define XF_DIST_COEFF_SIZE 5 From bf5e97fdd9e962407a6ac11d37cafa0713aca23c Mon Sep 17 00:00:00 2001 From: Serge Date: Mon, 14 May 2018 23:09:05 +0300 Subject: [PATCH 43/73] Add emulation flow, extract common part of examples makefiles into single common_makefile --- aws_demo/common_makefile | 217 ++++++++++++++++++ .../gaussianfilter/{ => hw}/afi/gen_afi.sh | 0 aws_demo/gaussianfilter/{ => hw}/run/run.sh | 2 +- aws_demo/gaussianfilter/hw_emu/run.sh | 5 + aws_demo/gaussianfilter/hw_emu/sdaccel.ini | 5 + aws_demo/gaussianfilter/makefile | 166 +------------- aws_demo/gaussianfilter/sw_emu/run/run.sh | 5 + .../gaussianfilter/sw_emu/run/sdaccel.ini | 5 + .../xf_gaussian_filter_accel_aws.cpp | 2 +- aws_demo/stereopipeline/afi/gen_afi.sh | 31 --- aws_demo/stereopipeline/hw/afi/gen_afi.sh | 31 +++ aws_demo/stereopipeline/{ => hw}/run/run.sh | 2 +- aws_demo/stereopipeline/left.png | Bin 0 -> 365405 bytes aws_demo/stereopipeline/makefile | 153 +----------- aws_demo/stereopipeline/right.png | Bin 0 -> 368706 bytes .../xf_stereo_pipeline_accel_aws.cpp | 2 +- 16 files changed, 278 insertions(+), 348 deletions(-) create mode 100644 aws_demo/common_makefile rename aws_demo/gaussianfilter/{ => hw}/afi/gen_afi.sh (100%) rename aws_demo/gaussianfilter/{ => hw}/run/run.sh (61%) create mode 100644 aws_demo/gaussianfilter/hw_emu/run.sh create mode 100644 aws_demo/gaussianfilter/hw_emu/sdaccel.ini create mode 100644 aws_demo/gaussianfilter/sw_emu/run/run.sh create mode 100644 aws_demo/gaussianfilter/sw_emu/run/sdaccel.ini delete mode 100644 aws_demo/stereopipeline/afi/gen_afi.sh create mode 100644 aws_demo/stereopipeline/hw/afi/gen_afi.sh rename aws_demo/stereopipeline/{ => hw}/run/run.sh (61%) create mode 100644 aws_demo/stereopipeline/left.png create mode 100644 aws_demo/stereopipeline/right.png diff --git a/aws_demo/common_makefile b/aws_demo/common_makefile new file mode 100644 index 0000000..2e75fe4 --- /dev/null +++ b/aws_demo/common_makefile @@ -0,0 +1,217 @@ +######################################## +# # +# Tools section # +# # +######################################## + +XILINX_SDX ?= /opt/Xilinx/SDx/2017.1.op +XILINX_HLS ?= $(XILINX_SDX)/Vivado_HLS + + +SDX_CXX ?= $(XILINX_SDX)/bin/xcpp +XOCC ?= $(XILINX_SDX)/bin/xocc + +RM = rm -f +RMDIR = rm -rf + +ifeq "$(AWS_PLATFORM)" "$(AWS_PLATFORM_1DDR)" + XILINX_SDX_RUNTIME=/opt/Xilinx/2017.1.rte.1ddr/runtime/lib/x86_64 +else ifeq "$(AWS_PLATFORM)" "$(AWS_PLATFORM_4DDR)" + XILINX_SDX_RUNTIME=/opt/Xilinx/2017.1.rte.4ddr/runtime/lib/x86_64 +else ifeq "$(AWS_PLATFORM)" "$(AWS_PLATFORM_4DDR_DEBUG)" + XILINX_SDX_RUNTIME=/opt/Xilinx/2017.1.rte.4ddr_debug/runtime/lib/x86_64 +endif + +XFOPENCV ?= /home/centos/src/project_data/xfopencv + +TARGET ?= hw_emu + +######################################## +# # +# Host section # +# # +######################################## + +XF_EXAMPLE_DIR = $(XFOPENCV)/examples/gaussianfilter + +XCL2_LIB_DIR = $(SDACCEL_DIR)/examples/xilinx/libs/xcl2 +XCL_LIB_DIR = $(SDACCEL_DIR)/examples/xilinx/libs/xcl + +CXXFLAGS += -DSDX_PLATFORM=$(AWS_PLATFORM) -D__USE_XOPEN2K8 +CXXFLAGS += -I$(XILINX_SDX)/runtime/include/1_2/ +CXXFLAGS += -I$(XILINX_SDX)/include/ +CXXFLAGS += -I$(XFOPENCV)/include/ +CXXFLAGS += -I$(XCL2_LIB_DIR)/ +CXXFLAGS += -I$(XILINX_HLS)/include +CXXFLAGS += -O2 -Wall -c -fmessage-length=0 -std=c++14 + +#--- Specify OpenCV libraries ---# + +LDFLAGS += -L$(XILINX_SDX)/lnx64/tools/opencv +LDFLAGS += -lopencv_core +LDFLAGS += -lopencv_imgproc +LDFLAGS += -lopencv_highgui + +#--- Specify common libraries ---# + +LDFLAGS += -L$(XILINX_SDX)/lib/lnx64.o +LDFLAGS += -lstdc++ +LDFLAGS += -lpthread +LDFLAGS += -lrt + +#--- Specify AWS libraries ---# + +LDFLAGS += -L$(XILINX_SDX_RUNTIME) +LDFLAGS += -lxilinxopencl + +#--- Specify runtime libraries ---# + +LDFLAGS += -Wl,-rpath,$(XILINX_SDX)/lnx64/tools/opencv +LDFLAGS += -Wl,-rpath,$(XILINX_SDX)/lib/lnx64.o +LDFLAGS += -Wl,-rpath,$(XILINX_SDX_RUNTIME) + +#--- Specify objects ---# + +# TEST_NAME = gaussian_filter_test +# +# HOST_AWS_SRC += xf_gaussian_filter_accel_aws +# HOST_AWS_SRC += xf_gaussian_filter_tb +# +# HOST_SDx_SRC += xcl2 +# +# HOST_XF_SRC += + +HOST_AWS_DIR = ./ +HOST_BLD_DIR = $(TARGET)/build/host +HOST_RUN_DIR = $(TARGET)/run + +HOST_AWS_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_AWS_SRC)) ) +HOST_SDx_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_SDx_SRC)) ) +HOST_XF_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_XF_SRC)) ) + +HOST_OBJ = $(HOST_XF_OBJ) $(HOST_AWS_OBJ) $(HOST_SDx_OBJ) + +HOST_EXE ?= $(HOST_RUN_DIR)/$(TEST_NAME) + +BUILD_SUBDIRS += $(HOST_BLD_DIR) + + +######################################## +# # +# Kernel section # +# # +######################################## + +# KERNEL = xf_gaussian_filter + +XOCC_OPTS += --platform $(AWS_PLATFORM) +XOCC_OPTS += --save-temps +XOCC_OPTS += --report system + +XOCC_INCL += -I$(XFOPENCV)/include +XOCC_INCL += -I/opt/Xilinx/SDx/2017.4/include/ocv + +KERNEL_BLD_DIR = $(TARGET)/build/kernel + +ifeq "$(TARGET)" "hw" + KERNEL_RUN_DIR = $(TARGET)/afi +else + KERNEL_RUN_DIR = $(TARGET)/run + XOCC_OPTS += -g +endif + +BUILD_SUBDIRS += $(KERNEL_BLD_DIR) + +KERNEL_OBJ += $(addsuffix .xo , $(addprefix $(KERNEL_BLD_DIR)/, $(KERNEL)) ) +KERNEL_BIN += $(addsuffix .xclbin, $(addprefix $(KERNEL_RUN_DIR)/, $(KERNEL)) ) + + +######################################## +# # +# Build section # +# # +######################################## + +.PHONY: all + +all: host krnl + +host: $(HOST_EXE) + +krnl: $(KERNEL_BIN) + +clean: + $(RMDIR) $(BUILD_SUBDIRS) + $(RMDIR) .Xil + $(RM) $(HOST_RUN_DIR)/*.jpg $(HOST_RUN_DIR)/*.png *.log *.csv *.html + $(RM) $(KERNEL_BIN) + $(RM) $(HOST_EXE) + $(RM) $(HOST_EXE)/*.*xclbin + +.PHONY: all + +#--- Kernel rules ---# + +$(KERNEL_OBJ): $(KERNEL_BLD_DIR)/%.xo : %_kernel_aws.cpp + @echo " " + @echo "================================================================" + @echo "Compilation of $< to $@" + @echo "================================================================" + @echo " " + @mkdir -p $(@D) + $(XOCC) -c -t $(TARGET) $(XOCC_OPTS) $(XOCC_INCL) -k $(*F) --max_memory_ports $(*F) -I$( xf_gaussian_filter.xclbin.sh - $(XOCC) $(XOCC_OPTS) -l --jobs 20 --nk xf_gaussian_filter:1 --messageDb $(subst .xclbin,.mdb,$@) --xp misc:solution_name=build/kernel/xocc_link_kernel --remote_ip_cache /root/workspace/ip_cache -o"$@" $(+) - -# -# host rules -# - -$(HOST_AWS_OBJ): $(HOST_BLD_DIR)/%.o : $(HOST_AWS_DIR)/%.cpp - @echo "================================================================" - @echo "Compilation of $< to $@" - @echo "================================================================" - @mkdir -p $(HOST_BLD_DIR) - $(SDX_CXX) $(CXXFLAGS) -o "$@" "$<" - - -$(HOST_SDx_OBJ): $(HOST_BLD_DIR)/%.o : $(XCL2_LIB_DIR)/%.cpp - @echo "================================================================" - @echo "Compilation of $< to $@" - @echo "================================================================" - @mkdir -p $(HOST_BLD_DIR) - $(SDX_CXX) $(CXXFLAGS) -o "$@" "$<" - -$(HOST_XF_OBJ): $(HOST_BLD_DIR)/%.o : $(XF_EXAMPLE_DIR)/%.cpp - @echo "================================================================" - @echo "Compilation of $< to $@" - @echo "================================================================" - @mkdir -p $(HOST_BLD_DIR) - $(SDX_CXX) $(CXXFLAGS) -o "$@" "$<" - - -$(HOST_EXE): $(HOST_OBJ) - @echo "================================================================" - @echo "Linking of $@" - @echo "================================================================" - $(SDX_CXX) -o "$@" $(+) $(LDFLAGS) - diff --git a/aws_demo/gaussianfilter/sw_emu/run/run.sh b/aws_demo/gaussianfilter/sw_emu/run/run.sh new file mode 100644 index 0000000..4593b10 --- /dev/null +++ b/aws_demo/gaussianfilter/sw_emu/run/run.sh @@ -0,0 +1,5 @@ +emconfigutil -f $AWS_PLATFORM + +export XCL_EMULATION_MODE=sw_emu + +./gaussian_filter_test ../../img0.jpg diff --git a/aws_demo/gaussianfilter/sw_emu/run/sdaccel.ini b/aws_demo/gaussianfilter/sw_emu/run/sdaccel.ini new file mode 100644 index 0000000..63a1cac --- /dev/null +++ b/aws_demo/gaussianfilter/sw_emu/run/sdaccel.ini @@ -0,0 +1,5 @@ +[Debug] +timeline_trace=true +device_profile=true +app_debug=true +profile=true diff --git a/aws_demo/gaussianfilter/xf_gaussian_filter_accel_aws.cpp b/aws_demo/gaussianfilter/xf_gaussian_filter_accel_aws.cpp index bb05799..511751d 100644 --- a/aws_demo/gaussianfilter/xf_gaussian_filter_accel_aws.cpp +++ b/aws_demo/gaussianfilter/xf_gaussian_filter_accel_aws.cpp @@ -17,7 +17,7 @@ void gaussian_filter_accel(xf::Mat &img_inp, cl::CommandQueue q(context, device, CL_QUEUE_PROFILING_ENABLE); std::string device_name = device.getInfo(); - std::string binaryFile = "xf_gaussian_filter.awsxclbin"; + std::string binaryFile = (xcl::is_emulation() || xcl::is_hw_emulation ()) ? "xf_gaussian_filter.xclbin" : "xf_gaussian_filter.awsxclbin"; std::cout << "========" << binaryFile << " ==================" << std::endl; diff --git a/aws_demo/stereopipeline/afi/gen_afi.sh b/aws_demo/stereopipeline/afi/gen_afi.sh deleted file mode 100644 index e89bb9a..0000000 --- a/aws_demo/stereopipeline/afi/gen_afi.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash -echo aws s3 rm --recursive s3://xfg -aws s3 rm --recursive s3://xfg - -echo aws s3 rb s3://xfg -aws s3 rb s3://xfg - - -echo aws s3 mb s3://xfg -aws s3 mb s3://xfg - -aws s3 mb s3://xfg/dcp -touch FILES_GO_HERE.txt -aws s3 cp FILES_GO_HERE.txt s3://xfg/dcp/ - - -aws s3 mb s3://xfg/log -touch LOGS_FILES_GO_HERE.txt -aws s3 cp LOGS_FILES_GO_HERE.txt s3://xfg/log/ - -aws s3 ls --recursive s3://xfg - -rm -f FILES_GO_HERE.txt -rm -f LOGS_FILES_GO_HERE.txt - -$SDACCEL_DIR/tools/create_sdaccel_afi.sh -xclbin=xf_gaussian_filter.xclbin -s3_bucket=xfg -s3_dcp_key=dcp -s3_logs_key=log - -cat *afi_id* - -echo use following command to check afi ready -echo aws ec2 describe-fpga-images --fpga-image-id diff --git a/aws_demo/stereopipeline/hw/afi/gen_afi.sh b/aws_demo/stereopipeline/hw/afi/gen_afi.sh new file mode 100644 index 0000000..d3ec1e7 --- /dev/null +++ b/aws_demo/stereopipeline/hw/afi/gen_afi.sh @@ -0,0 +1,31 @@ +#!/bin/bash +echo aws s3 rm --recursive s3://xfsp +aws s3 rm --recursive s3://xfsp + +echo aws s3 rb s3://xfsp +aws s3 rb s3://xfsp + + +echo aws s3 mb s3://xfsp +aws s3 mb s3://xfsp + +aws s3 mb s3://xfsp/dcp +touch FILES_GO_HERE.txt +aws s3 cp FILES_GO_HERE.txt s3://xfsp/dcp/ + + +aws s3 mb s3://xfsp/log +touch LOGS_FILES_GO_HERE.txt +aws s3 cp LOGS_FILES_GO_HERE.txt s3://xfsp/log/ + +aws s3 ls --recursive s3://xfsp + +rm -f FILES_GO_HERE.txt +rm -f LOGS_FILES_GO_HERE.txt + +$SDACCEL_DIR/tools/create_sdaccel_afi.sh -xclbin=xf_stereo_pipeline.xclbin -s3_bucket=xfsp -s3_dcp_key=dcp -s3_logs_key=log + +cat *afi_id* + +echo "use following command to check afi ready" +echo "aws ec2 describe-fpga-images --fpga-image-id " diff --git a/aws_demo/stereopipeline/run/run.sh b/aws_demo/stereopipeline/hw/run/run.sh similarity index 61% rename from aws_demo/stereopipeline/run/run.sh rename to aws_demo/stereopipeline/hw/run/run.sh index 103d272..9c32ecd 100644 --- a/aws_demo/stereopipeline/run/run.sh +++ b/aws_demo/stereopipeline/hw/run/run.sh @@ -2,4 +2,4 @@ source /opt/Xilinx/SDx/2017.1.rte.4ddr/setup.sh -./xf_arg im1.jpg +./stereo_pipeline_test ../../im0.jpg diff --git a/aws_demo/stereopipeline/left.png b/aws_demo/stereopipeline/left.png new file mode 100644 index 0000000000000000000000000000000000000000..28190829544c737161e54a17ecf77315e43f2a2e GIT binary patch literal 365405 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 &M&E{aZ7ujfE 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℞SNmpxhEZ5!J-#?dG){fIWWq$|d`CkqeV*xP7 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%0AbMi_9|~iO$+~x@wVoC6IQw@H!W0~?*3o@`1Wu| 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 VM2WcqP%j~#&Ejp?zeVYV{|`jYMce=Y literal 0 HcmV?d00001 diff --git a/aws_demo/stereopipeline/makefile b/aws_demo/stereopipeline/makefile index a204cd3..4f7a34a 100644 --- a/aws_demo/stereopipeline/makefile +++ b/aws_demo/stereopipeline/makefile @@ -1,170 +1,19 @@ - -# compiler tools - -XILINX_SDX ?= /opt/Xilinx/SDx/2017.1.op -XILINX_VIVADO_HLS ?= $(XILINX_SDX)/Vivado_HLS - - -SDX_CXX ?= $(XILINX_SDX)/bin/xcpp -XOCC ?= $(XILINX_SDX)/bin/xocc -RM = rm -f -RMDIR = rm -rf - -SDX_PLATFORM = $(AWS_PLATFORM) - -XFOPENCV ?= /home/centos/src/project_data/xfopencv - ######################################## # # # Host section # # # ######################################## -XCL2_LIB_DIR = $(SDACCEL_DIR)/examples/xilinx/libs/xcl2 -XCL_LIB_DIR = $(SDACCEL_DIR)/examples/xilinx/libs/xcl - -CXXFLAGS += -DSDX_PLATFORM=$(SDX_PLATFORM) -D__USE_XOPEN2K8 -DHLS_NO_XIL_FPO_LIB -CXXFLAGS += -I/opt/Xilinx/SDx/2017.1.op/runtime/include/1_2/ -CXXFLAGS += -I/opt/Xilinx/SDx/2017.1.op/include/ -CXXFLAGS += -I$(XFOPENCV)/include/ -CXXFLAGS += -I$(XCL2_LIB_DIR)/ -CXXFLAGS += -I/opt/Xilinx/SDx/2017.1.op/Vivado_HLS/include -CXXFLAGS += -O2 -Wall -c -fmessage-length=0 -std=c++14 - -#--- Specify OpenCV libraries ---# - -LDFLAGS += -L/opt/Xilinx/SDx/2017.1.op/lnx64/tools/opencv -LDFLAGS += -lopencv_core -LDFLAGS += -lopencv_imgproc -LDFLAGS += -lopencv_highgui - -#--- Specify common libraries ---# - -LDFLAGS += -L/opt/Xilinx/SDx/2017.1.op/lib/lnx64.o -LDFLAGS += -lstdc++ -LDFLAGS += -lpthread -LDFLAGS += -lrt - -#--- Specify AWS libraries ---# - -LDFLAGS += -L/opt/Xilinx/2017.1.rte.4ddr/runtime/lib/x86_64 -LDFLAGS += -lxilinxopencl - -#--- Specify runtime libraries ---# - -LDFLAGS += -Wl,-rpath,/opt/Xilinx/SDx/2017.1.op/lnx64/tools/opencv -LDFLAGS += -Wl,-rpath,/opt/Xilinx/SDx/2017.1.op/lib/lnx64.o -LDFLAGS += -Wl,-rpath,/opt/Xilinx/2017.1.rte.4ddr/runtime/lib/x86_64 - -#--- Specify objects ---# - -HOST_DEP = ../src/xcl2.hpp - HOST_AWS_SRC += xf_stereo_pipeline_accel_aws HOST_AWS_SRC += xf_stereo_pipeline_tb HOST_SDx_SRC += xcl2 -HOST_AWS_DIR = ./ -HOST_BLD_DIR = build/host - -HOST_AWS_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_AWS_SRC)) ) -HOST_SDx_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_SDx_SRC)) ) - -HOST_OBJ = $(HOST_AWS_OBJ) $(HOST_SDx_OBJ) - -HOST_EXE ?= run/stereo_pipeline_test - -BUILD_SUBDIRS += $(HOST_BLD_DIR) - - ######################################## # # # Kernel section # # # ######################################## - -XOCC_OPTS = -t hw --platform $(SDX_PLATFORM) --save-temps --report system - -# -# OpenCL kernel files -# - -BINARY_CONTAINERS += xf_stereo_pipeline.xclbin - -BUILD_SUBDIRS += build/kernel -BINARY_CONTAINER_1_OBJS += build/kernel/xf_stereo_pipeline.xo -ALL_KERNEL_OBJS += build/kernel/xf_stereo_pipeline.xo - -ALL_MESSAGE_FILES = $(subst .xo,.mdb,$(ALL_KERNEL_OBJS)) $(subst .xclbin,.mdb,$(BINARY_CONTAINERS)) - - -# -# primary build targets -# - -.PHONY: all clean - -all: krnl host - -host: $(HOST_EXE) - -krnl: $(BINARY_CONTAINERS) - -clean: - $(RMDIR) $(HOST_BLD_DIR) build/kernel -# -$(RM) $(BINARY_CONTAINERS) $(ALL_KERNEL_OBJS) $(ALL_MESSAGE_FILES) $(HOST_EXE) src/$(HOST_OBJ) -# -$(RM) *.xclbin.sh -# -$(RMDIR) $(BUILD_SUBDIRS) -# -$(RMDIR) _xocc* -# -$(RMDIR) .Xil -# -$(RM) xf_arg - -.PHONY: incremental -incremental: all - - -nothing: - -# -# binary container: binary_container_1.xclbin -# - -build/kernel/xf_stereo_pipeline.xo: xf_stereo_pipeline_kernel_aws.cpp - @mkdir -p $(@D) - $(XOCC) $(XOCC_OPTS) -c -k xf_stereo_pipeline --max_memory_ports xf_stereo_pipeline --messageDb $(subst .xo,.mdb,$@) -I"$( xf_stereo_pipeline.xclbin.sh - $(XOCC) $(XOCC_OPTS) -l --jobs 20 --nk xf_stereo_pipeline:1 --messageDb $(subst .xclbin,.mdb,$@) --xp misc:solution_name=build/kernel/xocc_link_kernel --remote_ip_cache /root/workspace/ip_cache -o"$@" $(+) - -# -# host rules -# - -$(HOST_AWS_OBJ): $(HOST_BLD_DIR)/%.o : $(HOST_AWS_DIR)/%.cpp - @echo "================================================================" - @echo "Compilation of $< to $@" - @echo "================================================================" - @mkdir -p $(HOST_BLD_DIR) - $(SDX_CXX) $(CXXFLAGS) -o "$@" "$<" - - -$(HOST_SDx_OBJ): $(HOST_BLD_DIR)/%.o : $(XCL2_LIB_DIR)/%.cpp - @echo "================================================================" - @echo "Compilation of $< to $@" - @echo "================================================================" - @mkdir -p $(HOST_BLD_DIR) - $(SDX_CXX) $(CXXFLAGS) -o "$@" "$<" - - -$(HOST_EXE): $(HOST_OBJ) - @echo "================================================================" - @echo "Linking of $@" - @echo "================================================================" - $(SDX_CXX) -o "$@" $(+) $(LDFLAGS) - - +KERNEL = xf_stereo_pipeline diff --git a/aws_demo/stereopipeline/right.png b/aws_demo/stereopipeline/right.png new file mode 100644 index 0000000000000000000000000000000000000000..4e31067ca3b9911a2d03ac01f2656501079f5994 GIT binary patch literal 368706 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

Q5EQt3Fw}`sHzTQBXjhT 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

Y!mM()HUuEIY+D_^3&1_{t=y=%; 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

)*;Hy{1!}lk&+pOLg_QLr2n)OCNqL#b88ePm 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%0ABOG34)05+#>$&0M`v;j*K3?#~;r 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

!| z{8+OK`y;eN5dP(7ryXC9DxYO?6NZOMg0;~IuTstB!1YVxI^!li^OL%ResgBo3BIG( zDu=l-zkdrP=sr87(b)oRA<*=FG}LI z=pD``g_~{y*$0g%VBfGzR;3`~z4b)GLN0sqveWLbr*Htiem{qwOjGv(~X!E9qf@;17a3_+||IIXQXVAy%6#gTAt zUW*=}9X+WOT{hb$Y<|5a%Jiy-J%5XF5T8JjKQO-+`4qMASyQ6A2$3JMoShmw@O2l} z!@$dmo|>lky|hugm{?2=ZzWFx??@U>L7FPHe*NIN&gJ zd_q382#)=rr;lv*`k?H1Rn=T`Zhp;8Y|}aY=9toxMqW;^M)s@N&$Nw1er42+k4igy zn_P;Tb#vM_YkaVk*E$SKOG;CXz}(5tR^}64)rU%w8@{|Px|fUzT%rmL-)l{(Vp77D z9oQZE--b2_iJuz|l79O;kXWjZAohM5l`MUnxZpkufX;Yg*zyL=8|P7c8`Q z=LX`7xv@FAd9ch*J>Wq|AFVFVc1g z??@mVyA(|zrYrm|AAuMc1O_gVVp#{YGY%F}KkQPEoZu>I@4#Vw?PMt_D_1c_reWD&g?MDt*X) z%Dgi_&4MpnG>c5p1x`2VhZ$AlB&3JMgAZLLpN;CTbV|q#k$nLFYziHHesJtN^e!r| z6ctFAixhA`osnZhg{TKL!s*|1W54BRWGLd{amJT!SqX`U)n3*+zFn~e8wQlLo(_+3 zGGF!V@<*w5xZ;$s5=*DxlDi<-Y*^jnKO?`Uz*-1SIe}BUg$O+gAyT*@xbd3#*$!Rq zyt$pIDoEOW(+*6Qq-ChRhlWv0_v*Xfa&(W3o=C>S;S8 zYMXUCe|0jlpIgYq%lYHP+P0g9n5P5pYRkDXPzc^9#?gl}BHPoyZZK^CQHt{<)Q_ax za-FPkL)~pv!h&%Q?;{CGw>KKcD0nH}J-Mc7#xJecSu07&l!(N9?4pfDz59`?8h0Gp zd|GE@nFQ>D#e*rti2Do)Zr|>Ibv}jF{s+IMlD+Sb{&G}n)M^T)a9$exML4_3t+(rN z_w%1?5PNhqz%l&|>h|$Fzjf=s3e(``ox^FNGM>jQ_G#LSxme@1rhzNcZIC>5+ubGXZOr<|gFyb$#23X5&Os^^|?^Ec2|#@7T78 zk=p%XZOda|)3s=UfGF_IBAI@={c?^)LGG@}C*Vyfzya*bcgeco6lmMl#1bf+QS_ko zgKflU3ucbq7Rb<8kGK>E-bs8?e}S=j7A_HSD<>GmeN!zFro91HgF4m>PX@J{ja>4- zV~8kU?u64k4xO}B`3)`B^pW$!l6!PZp+N1 zQ*#P-`muXk!qt`iU^ceQc{Kf{1|Kjy1i!Z0g|a0{z(6){=t}+5$pP}GCH#l%7N4JZ zU_B?(lpz`s{1T7J&mj@psTVlnP&q0#aPy@wI+>!NGYdkFuDHQe2~`TdDz=E^9svu$ z$TrE{M_Zyd5xCj#+Dq7kdD$+} z)0L#xV1q-R+8f7U+3WviX%1JOMP%u+iA^;jXD4Gqgk_&Wm7r=Itlow6Zz&M+f8q+G z9x)+235%ue%x^7%5M+T|pv)aeTiOUHwX+C5?eb9lcQe)|;1GvkNs z5aZfk?l`-5sWo{Hj>xVwICj~0rxlB;)Sp85gtgbY+6q+C8Eh4Fp_p}RX7Hv{l3b=) zb;YiJ8X^}qWtDxpK@0E99Zrn$WO@uI8N#i|o=UGrCpS*$ZUW0xM8I&4u+w(3WGk-G zOmj2d#9`ieM4x(e34X`mUOaPxNU>wm&ROlzr$MIxKLvoVZFXNRoum6pyh%h&N3Hj+ z5jg`mhmCebNp_CvQp~0fO<`-m8o1P}rvm7;$T#6NUNY;{XYhKOzEg62Xho{qKmwfX zYg6$&w`Rx~sI;hfXFv@9a=d!kM&>1bJ^}B;k2tV8gFKBUJuhcdJsc!H+1@&P771I- z=S=<(u;)NqkzF2T!r+sD_JepsPj3gi=t_Gf#!}d_KAF-{-+M~EdyR_T@cKZ7w- zoXFIZWd(grp4DK^-QwiPV^wA@p0_e8W}t_7)OaNF1|z*L0W1Um zL1ZO(8ORGIQp+3q5#i*2Ot5P2H*VK;kMlT{A9xu+T$61 z2S@?Afq7?+^W0&Tc^gL;yu|tcZEZ{w{^z^`!o4m$fidlK$`nX104F^dpXkYE)2_G` z76nge9P$C|9i6#fTqfqW73p8riZ$8LALEJ*H0c%61%|!6@+b-xiV&v(Q;A zH`h2Q_|q1>9M>~n&e92RFha-$uTTE|kD0AZEQj%RX(7wo`WN6~9Ow^n4>?X0##NbK zUYbgzGe-rW2U3#1@vfRUo`~~XAR)-+^>MIP+6MT>h>mhtcBS7XJgTwC*JH<%bA-q{ zU{mw^-yhGAdIR2}B-&L@)c^NzP2a;lT%p-5CU99S!l1n9lz!oI<6CeLR4V3Pbvy5` zI;Tm%NX1+S#5xnrVhM#T)Q^_tUo{{L@z=Cz+zpZ`UpTX2EU<2%U{ z0;E{*ug>(?`;Gr}Lx?jCaIF%gAaX8N9t77#A(>nmft)x7S*BahpGRa%P?M;;?TDcO z%u0osL?jmr{f|FLPiZ#6uV!Zei%2xrATM~|yA)B=GUh0ALWzT0yeqFx-B=OHrFgui zRM?uOjJ;nM@{2v`{>~m-tfpXTVL!O6sL!XD4%;$8TP#rVdTTyj*|6F4U!9kLEm_}_ zNpYtkx1{I|;{4Te=3MFBb^G*h;h9s`N?C#7b#fLLzFw#>`W(M)9#F0xE{U0@H!5Xt zxC$Tw(y9gTO%tr7D zcAaus_hmdY5uZGU4mh3L`dz_+!xJ(ZzAy_h3xT<5b*GHuw4)hhPsjGt-qp^PSR6oZ zh|-QlBgVn~Di^+Oo^PR!ok!SeS|Boclw|EkdRclRN0kg*SHb}Y6s*B;)<=79V0iDE zF!(2E?g#MEb^ORRk`%C3f|b}uy>FfID=Pa;-`xFlb8TfQJsFu7kX&+V?D$1QuQ^>c z9xZ45IJYkjkY3eHMui=euisi9Q!P2+>d?u&fiVu$qy*Zy#NBIY$OdEpeWYI?E$Zmf zg3nrvA@=X=*y(}F5n@btokxLx)&(iogy zb1<~Fo;_7rL8)GKrLbj7wTS}`#iv%kFFTpN@<=)ylOQ(&0=GwV8xgB#R6&{9Q;n4F zMfp)YN9|tB0{rUwAP1>wdJ^Aeq7w8leMkVUu4RNLvU`(&(AJyg`yWSMmM+#NqEHRPqh_6 z0~Z~lfJw9h#xIHQncnUr9*;SE_{0o5?9C@vU-g{h>(jFXO(hkM&DLzLobi!yeKdN7 zRXEq)9PE##B31g0a3oE*_S?sDlO*%H=Wt~BZ3T}7ug6Kk3!k`I4c;R>GdY3q?7PFF z9`;PmKRfTr%|z9zGHh8Dc?{q1;$d;;!p!BC{d@H@e-O0g#5p8O=r{cO9pgh-&}kmM3BD*zhjDoGVzN8_34Z7N zwM)}TZf=>VryeM>-|^3vxTCis?i3UfW zwiJV&I#BgIYlY+T%d(iyWf zd{SvVcrm~hQLXAIrERnv21E!sLL1)g7up6^>}L=Hvh=?;SU%F~ft-WyzPhkgxuLSR zS86t!zS4N_G=jm^?S8UsNqjGrawu>9JsFqGerwoi4OF`&7R1$0&#nkGGKV`51q550 zFVn+Yh5_;Zr#ecP3P)(29f9@C#P=qU_GH_j zkuL700}ercDMB5;UvlQN346STj@(1r#oYOxlHeKM5z((g$*uU6G5#${#H0CGXFq*Z z;?=U?$J;lCYUp)RD{?qp8}V(7wv_D}pLsC6e;N*GRRWQA=a@3&QQCy9#u?vc4x{LD zYm73t-M!IE+bg6e`r%>XU|E8d7lf0qRRRKb4AcGao2gaQF5E_c3dgGVb zg_W$(OGrtQjR%9?lu>XBcDJ9LaCEcqiy=(CJ^%~!F1m$ArAE;h)%AMRtUIEd&s8rF z^{XqZmQP5UbivKZV>;17AM}(=nEqYnYQ$qHuu6f7pHE^CiwkC#r0wOCWd^d#V( z>%*(YZScvSvmMKV5Yit~0{-!))nB#*jmSj)PthrePudA^Je7gVtCm-k#cGTs^6zhE z2Je!1Bsl20RbCE)IlbSKv_IJtJQcnW#iRaIKz~FneEeUeuqv47CuLL?M*4kc-YYn< zRn(7l0SuHS{Azw*Eb~WK`@3^PiEI@@>iBSE`e-E+Sv^f2jyso|V72Q}Vmto5P%c(W zWJcew`h|o^Au&bBWY^;n;TBW>Xbh!KIT4#3^Hqs@jTCnUlo_P4t4}*nQnVk3(rx>q zvE8Ka7tL^-q}|wqSeZ9pqvjwH)~!W%-;!r~WO8=fYgvrbXlp1!65y_5G^J zwi9L;Czmf~cE$-e5tg0x4Ai~Y@+ZSbpI9>^1q#`a$iLNolYU zmS&aKS}lCd8ZqWmOlojC!H*OlRFmfoL{1;F2SxvN=8iu7UY8N0(+gs)Z;%$*QF5YH zv_3Wq=pn5L9(d$Cv2eIbP{*`hMbDQ%!9>k}5pZ+0_JGG2T>ESkJ%7}^g~)aO!6WR$ zN>o}W4+;P4WY;$A$EP^xWAvBt{Dl<$izO@X%-eazX7emPNbew&6M0sP%xW(yZd`@Q zvQSV5D)1(`jU3r23W>vvN*w<@4e{ zvGg_jbSJGy_-vCZM)&g4gKMnQZy~8d8FaB&m>RIxmv13!g4d7$WIxedviZIz2X&k> z1wv*hIVVhLe|k@Mz7k)&>b@;!XWcQV>SFdtY=MXA&U?oaI^~hRB-We`(dh9_9pvMl!#ieu=_|vK0 zwJLm0HM*!%d!-HFmT5#L@#M>`8p`Bv?l}ApC}(`37mp&t9`cP$!DWWHzgJ{3NDr`A z^AIJN)dkBeu4RX%jWG?p3c5X|Wf~FwdoDRFFZK+%5$;3>-Yl%%`Kt@}wY+BSEi59t zBuI=x0lD~nH_)4{cwrh`4PAIYk&OSw80h{*pIr}K&F~N_2KCVpzH^6{SNJ`QmJ88> zE!z($01{e7xqCFsh?yA06GBUHpHyZXNznVxS0)4zj8jf?3xfxEbK*`r(T~U`B+{?@ z@xIEo{7W(+geM35erR>&|LE@IMvnZuKVc|O%dCdrapLJvI}LI|WwIYyrq-9D*m4BV zdvn!|EEJs~fZzz=-QExQS$GwH3a`BgWl{qRCXWx}yk$n9Q4h|??>biSrzjyl98jy3 zOC|S@hhEd(fJCU_dzBYalYe>8;-SD4zKI^1-IYGlVw_Mv*-U5j5!rMf(e5ZEFZr6T zB2tw|bXNzOR0~zhCqKI+-cLLK5p*qD;uySE_Lg$y6uh+ZGiV8vffu{R-^_egQilg{ z$S{Ze?rhe&#{J2_>}g!jnw4(%cH`-YvCFJ#;{}ZAXCHKyX(OynqeWjVJ2w6nnW-Ph zp5@QAOf3`oM+rPJcDG8i%Dh$A>VvcG<#5XGbhfWpSVB8xUKIQgHO_5xAf>CY3@7hzIp`?U|0}+=DNKDba{zU|U}CT0(Wjx$sjHY6s>82@!K9 zlP+K8$rsc_4?58hjxRb`DPD@=beKt)2rd3=A&PcC2nNwnvj+PZwKHT@2ulZ#!r+Fn zuN4UCK8vDkThv~d>I#cQ=dhlx0YM{_R9mLpbo z?f<7|XEXz!Ht^D~<;#gv*lKgl0{g}6)6p<4Ga@T_m&9OQuN#ft$$!-+T>YNfk=A?k zaS9mWO=|Evr^7U-jCZD#|Kcui_nm<%!LgF#qItN;+x132jANNEgy~ohe8A+o?u+Xk zK7zrKZ#&PRf>|c(NHn4oxYTPF7m@;Po$5p9YJSXbQ);y z)Q_VOA9lPyI5XxHriB8s9N@uCYpk7Ga44~{&OTc)P$ciQr8?3i`%_e|TuZJo&WI0U z%c^%D^-RlT14WTDJYm7xVM}|vE|sO`vnWCq%qaI;J!96|2N#@Cgmy1BuyEHC7k>#m&KlW8ke( z%<}+YzsG+vtzcc+;bUJ%j90g8(GS-JRKIU3Wu139rRSo*!tF|ggQ(xEukmLjUFwz) z6+i;CO9Je81sBD4wnv#5OG+gZ;B@<8g($e>4 zqyI|mou$`wX1sO~0wVSGIDd)y3t-?wdc=9V0C9fF}5_l_S6^VwS(`_jzu z<{>_%5bJCUzl9FaFP-)sID$%%EOfe#-(eFR$lYw##IyJ!r`$JLm0`nN3pf^IHfim6 z%084GkqJN-eDi3u;6n4Cbk8S-} znk(hmw6v4I>UIZD>tob|`)(p@LdS==<3DHnsuNBUSyJnZu};=Pn1D@X!PVWnxe=pe zsVZ1fv}-T7O(KKNFY~(vvWUPHHYW_Y!%uT^K7z1f{$GF3(JK~%c(#+SRMx^oQEe{2 zg0`w%)sblsW-@0YMZ^KuA=5od(P^cbvYrpE)hzoEqxqIF=dge~q$rH64ZRe>zyr~v zd}P6Of;>a)%70&rBUAp9KNWA+zgkOgNPX(8@lSy9ZzGtaY3rI~T4!Ys(UP2})M{-Z zJRw0wiAM_5u-RfQB^&&9Is^NkV$=Z7Tk@_lWPncLL%64z=r)dsJa4Vt;k7P83b6dE z6p}yqkB}Bq?&F;|B9Ptq)W3?bA}~0DC}@sp=9}FYYZIJR^FV$JRhpGY%#iT$Ou3Lu zp}Ce7oSCT)Z_~6Rch{o9W#IlJO$6rRzK*E2*ADdt8(H}}4*Ys7@@R_JrvQ^nQ{Us4 z;HEGNK79(E-|O+&rmkcn3~%jnnS!uP`@U=6!9f&D{hMB>7w1?tIrHHl0>E`7Jku}1 z`*jGk{z>z_?{)n5|HE(on#862Nb10pCXaYkUAXWy2q9y^_u4rUBfeIBG)lF%I4+H4 z{{*VHto1vehd(YXW6%2FR;oG@cUT1Qz5whV987vY*<^8HJF5LF! z-qZ;K5>W@t`VpJ+vG%sI^8=4+A*4{f2tpRb#pU;(@|j1zs;4^ya3jT+=1Ncc_B$;= zzNTi8FZVw`tq*i%O$mI7c;E#}KXWQ+?lKr>s_|bDlUC;go(Fx=PVvBD>*=c4UAKq+ z9ROd$!Qgh=lf#?ilhADy^sNzewcO!lmVIsj3^1-#TI(mBHq4Bz)4dZM1)N zTxVrB84Zi+TNVpgx+Ya{ngzl=!QtAI2glN#URg5(?1@z5$-am+A@e^)3IF^6ku|pS zGl)HdYrh!GR%ybmH+l_Fuq9L`aH?2&Kwtks(jyd``%0xD+}ZsyCG~Mi6oOxQBi1C; zr&4^N_pI)58U>wYV|GUBC;ehRhSUI9+CnlD}LmwqR+j|cid~JMa=cwO4 zPN<$iUtqOH#$}dnfT*mJ4B=F$V}NP0#D~k2LA8GB>%4OncVgG2#w`9~j3=`5G4hT` z_V5l?Nk6+iX`FFbtqux`Wjd<8n{$~>Cy2LJyfL@a4!erGP2qZx!~pp?hTUWk)^2$a zl)S>{h)!!ZiLr%Uo;2zn1i>AEeW+|9``yIfaY?^Bca(@;ffvo~C;8@e)Y==nkCFUZ zlr3t&Tnvw=?qcH(ZY{Gf=`xeI#|ct+OJE*O$pVyaDA}Mie6c8RF+Q(7N2bPIa7^Q- zO$=nGQfFpYHGTl@)8CR2cVwDF^VH&o*;AIPhal)fi)FM0#za7N?mv80k`bS$(`1$YYH`=O2d|}-O&h)uI|Sc*5asY4e}9#Uj+;rz9Dkx@$cFW z{HnR5TFsI%>9{vuTi79++p5e6i<)7jcvzziDYlwVc`-h(u_8-{pI63$-VDj4oRoDN zY%ArYhls+St5qZ<{Gtl0(Ck((?+X6~x(Q{lx@$}6eVvW}i|)khX<`}ZCJUcN*IfP+ zYEsJDK5+2qD;L;d5hIUV4(z`Mj{c2g)x3$7%;s^?vVV2fSe)85RQ#{bKEaQ7z9%vC zJ(R_UzaLCe2U3jD3_FI5s*)+bzOHNI{wv*&Xd)kzB~&A1Zze>|p;ZU{2fs zOy_~HoFh(TrivZ>#&x`91!7Q&APeP=+R(hU2;rPo-|df63t{JTLlQ*^+?j4QXEgb~ zsFYH%=KXJCX5vb|p{Rj*hT(UW?(Vc+W5@Cv7~9fLoFonrmg;#}XEeZFnoeMrYX+3( zsmH^1SBK?|31D!%p0hE(Z<2lrS{GNdy`-ci$86IP_zCz;eX}(35og;D9IQ$HvA!k2 z=1MPjYea1?|CirZXMKn%TJJeSUy^9e8Zfk8;{c+W8M@?vK9h%wrx!(F%9Z$n?;93H z{K0AY7N?nYk=u}@)04dMkq zKJl>A0+aqZDAJKBta=P>L@+>YT%u(!T4}sv!Gp|}Pd+YJ`numXY`?aav^0{G|Iv6H z4TSp`w(gie%$=Y+@Hox%Xe7u5R-4++;GaK7F;=^jerzV+ZqlvRHD1hlXV~oMoud3d zRDF9m)BPX5(vyyKjvQ7|zNM0+oMun;lytDC6y>yPN|NK851UeSkR_Fzwn|wNOJa^2 zIgA`u4U1tIW`^0x&U=3EuHWyU-*x$C#&vC<&-?Q_+^_p}-vv~|x7qIAezC~PFgg@I z78;hf$^(C|5y`v2ago=n#3v-hSGn|>pW+&Zf>rE^+bcLa+{5fd8VRV`Q>XI&(_;Ot zF?lf$e=L5$slqt|Ts3V$Cr=%ZZzb0V&?R9-)*nyFM)mmn_fyWpjk_@=F+p>W_crrQ z&F)do_!GRZK&G6RNX%j7^Ru^Jtq7tOcv|L@Dw(i474Ps{!3)E;#6a^Bk}rng`bjjaL2@W4VC)ML%za`DQ6FJxOZK7^^)=%e7qsDF+FE z^?+Esm94*Zi`pagxYpJNeZoF0 zS!CEG_w#i0>OjE8cxQqh{;N3no9LE@&TK!d0#T_q6E*@HKs7MzArC$ccldsO6qvuh zc@u~>>-Rd%4d}^al{$GQN6HOT-iC+a!NU)J#yTiRxi8?4&KzqceOJORwh!AQ(Fe6jDpYkzPz04)_MUD3d?&Bvp)Wef_pjaBV?sD zjD^~twJf%fhVUt;Szmgm(EuuL^rKw)Ir8MDrWdpPcFOw^%T03o)W@w^niu|oVW&j`jWS6%9${5!u;4IO+ru6wnrs-n78%haxF z&Q2RgZ~~ppk_K7JTl5g7d~*x-x5Zd%*Fda2g$$)xzIrEV9=kx5y--49KKt~0m%jNRL!P70Eq~n6chJXgYDsP|Vdpe6 zP3brOXu5gw>!>8}EM*`xhk^ij%C*qnaS5`xf5G}k^U&Uqf{^2A&@so;i{W zl=%N1t-98ueh+7;_|tQ=E{uun3U`xkD0iHCu%OJgf$Av0rP_{*$2Axkr^Gh*IF6(e@F)hPW-LBZ9+t3e!c+ zN?N=hkKtZBNjhNaO2`ig##2x|>u=Bwwf8Tz<1(D`M9g31?^0Y3qn$xXWyPWhi9Oqr znlLmh^&fPY+kw_^eL<3baEMsd;>8Ib)qH@#rWGr$gJcg&I}F*d52Pn5QvwtIOhl>Y z$aTny1i57%>@gQ42pC;NAik2xYZPpfTv7rn55*5F!RgrUuP#XwDQUqV$G(V*QTk0_ zk4+{kB4POfUMe^_*^qCB`cLcZW&@{wN2Nf1qi$nDR~_34lzWvY7ir3lflHDU7f z|Fkq8ReX|Q)z4B-aCPl;RO;PLvceH02PKPC#lXB7*={MHvnaiEbft=p$lx|Tv@+at z9!)|#u7w=|9ZP_*=g{ZK<+|PPPWF#y{1E&IqdIy7y+`-e+<#X@Rwqdh8>m5BPW1f? zeHlJxm=*F8amEjLR`IBXyFcNrfAsrc20g%eQUmvz8oChD;=Z%Y(Tp5v? zF+?pPW6+~ZX*uu8w?Z0_`nX(C47z#?BK4L;u$2s4SXVWnr1uFq4M0 zEQLG@Is-Ajv8L}mSqY<@mcqx;(wN5!UtEHG-u84qf zN$IwdXAUlaF0;h*y5q_h6E8Nxi&euf53hZ~NF2d(slDBq7A!Z=KmN(o<|;L>N~ z@bDfZ^Ca#HRE^P_Xs3CviS=@>?I8?_)^}sPB~ApzjUw*A1xEM#M4GQG1f73S1Bp4rYrpqAimkQK5FGxuot>D6_gglEuplayE1-R595H7tZ4Jw41yAF)aXgREs zaBv4)!y0HuTH?}k-@PXfIs>KxRL2Mh46X&#il|LBXEsfr^v+vn&BGGpQ}7K7_qKHp zV`yYuG@1Nj{#D&Y&yEYVA4=+drA~Og`-NGDog)KzoG3mSKi{+$nZA(|B9QZe^VM1Rx=CFCB0p8HVND_sfj7NM_+E2n|J4Y7!$=88Bvwz*u_hKdnywwfYlF z{P4c<>COx+!gaT>GS+CVcj9APv%|hsuvg$YUMPLrlcp8Ah}UhedmvHwfA@MXMwW;f zbG*sx?$2DlJ49lqDHo+td%KlulmZ#hKTfpv9$J{tSR!19hrx#7>*|b)I*j=dh)CmN zR53vnsxdSYXL$Tslut(f|4-ng`J7~yfl!JUNxH6eg>OhQoPg0(5^-zd?$$Rk#r1F& zN34R;c-}U%nts%jRVLFMfHD~S?!j`d8&%xc~QBG=y zLXa4!80cFlk##zUWRG6Z>Rw4QLPiln+cAZY1NT~m!q!d$i$)d9a z{~BeEhSH9^vvS{XDwvF!R>JhU-7~Oq+5}TvdSh4=-BAmEZKA1?vWFFeyQWxpcwrzW zU;=#k2Gc*1H1p2wW_haWZU-b3wg+AHsrX5kv=+=DxLDe7&BhGF`xoXARcSxU+3|F(91Cwyhc8=#{<~+FAA0@>)s-rcDiQ@6=cN@0Lmulg^N%leJZu^k5TkVf3b5F*VQ3IzQarbF%GHE z!C{WL_l4Rvv?j*FaJxU1+0Vb0sLE-tVGPly!0L&Im(r3YY|yfEDC5=_Y5z+s!i;!n zHd%+IUcd(u`&wICzT?@vSsosvAyuFlS+{-<$`_~v_N>|>x32Hee_Fboad@KdZynWS zHCIw(NZ~PysG#ls>Qm1|Q-0YH^n-T(;`&iG2RU(s_SMAAQ5Pvdvqs1j6Ba73#TvuU zfmtnwIb3F172t$917IW#rKqhqY*T>l=4vWI2O1*=H|s_I*>##4!}IUIzNzQA9R`>r6cN zj~$GHXA)HHP+xDa^e3I+P)7gF9i3B2Xp=`;{-(#~Yw9sXp6o(A*vr=}dhN1;0{+7c zP3bPSsSE7I?1?Dm)slQ=T!kjP*vWT-#~^TcOyQ@7#`wsPYz+7~4DmGl)TW`h`sj^!DeZLS!BX7?nvDN?6hTbL4a|E`Zm=6#Ar?t6*mCDmjT^PAmt>Ix%FpuM(eK zrY@+iBoeQ|nizC>#MGzAMQS#-LG-8QNx|$EzOq^U>q=hOo%Cb|q0~O_j!Kd1@Kfa) zJB4Dsp4A+oZR|gPuc+4gNxQi}rb=8@v6hNxGEwPb9OFg5DuNK~yW?>MgMeyADhco!DnC5zq)J-{f|2?BCpjb%govjoDs2w>w&~o_{a%>>Qp{pZ z$F@Xmisq5Pco454`9cF5OC;v0pHeAjv}tTjY{{zx_&D*v$TpyZBjM#mbfbPuJ`cDM zyx=}d=P#?R?_+|-;ZS^AFLLF}3y`BuxO`}ms>ZFAv_;)_gx9SnGXGV#nB97EvpNbx zgFcVospG>LzK1O+$YcPI@LMA31&?#oEZ>E4`9Y*5k~zl{R!eTl(l@mo*r`K=sWA*O zp|EznlVeYq;tmaQj0MgB!k|O2;`&u3n`*$Fc8JvE$LCx^@2uM^8bsTgL%?oYE%F}G zctThX!sqgy)cpUnzVX#@_<*iG>n#<()mE8uu^o`g@>pN8=d|G$a6jq##xVQ&$03g) zwet6N3Ut0b5XiliQY1LEydc4qOi5Vas3a;Bd^(0N7gFXSvTa?bm8`hKkzMB<+%p3c zXb@7Y$ zGY_m1iY$&Ca>iSR4}Wp_43c7& z7XicVcXq0~;&B)?=6ANuWiJlwfRj-8d5QcN=0TWl))6_I<5WF!0>#IpU)(_nRxsn| z@(NvD)&bKjV{{!`OgxHR-L04CYR5UqI?=n(8_1$fs@IDBG-lqAJU!_$>Ny4g+lD`q z9xh&PVED`qY6Y0pI`ix@^Bnmj45alxt^Ju1_rwmV?2h<&@$9b;q;x4}(wVgqr#fQI2+ z?NOK3%O2D|yT0|kM3hMn27W!<(^l4lOR`GEJy zW2c`v1ZydgOTyac;zAu5{~R#*S%2Cg_A(h4k7+WZ41E1~VOl{-OpJ#dy&U+YTL0{G z>Y30)XSzt6z$h*2>vxLGWcA(=0}OB|QDy2{{eref8!YzwE|bzsRdMOxTLbPE(Oy$c zUa8^Q6o{wL+GwwBB>5q$bb%oj-xSaHYJQ#e*}|1BV3G%=#g>M#OQGFJ=tD@VEg%R- zZ-T8cz4XJT`G|-nn) z1*+nvmls!bWZ$glTcC9Kq<@c@ep;zOLm1*(by!it-!9t{T+R56kW^n(E9P6BP7C=! z+pC8p_G|NMslfDh+}%|zjyMg7X7F7_Rbt&L_tD4g(dLj z($i)B&}v93T*MeC>?P#5heqRv!5Aw)R;78j);IQpvtz2P-SwJDo&rGc{i@>Mgwzm^ zx7hyKGFxx(t^+-Lq(RIU7^U~pxj8d!CvR{e9FVSk^A`B&fwa95 zT;L#DWxH$ISuz6Yc+(PP@B27v_St^NP5=_aZ|hd6!!C^xT;W5kIR-^i9bx*MoNdTp8!+o7*YW z_8ECbQAF2YD$CI6SC1)sV%jAO3lO{=5#Ms^h51dDBns-ezZi;~tB+(JS4XP4k9t%` z()bRj1|VcF8u8fm;aJotdqA$gb^ULxWsqatwh}(#A42jgr1Z+#AG$8xC_MbOe@;o* z$h((^Mcd#XM#Ox&`5hpQ9j8AKTJ&?s=6V6?g;Y|8`qq>0fI__WshJwaN~RL>qYH=j z+;h0$vQ%gE&JQDPo&v>icKJcbXozW`t-Iov$ts$HHBmP58NPqr{a;fo5Qs4a5ON#j zNSe^L)xv)DzLm}^%HFIManm%W26k);edFBGk0pA8JSl&Y-K)zV^S9$1GKSy^=!GGTP{kTuSlxddImDQ z&dxY2kDVszMu}}IcGllC-Fni?-%a0KqEna{OI&HV>P8)Yv-A5BS#dOUH^d`CQmOHb zOHfCMZ2J>-1?qj@XbO{bVa2di6ZLK{jP7Oi&vGFRj_FWI9-kMSeOoz`NmYFIQm_f6 zUmv|>I7amFQP?m*sTo|^or@5l*rV}KJ6jg3aUoQRy<~pkjp5o;-(^}4YUizh@^ctI z_(gZ1$+{<5AbG>=cL{ZdXE`8S_?fIA)eL}^YMhm zWp8DH3lH}Tio^{%pn3q}0MiPO^4N?sjSohF{+?u#bldZ649 z_5?vaNjUrjk`{AnT{LSFKUQIDY&yF7(>Lf3i-Xz9alMJJ=&c~U0!HwN=Wy~CL{&vOp9b4N9^2CkMvev{hoV`g{&a|QLuhGX*;^F+|=6K(1b~+r@68?#5 zoyUg@Nn-=bF87t%e?>=fLV7i+8J6EVmbAxTh4?cDG!H+$)NUD}m-!bQy^Q_1Cm=3^PabkeSTMJ3pJ&yvI<7OjFrL%#Fzl6|L1Ovu zJ!>^Hk&x;oYk!9&KLeH_gB}z3*4&PbFZqH0+_l^BpO$+V4RdByZUVZZT;RNr=XD3Q z%H!tfNp`0R_47z3PE(*AlwioVd?dA>p^vc>!i~nUXOQX6=Fqrshdd3hF~KzF%F8W< zJNR;Ry&{o1Ugyzbka&G&{trQ`6suWT-4XL_@?d?Ww-)gBG*3@1#puDit6U@i0i9+> z!F7PhpUS}>7fzG}1p7tZ2wiTlWL%=sc}<0MmwBGpt3o<1XfCNS?P|j6lyiirnPGtL zV!Qxn1^?t)815ILA_QYG*bBJ1As!~foMcUySeteejw7Qwdd(rctQH2W$v0w(r1DI$DR~^4lY;AG>hP;dd_7bU+dL>Y#GMA~+ zAkLsP|HB;(cN?3oU2J{xZi>MCD$is1LNXv_tKpQGfmjcLZrTFn#AYKTymI)XH zD1|x@L^(`CXh>%wXSwi;LnP)tYc;(pd8V84ngyvC@# z)q(4X&O7^Tr-iZ33XDQ6jJt3+Ix6UtcV*yvI=n=x>@M5!U^nh)ShtQ$0{C|;>O;b| zoVqVupMC z;p``@MwzJf&*l>U)QcTwp>82jUw;}&${sd7gZoz2hA2eB-#0_DvOS-Q==5WUa4Um!d8I8&^L^nT6HB(M3XF(zH$W%ldukr5j%fhq6gUWB>uRc6$~Pn zt=YLJEs#h}_}`ZE zwN_FYBvk}fr0SuYZ&KxamFUbRO)znGRv}7f;q|*tmW?YkNf^9vcjEu0(GdUNPT-C0 z+FGums0_NX)t>;VU>x`BH&~5BSBrssllzju+8dy~aJK{2+6j!yh5u~Wdj0G@JUt0? z1NisI^Mu{u70fTE3F7qc8|2sCl0!t838B;AWA~2W0MKi8SWgHfY%D>4Dt0I7w&Z`6 zh16wGnW=&eW(9)ZlIs_zp|A*NSyZc?>Q-~yFMMt^h7b9HQIKEp zBFGVy(oO^hrB}zUZc)p|)vTol3Sb=qHY*1qJ9#7f+rty^+nKU?J)<<#-~w@zhVGrv z?HaxW?eFMsQg2Izq?W!XzYzrwjzqw)C8$p|c|qsry15P~Sow;msmP}N#Wv_%A2U2p zZqjH{$eE1tIFN`Y2sBk3oJ~pT#c!*sL^?a2>Z=r*L|*4!%ieGUA@u{**r|%6h`(0( zx^KhGWwYCI^do1)2XGB_C5?Lw5lf3BcLc(kc?FLHPm$1p2%3uKa{1yl!(2WI1{%~t zpa6bLr|zFc)PEElEIimg^S3bYUQmFkcWN4lTaL*+q1LkKshFi@#DtTJb{m>^a&S)f z{LQD9HA*JSF1d8Se=$_!*++_>3E30*Kl-$S=`RWz81_#LD?U*VxiO5d)5JKk6&^OR zrOwjJ^ND7Sw%zutjG{Q1TrP)^)7%;QrQm!eQuDnIB80Qd_RFN{p`Qc8fmh0Qw_t%3K@rWViBf?Q4Z}l24LkS} za~v>o3n}^-rW)1#Np*$Vqs_72@x85I^UEKw<_%0G)R0p%gcBPwC*+k9+X>J2LGcoQ zsN*xMVc|))bU#R{EDkwPe&b2*9MHozX%a1HB7eCAWPV3t-f-|&vB4HD1+29 z?RXmf4v1wfar=p9gL7ufPtVckt)Fk0d6ySdJ}X5CZ3DheW@_T%Los@#P(2QB+0O~> zP`7dz!8aceODcF#IlBiP<}NiD!?SMhUj|LZyyngN1YwiUetYt?4mY{2v%jIC!IYb+ zwlJ8C;5yv=Dj@|jHAbNwiR4@+MP8cPeITG5gTjD->IAy!Etq~Ge-$zT)8V8E0X%zK zV)5qDM$3v!y>ui;u^0$MPfeu=0d>q|`_m4gwu7U5khCZJ7^`^4;@_l28y$H86`1(`3DuH5+{XVIHr`NQX@f zvgf-;Vin1m-Ynj}b(oqfNMWorC|7um|0{bLUG(y)gYr z{SZZYyQEwHsr8I~bjx+8ZQqXKs`4FfYeEp;CqK7aS^tqAt3eQ1(Hj4>n`Dz`CtM7? zUr+miM!;4_8(1DPUULV`v&{AsCE@ZH@j;A1Nr<=T3EGbSlTSP}vFw$!(Hj^VUB{h>o#?Bm&2x0_M`H2 z!%)UfyKS$o*h=}hekh!Tw(vjq(!X_5*_FwFmbHoP_;b#VLeimb-=mbR zb}9#4lR}U_MkfAsD$hspb0FIy4ocJfTa|#?>KzhR4 zc%GDEsx|SEtuf%RGwMz7Rv|C9i3EcjQ)t+fecz*-zgFLWvkm*{A3QO*8i-ZWZj&aW z<_4UzR#@ZO#&XtmeI?T9g&6#;SN-Mt`p)O-aWxp4O@Cp^AU|#Ot8r>ovMkiOOovq% zcpkd+hEKZz71Ed%pHv$w(co!imC5CG@R2k;vCxWPmeGx(nUsxU?jO$T z%qZBaSLTe9Z~i4lIt_%vnzJIG|bx!+@Kc5B(OPEf1;aEuJ|VB%1t^(I$I;u zgwM5NIGk6=;kf*oixL>dU2#@x(d?wsV$QrAnD?LtWa45{Y)n6vD zI(|1^;a|o{xA<`o+g~{;zdH2ZNp2@vtpCL+d7g%ry(Jl3kI*_Lvw|X9Xj}5x*Q2z;j5UfW!@v=6z<`yxKF6pz6Hx$1nlw8r!D6@Dp?0ITSy& z*lMRAY68^)_!L95H+-B$Zv?IX-;acBe+|(#b7o;AtaVW<<`|Xjt83j{my@b$R`(&I zo@ihxkEcS1O>VrvOhSYVQ2U#YqYo1A5>tmOpQev4cT8Lgm2pV*0iLo`5q@1?n=qd) zD=%($O(oBD6ILa3#!{abU9I*jgm63l$riOhqPKV7D&Qp9oitLEtf z)7_uINcjQ%V-Rc39h5<15cU+H=;*Pc|I^YIA*@APSdFNBd=0>u;X^oR_um{HBFD!V zfAu{X=tYxIYh|18@t7v51coA z6|FSTmo+lmQv2lPJ15kuF)Jgs-Bi6El3p4(X_Xg!rx{GG))ETTXb$s@xXNiA@jeD* zX`*XAW+lYD>&?5UDe}2=xMiAH6=Mv1hR|>C?A@ z7_<5-HEaUbeg}u?jZdD2zlMCT8&C#4K3O8i?6Vi;DD3rfVsgO-WC$i7yCvrM5m-RH zBKD8nJ^a<>cmDi54n#-;k_fJ^RDyh3MSsg0-6_)s8efm-Cht)NRh%s#L-Fs`L}KQmUss)m_jm zvi_XC;F$eql4d_L9v-)z(Om)G>^-s2HiBWeu_Pfhpv*s76>wVia0eHR^prRg^M@N? zDOuf8_2q@XI4##UE(|@#8mPzXfTN|CK|-o zK8)FGhJUIsN`iS`+_Vm3hz64su$*}#{bKT)dE3&OS}>lOjE zk+n+3$&*S{A!_WIW|gD;G9S(c(!41)1eU+n>A#XOIK z6%lXgA^sJ8`88<#WUO_`c}z2-Bc%CBVU)6qC0EB32D3vTjM7`u=Kz~OBalZpk)KQM z1y4BJiaAUsiy$e1zMTQ#7@9jrS$`-a%h6;Rm>s{k6?=@Skwe%gD_a=1Ub9$tR06Pt zKjAj}hNDhM?kDpE)}fgDPPKm~cTY~QOWt0*J}c7^B%6?ib@mr!vj*8h(CC{RE!a{E zozX9@S%mC;aNSIv;wYK37elfLr51J4M`;0|*6WRDpXkYN$V+v%1(YL^?}D zv$E_Ij9xTkzU$M=o5I}*8u%r}0%Vj*AO}uhmX$Q0KLPGh$4N>bCJ*f`og|md*Y|#7 zexul%XHEEnyQhg4q%k`DQ6HXNkh&yP^eDa4*O2&5zVVhFd^_w0neRsH+fNR~{)0yx zOJ_YL;vy-!OR6Ft9!Lt?lc+$G3$*ne#l$a?)0g+%i2(kmGK`}5VTg8nEK1pCNXnLs z#Hr(T<8-OC#v5p=XAbMjFw-F}p;qi5$oB8MW$FJGLwHGiukr7$2}#}O_m7&H7DvTW zja|{NI61R>5+Gq_4=WD~6&j}@YhZ!|I2-(L|7kf~Ih~*zwkLy~XN1bjm~*vHk5{JL zpTF(&Z9zuUSu1zc&7QJm;7bF$I&F!1DMMV)HtW#Nx(-rO1U7L4e<l4niKR^KUH8G?UK4LCufKpv#uIullRo zZ|xP614oSQSBXv2PukMHPC-__ey~+}*msezb$Ki1F(_;!8&pi#*bKS8s7FJ2S10Yq zzwuKYPAiyZbYLu@_0BOK&2ed`b^BO2@;r)v%MPrJ$-HIShHM26?;max zgQ+Ijb~Z9xSpEd+1NRqWf`ETntWv{HcL)cs+hgjyK!DH@Yd*yeO-u|}JmXWH@?mYX zW6WQ5v`aaY*HDvJ|2A;UjxiZ3>xS)nOMY52|Lb7*sx=Pj1;oE$|AzgDsE1#iHMX-RusATpnU1C<((<$Z!A(3q6vkL= z&C)`(vB6rCYgW^uWk?e#)g9iHrk#9e#{Q9Fl`LvthuJ4Txnq(w*3~tPPIu&FGH^W+ z_Yu}>ITM4{JrV`F{)DZu1xXp{UNlow+R=5ZCg4r;7aV*nZhDp=nZ)8lzRGShq}ge4 z9GGHLEQbl^6X8sG?2Uh`O-nCvelM^II@R5QeKtX6_Kx9&VtpWA%*>1COiI``lhILB zc-D+m&+_+V<|gTqD=oiu>o88}su@E1Mead?u5>C_by(RQJDL~bAKlLv4#7YyNv}Py zxA_pLEu9a74eeZ&M8T=R*ihy@;dd1El@+7J$2C5L>^B{ccaf<94(7GAGoz1 z`WHT$o9oa8yO_@w75=>1Q$iUxy{(H{Sm(riw$x^&mudP^hfsr(JrskKQepw4x7bGR zpa?H4b)@c%QZ9Yapi_zDOqeyQkv8 z)@L#IYP5j{uPnX43@<+R&M+^H1G6-+QF7Q`wB#I;YV#xJn0X^&eN4z@S-jwAQ=^kz zZI2@?cFDkPUyB}b;+~jHc-5wY8GPWD%G|Jcpu>5#7q3%-u`=2F!-jU>=`h35A$Cp3 z7vIy1zYF%?1qt|a?hI+(52c-Ca4K)zNr~wcr9X8niZB96BQFw^=I?giSXx%d929Ol zL~yIpbX1Rr{o>5lVdarq#|4PQ{43X=G_ggic5X|&KJiMmD$+eH>l?%MCG$j1Tw%h# zmFwY4r>+K$GO-Kk+K|NPj+ueP5ShcyT-eVq-)%Jv+nxK*kGb8+OvZ)74QOP{sj0~9 zzP~sxk*%gg&D|vQMSQbd?0b zIus(Y?ZZ#VAPrtZ$LV0Ep@Gm(8~EpQp{)+OY>K0VMyM1Pz(67fOvSOU*UI#8w!mS@ zRu#q@rntr2cV+N?24b?1BE?ta!OURw!CI0$aUgHWKmv|u=0K3>k85C(HzL&*45%Y&@!*hw2anRvi?g6a!ZGW-i=+XJG4)ASnF zvWmcddqtO*byH&?2BggUp!uQ}q;}kL8O}-kBxaFurzMWhSf{HpGH+E4!-aMd?hH(~ z;y2es|7GmCGj4hDYyqF?2%rIIAoD9G)%xuA6Q6-#2xtN5Oi*cyH{T_%bwTa;{EX$G zyCT*fs;A9kVSPhaC(K=KzOcVXT@c0a8<0!oH|sCYU5UZ0e^eCoOoB+1IC?a~Rt4`H zSica>qRn+8aaPnK2;mobMuwcf`YzBt@O&3@7r5E0*dG=~=HVp?_A*C&)%IUDj^i9- zJK7R}EwS&~*}~#f_OgHwe^E7JzWiM^bv%I(vt^@OfhXFeSIV z)U^4=#>32LI-*NHJC3Hl9GBfT1`CionL-z@$+;kI+!?FgI^KGgcYffTh}Gs(%S(q@ z?I+3CaCK;Bp{m~EN&5VW6`X4RZxK~4<-5ba_NKQ4=ivyzh>tDg34}#<@DO(z`o-S& zJGh34U7E-InaI7NMZz-4R2Y`as_+Qtr977KR8t52~UE)GVMsCG|x7E3RsMRQfa0w>UlaM5Q7oC}f0x8g)#FQVqBA{_=it;L`0 z82&QMt1YC>k3M=t(*XA>gCP=^x+^BK5rJ{w6&3hJ2dL`gaM}xf%ZD#35_YhcwqRF@MtRog9mPRt?2+s(${2jeReQ|{dMf7tr<>)d82U5 zinh_*9}w`FxBOboog?lbc4!s@j+wSWkS_nZ3AF7GoC@BoUR^#n^w0?iG>EBeFDvGq z{C*WxhPi+CL6&*A+FHHe!Zj`*FA*)O)T8Sr9v|GL@jAKS1zWVOCZ2XJ1$ zAI@lvwbJ$b7B&SU7%nUat=fFtUsPp0XwM|*!eOQHxDnkrKZW~q z`zgm~NhTP@&;zO|p6ly6kYl;?0`;@Ds2e_Ul=nZcm0ERiWP!%}^>5Y%mBmmq|q7L&c;~na1dlf<53Wjs*u~bq;%=69T;azxP9F{=w zB-b?fE?<%qubuHbIei)U$f@oTlJc720f$6o;>gtboN30#K!GQ$YT*NamNn_}G|tZt zUB$znLEF4Bp8jmqoJb{1S;_QT>&#;A+O{=qYoFa|#|DZ&JP-u#y}8RSP5YC*tJ;x;H;hPwlI9Th4mQT#i zP_HX0iW`p1BAz1KEK6N{L4}pM1(Bj`k5m>wsDj%+lV%&VB*uxfN)(-05@6P8PfEz3 zV~HphamwPEecq|VAsi(K(uvgWxg+m&iF{q$k!U5BLMh#W%awnOLSSxnvy(l)Y=&yF z&DxB4V|#Vrrl6a1qtyz3c_IeU5Gvi$VW*@uX#NRPq)A7xajjLoKIv=A+SN;;R5}42 z`+m#0mlTfXN_1BVQse2T!QA1W(ex<6&>JIS5r`pzme7ph4?+DVgL)z=kzv9Ztv@^D z{PmR)zD?=xC@J_&1lCXuJj3%yhL|HMOe~Kc#!RRv3VA7VHeecNsi}wDVoxCDVTucX z#=s5SUvgJ;2n|0EVU%1>XQL8FWno|wsM{&u0_*jD5EGZ@ud-v4fGo*mZk)q*$T2`f>F>y6`&bmQ0dEdXQKJK&k*bgPSJQxQWypkltfaCajk!4W7Ox(IF)J$5O$u}sSfn6B^j|L+lyzf+1YaQ!nMRk z3tRDW4Y@h%PaLGQWuMy6S9$vV3u4F)b!`5{ z31JYbdMOP9${i4&T+b`dVRiQA#j){3eKrr4 zx^O9)gdTpWqHV9dek$u5E_XVMO`oI{UllBaMAFby5f`XZ7Lu+CHmeU}G!ziMMSO&5 zz_8=L?V6`Cre%a9(QFOG`9PUtFtFo)pS{v zqjG2R!mnn#Wu1oolQjrhdX3J{vtv88cRZw-=_b>mWqkUh@43z01(TUu{ppbGk#u`- zHTK9i)cmJ4H}7lu)T$Mx&7gR%r8{1$_TsO*V_rjF+65Iu}b*@xd|(5tVKJU4mpFLgkP02tP;ltb())uleLq7Khtc=no=A=&j&pYG*hsgOH%#{1(%o6(1qoj0P@9IeG& z8mBu|tvcSB2&*C4)OT8YcUYcYaHosL$6`BNUq>m`nRkp2)q;Gm5x)vHEP^xY!BoWy z<3rn78P!)=xe%Wqt`){9An-0Wcg)T!Z8K-*5ye&eFoimBv2tuj;}fZmol%DJTR3c! zZ*#bg8Kc`RhHPdyk!k*6ymC3ORZAPtu0PvQZ{cj*-IQZU#Ylu$o1ttL@O--sQwAl9 zF9^oj^cDRKb5%3ZD^SRjGEu{kA&~DaB2@l=S_yfJy6r<3Nyq(-ExIFN4>(dhcaJN& zE~;JbJn=LXYQf1zwkDMmU#W1`=A+$kC{U3siJg@`^7FqsdGdluye`xp(ws46F%xQJ zezqT)P>G0!cgj0m65(&28M{ zW0gnE!1u(9c~rMPGBRY{nXYOu+G$H!2OrhMd|-HGV->?zInrJ8b0%A$=qN-uk0Uqn z7M;put_8yF%1Eyuy@H*BnWThnrM({Bt{XEzHBQkppSo2p>$~igoi5c}Y8cT1Sv}o? z!vNj_{~yzEwqEI?GQsjx0i|L}rUSR&`XJuQYx z9M731(Ei5)l2k&>KD{c*0`*im2g5g<6X6H%s2#*c zVrUrm5$I3!e!ok*e`ryf|8Jx@!;V&nMuejM4;8IA_(GZp4W<}sObF#k_fPfufV)mp zs4R8V-=Q&% z4~ogKo>RgsBn5_dU87X;d--xFRsa2 zy7}SpV4>n#k+)Cdwx=2SLJ2qxRmRl|Gl5+%k?uD8YGP}_EQ2u?>A2D9^p0qSTB@mZ zT&n!mwVQuwB{J!R-W(LFd8I1%{z}$;e)`F~j0PaQGQOZgf{nH$n*BIt+0`q+#Ud9LX{$%{5=a&h&X+CfO0^NeIfvsrOa*=DT{n+I+U3f@jm) zghSe+zrJ_Wtj}z8y3D1z9@$YQ8Nt_f#kHh1om_GgP5W|??SKUVg-AEabDw*@^+`tM zd>xXEft``?(#IJEM?Nr@9i6zqsdP|AKtIPws5{A+1I=UGpc`ifNI`WHO0>+RRBv_a z1&MrEN$DE05!wbqmN1#O2R|a7TDMwLwUeo(Cl_d@?@097y(x#@p%LCl(==T?hf(P+ zy?m1F3)8Kpy)jQG6S&>BP`BpW%=P`E0>+XM9=8)u-=h0@J;McxB6xWSBdq90Tz8We>U$p5N;A7pvYqm+sJB;v5XSg6vWZ?^JA4{`>`~=` z4k;p$vO^7Xt)DFWc*H3DfK{m4x~Gg!y&a)5C|+FmO(?&>UoE190QE0#Q1;(45ARPRVcsJ*Dw z7E}}~UVfjGFB;~TXSS(97bdA?97nzX9lO6q%;Q3Trsxc5iAFKAlt~(a8^Pd8yRi<)I)_TCIhh2IihTYS2y}U%_ zXk9A`5zyxtJ)^`&?~iB%wW=C<)GNj#O0C^x`9`NRL+!>6_^pXDpb=bM|28-0 z@~_BXYaf1)&vzv($i-sE>A_>E1!pZoh#tQ*K4=d)#A{G>PPw}_wjpS4sg5fO|3=d4 z>}uT_2s7I9zr2c`N8n1nyicw_sn6>{(lZh3c#w5|TR-jXhVxCQU5sgAGL8LOU!(l0jq0#3Gyx}%j7F)wSr^?ZC)yS|EVwJFshNKvizv+df4d9wTZ_QhibaZnL%r$)4kD zFpajhCh<#}fSwM`d54a&1dxhxint)m+hg=aVY)}%;=DUxOBv&kaE=AFo6R1RtNK)kd ziG8H!PjnC+3>*l2vrqi_c40FuNu;B*}MGgDp*sx;dN>1peyaQVg(&{o_Ba z7oKmf{U2%yP2!n=3v#ArvB=cG26*d-536U>xl3>|16*7Wk(=$mJ~EL{pK^?%?S4`! zm}?;{JlSry9{@2` z9KC=1v`eH%)eIC<= zg4G8*%(;KbW|ajTyY>skp4X*YvH$nBbOT3O2qRODCGuo3Jr%)K5w#zP?R=ahbf#fR zl^=y?3RtS~7tWa?We42c?h}lvDNyukf?vGv#Gp;h zBRn}6JUi#Onw6#Avo>>5w37zTMZ;p$|8gdVcd)<43tJ+Qy1*^|al%rO|LaRJ0~{%M zg>3TFE6&b8BE4h!T_C^gVMiZ)0QHauy}t=)dC6yi<+uSN7gDd#V0zJnifbwEs(p6< zLx|7gK%g?U!Y@8$1bXBEtO3|azP!|Tm1cdrBS?^7HHW5rE!T7fwOfG>vhuLzXJ8O0 zqPU2wufDB8W{IdVY6oKp2a@r=>{k0uY^4?lN91I-*wc7{r)+P&a1ohbp2JVW6`=q3 zP?N2ssxEs0RvB!9*|uewcS3pXG?yqKmE0@0Y}k)kXoG(f(}mg=BvX)zeKT`pAJ!2r zg=!k8M44RHrz3rC0j0SJiQK(I+X^R-?+RA)ROOLT3MGfJ_}#R*F0{{9vE6N}&eB!N zWU?M{Uqp^RF|cM-DmI!<8jTVJv)brWy9<0s^L4R}&` z_JE&Y!BI6Eq(QEaA~qA;=}}C6V7S=|@9cLUgU*GLe+o4>#0Ljn#+M}oC{#?zqGNLR zn&yv?=v}aS+UZ#xkX55)1Qo83+Gbn>4Yi-(7zG zo|H#&jx$wLw-G;_<2HP$sA8(9CXWew^Y(@Ut2`go2<`I}qorf*?a{AE&_~*2zA#WY z_FTvvs5^5i>8FT~gDU_6B2lH2WOwZ^99$p2xVTCc?IfNPlh1cMhjGiU`)}q$!cp7h zpcM2>G%D5JU=I%|Pq?XpisSuK`YNFHRS@@cYF@H{lr3g-f($U_7N%!U@Y7|F_W?^u zcN)~`D%eWyvfM~5uQ1WC;AZr(xlDFR$|%g-@q4CCCei;{`!c0=Hd zJrAvxa9AYmyP;h8=cufrh7Z019_by>UQOr3q>(&4EF~0b4=cQuc;@23K;6#LPC|&H zT9GMW4Xv3wJiO^-R=dwryG&)94in_jrZVs77@Jls;BpuC-gp$`WHxXYBrll%X0L); z_8o>l9{!0(WaD{|J*d{9u zb^0B5V_0T<7f^%AIlk*G=PW4TnVyTqyygzOU{Y(iD!y zyUmv0-;sPNm8~S1Ig1U%yI;K@xP3h2XiEJkZnepAl-68oUev|%>HZZ*Rz7T9r7W;0 z)mvuTki0;vqS0Yp@N{x^X}@wwk^sXQ!Gch}Rv{5G$UGt^Tx00hn7)3G(c~#0{4#N& z!SbZqss2yd&GAFRiRfUdiPKes<+?a0^aVx#v=R~ibOXEBqY;*#nJVFkKR&ur{=)Tr zi(Co`3KFp`NY`|ghw%&Bd__SycwVp(SLUG3m13IFTh#hk2_pSrX5GV+v7(gB0hGIg zVpNYCOkBB;-rT=;Zo{Ht6+Ksp%_KaBJvWJt!s`0+^@@XU{P_M;=YkFKjiGj-K3dO- z^LPOjbG#x?_5S2<(Qv&26KKo9m}xyUarby$*tXo__Xtc-07BnpY{;2k>LFlHBu{Jn z$gYc3--7hRjS4eM%okg&MdE2ad#GMyqPg!qa3JcJRymc_y%9YBWYe}>q00dna6dIb zV)fg_02tS$n{z0`z0rZ^z^eorWO$!ulV7JaEE|ZMa%vtAfSixsg>Ei(G`NR)w%vX< zd#kb&oT54X{2KWZJgqN60LEehBtiHD&GPz<2M=PUa;?$itMNiYZ+papT5R(xH|-s1 z6BAKG2@Zm;ZZkQrQgfhhlXN0$2hlQiHlfsLY7#BIYg zt_@8;y03s{df|{Bv@CM9_{*J$IOCDoX<)}}K zW$-oAR^tao2(RLW8WkE=Bs{fQj$7c z2yVPKqbVoFf?`kb{No?&U{t2=LrlNnX9;~ru!)miGr=j}uJLcbYdu4D7Fu^v4%*sA z3NU-CGL0JVw=huFqJWPO3GA^=u;%^qQvC-Si}nHxlRyahQLFzodDne|67NsXT#U3A zXxhd6G`g9+j>q3JhnulQuy6O`S{gw%F^}J5*hDVhS8r*Yy!oq{)Evapb4A@7kHZ57 zREKUWwI1S+>e&#eUNJ3B3v>f{sRhnP|E6$H1)2!jj4_HxSQOc^nz0nBj{#AA6;<(Q z%%E!hXZH<+HmGO|GMK5O$WkC5JeiO2cmkjLL74xZMJu*&z6&p0fdW6z!%Ed* z8h1@#B@9z03%I=MFOS2m9iUU`LM8y~@zvteQg-8!hp%6qpuEzHY2_17gS|2aABOkD z9kf{w%3GWsMvvJ4X#crQvV&f(%jOs+_@EA41<;j8TsL@+UM#C3P;=M`;pqjsAM{=9 zBq&Nk-CPyBcr15B=X0k2VM}bxU!+ZR`c>z!MH$t5RZsKy zs3wI2YVf1&x1Tqj5)m-K(-~9rzU%i#Uhx~9OsyTk;F(C=c@1&61+$JhA&h^C{@_Us z{EpCZ8B{_K%*h+VrV_6b*Ubd`m$|W4y5vc;Lhc}HjHO+cohcVaKm2~X>D*Q>q^@bl zl7KCkjlsrtL}xisn@2 zxSqx@!+KqQ^lhwT$etH?k+Sh`(nwyz7zhE-=qk-B*_*Lfe%EUEK9oD-1rrU!4RTB!9I7{58jRUjN&= z-43(6!rF4>G}3K!igea7DyXM^yB{LNTM^Ww`2ycOej-_hzsAt45DTYMPLGGS*95w` zuj~RYUvyVOl(4DIcu}_;^zed1OajsrLvKi?)D*ZH;~)N%wVAj^pP1{_OB7G9ODZj1 zSHDK6AumTNK~3wgU4#-$uCNSVosfuloa@Gdzg|A z+AN78rcn|6m=p1P{IZ7Ca3JA{owls(oi%uy$h-_r4oqE^0+YVj8ME_u%WUXMeZB%8 zB^@5cxU|5hR6hD{F42|lk z-PMtfCS~2oi zBV$NoFX1@yz)>N1N?g7C`=M`tuPtht*5cs3xRN=1>$&RN(v*=vV0;K>ErE|!h_mPw z@!#PYD*1cWiI0n z1v7g!Z~H1fSw0oy0$B}uNR8~@__4OZ`Ag8eSM{Z7=rd|3wPwGbj}v4GqaPHdLHcBu z=JKjK>fk&gf&^O1_tQdg&91Pb1~2E1WOb6nLbAJVzg08qRiq2G5Mi+}?U=?;i0$%;VP%W-pebR=Q0i!kZl$$sbjF#;%8^e7w0$ zj=rR-)lJZ@UgGIk(CZ;@Q27}TtEleg^b}Jh4=Wk{?YPrp1??;HCU)OmvQeX1yI_4Q zM?iOuq1*4KLh0qi5OPp0o2b%1f|_;B_8uYUGjm=hU7S{b>7E#yKkG%^8HM|$cG>5+ z2&4Y(gwh}5>hB9P|HIvxCTxY;H!AK}>x4stJ${Zs;5mpn`{lvrnY0*sxP!z5?1T+F zH=o_@9O-2G0;<)bvpnN`GWL@1v zc3t&7LwD1&_PjeWIClpc8m=pbeJ@D7viaBI??!F*oT5gkwPR{`vgwWTs`K69*kwaY zhLULnV~43d&vt+>+Pg0}!88rx|143P;JC!kBhqd52{t(1Jok;=)5Shq5zb0s2_-V! z_j&t>0lB$AG3`~iWOZ}Uq@m{2>wP36o*9fsGG!xNSU373_dPU3b>xNIm~w%(Ey3=M zE_=ya(de`)tihqnT?G^k+)<@&e|A2{W*upRrhyjJP6A_Ml(i822Ooi88wCjdz*$^c z1tYIZIfzInkk0dIvs$5u)Is0dKM~th{`Dh|BqV%zu2cDV*U=k=$<^V+Z zkD}ps*Qt8>E_UY@+yANx>Z{YM*@d6~ZDpd_{2Yj{DVzOwA2}n2F~O_y-*`wNnfo65 zlRwKc%(JKh@RvRvH~$nWij)*2dF8&*&Q;!nd*kc?9<&2zgV|^_#{}#Tvy)d-bE6WWhr%`l79Fmv%IyGu7 zVrln-P}0>`()b09k{TW*xNvbx@nzk)x6>ZBUj)i_t1o_X_^o?jYDJp{MxMVXU~cxl zNnfhM9Ow_4q>ko&YCKbNIv})aBGit2jz7YL!{fkg5?dd=Ugg6;Z%#q|Z=R z7Uq5SNgKmfzZ~=LQ<%WpXiIJq&9!m#PBj_5pp$yI!Oykd*<}1g7+JN669x;jqE~m$ z_}IP7CMyos3YSjBRFSn}fBOs%!~cqCq*mlM5!WYfT)6#a;aWqzf}E=I2wA!jC)D{? zNfTZS`(DxtzfBv|v@^`(mPdz*>@=&%%5$>jmW%0F>ZORm=;;7E4&-jw++oCO!M2ao z;8%g=40{H;GcHzVP~JI9OpMg|MC~-pi&)A*JnXPmxhlH6feVx_6(Qe>>29`Sqw559 z2MhFzC;vH^*sk{5ikX=K0^=lkdW4{qBoZkx8aj17+9)NkkFrg$?OI<~@tA{^`TYK= zJDo=wMwNtPsnteXeSIv#2rFl7aAeJsr5`fSw}GL+8@T>v5iAV0Yidg+)2DLK zzW1}{pNJBhYsD9UtaGE<)iLKq8b(bdVRo~>KpLsrQ}!>QKagYvU$@cjIlC90+_m8L zK(f|-l)#{yvl7!h8zU5${y};*IVY~HLiyI^D2OIrP z(X2vKRs#DfhA&FL)4sr*ptI>=$yQ0;0jrxBOTbnn{{&j5OOC8_p(Q?4rkiTxe_EW6 z)Q!{-=-w82-mMYs#oJcqIe%iJVxrW!aZj7gUp3eWY1%qU?;>(H-cVLkGULA*7J^-W zJf^X+)daN+PzVKP@=W0IX`PZ(!H^&fRR{Ybo-s8W^POp=q=K|0&6A~YCt{_a-_^yK zV%(utb>#vPzs(c=!Vl?I=6|2=8nzUL-RLM1e^1(+c>JwBX?-!cv%gBkWkAlmD0xGS znIC}+Ua@)vOaACj;akW_)jEokDU=0)ot`%KsB zBYw~;-_MEB7@LKClT}PhWl(Nha-fp`UOe>10s6eN6>unM3~u>I-OEwohA{{7QI;?d8>AzAoN3dux9-d ztFArlg+>avbOx(1d9r+R9-B%z@28R5bI1`G&`GA+rENf8J578IX0tG@;;vAcWlTzu z9YC;m@x&5CzF0c083w49i{+eKgo4V0P&LaI?**>Q|5S%UDlo*Lpp!L_X5}OJ1W}*W z{y)ED1>{pKTdUyYy>Cb0YHI*$hucH?>sXNV%qvF@+MDFHAQ%d9ljM8kcw$+;X#-mA z7=d}__(voger+n3K%A$2J*Ya8S9X21)=Ubuoow1b@2O4Jf3VTsb?I*#=3bp>Ck=&q zA2ks&Ke=DIZ6oSlu-aW>o{81Ki%JRfF|ku-j&UaK#izU&hAeT`QHk_@8iaFzw+G2| z#Z&Vo&`LS_NCmqSc{64lWifWP%+c=Gk|N$=<^(q?FVbxc2gSI`PQCv*xx+fDBiN$K zfo?B0(X;8Hlrd74ZLHkrEb1~_)Pu&fwj^^=ZWqN3TN_*JSE13Gvln>AAtb63ekaB4 zAO~6dpVk*7+bseiAk+EtDVCm?4ky(Y4J9Z^gh;0te5>=F;Q`_?fo?1@HqK-?nB%XY zbLSJ9Z;anKTBVJ>%GHh2*3Od9T}8Ugk5i_rvDWZsZ?9g~y~^pm8|kP{=JYo(n*%r8 zTYl`xC2evPU?9lkYT8K^(}}aDVh?pGzbZn(oYc%xLvrSa?IXx4JIT8at5u1PYtL1l zOZ%r)>$qd`9fWsAGO!Od7%S2J^Zm)4cbvBrB>R0IGWMa|gu>zGM zq|kAjIMm~OxA0iwoGdwRGy_H=N6FD4FV23y34bIB#4zR4s1}Hh*S-A!0uN#wzI}P| zUxgZqqUKT!zLb@LHD@7KA3A%PB~vPZutN|+iSqg9+iNYTTsn2AQ4>Ns<=b`Af8@l> z{?)i>xHDuDW7U%yWfsL^GWZPfNA-X_$r5nf7)fpN*`F)d0e&~q!K@0MuM`{mY${%J za&FegX%FLXN>v0o_nP8m)JfLeD(`_{MS{a<2pN`LbE{K>+?0orsI6np|4o~~gL3;k z$3)*8T-chQ4@OlriaVamiaaP%dBDJ(TE6OAHy(cnl}CYkzEd^F#~~?t$`bBbjZ8l z4}WPc@BYcc>N&;IxrgLeYKunSd$g&6kqrCDo<0()XAZ!s`{A3I5Z|Y-_HsnPw?(1s zbGJSJ70B@316vtcoRqvZ_uKQ)c4CALj+o0Z?@uA@#@f+;ryI67g0cd!Xg~8{H6oPy z%vV`qHptLKG=Uv@rfm9iX7e&Z79B(D`A}N04fu76;A6y=`asN=Rv^0&6(DSX;4=KO7MO_k{mx@sPBRg(l8pS{1*c;tki& zq7N~gAwe-TNFd3eGcd9Ak4RUGN_QaFjKY)Ah>P+i5$$#}_aALwLTC<&JPxh4Z4Z>y zXNo-W*LW<8LPVsyFc7!ZtVmomL!d;=3xB0_ISwe??PrK6soc+d%8zLD!A|jAr9d0P zxsvx5-;0KlIJoB-#L{CaOp8YY_N;yRiVU5g+XT!3!UM4N-TM%+&I|-gxWU^Erd)p~ z%)OegX;T;dr}Z)@L8Z;N8PAR%dmfCtCt~4Z=!SCwZ`bi-K5U*TCp)6~U(ExGAI9*t z{7hV?+F`k7MLPWAv4t#DU$C6~iJvCdWga_q*SC_Alc0S0=|8QC0ya>B3r|a4%D(88 z@8&Qc(5QyIg(cqO2NByI$}YH(6yL!xH-$nZ8Z7cuyLH>2%IGMXseDc>z_k?PHqY90P1qxt=Tae4aIrrD?;yBy2xO}jCONI3dXj9g{Jv~rvq=XpFUGo!79Pq^j!Z{3d$yH51;u4 z3jOREvHADETh2$L=qU+w^904h+`?1Z_Ya1ci3KyoddxwOtH7G0?c;XxQ=b#mx&}kR zkNc7qw7)5w*bwh}FDeUgn){RY(vkNgHM-!s&W6ZG2)d_mJ34LEY7 zSv(%!pS3qxBj!dC(jlip7{%Kt!+Vn#xIlaZ8*4zQoQu!U_%P@LKMJf_99 z@=(_FTjbScGD)ezc@s85ic?5E<~_@Cr1h6xsRvo_K{!Oie_HP*6w9_g9*?Nm8}Bd@ zB@+?5HTBc3x52QeVCF;?77I=mNfi4rt!|tj$g(p$`HI=7BVU6Iz&wI zy<8wGbRTf?tTS`aAt09H?2sW7W;)JSD5h!O4}L$wImC?(k0IRI@Kwsq!iE_8zMj%J zl~tVoHM@y<$!v!)H)O{qS#TEpmh^MIoyV`DGtFO=RhSy#Vo=oNSUCV>NbZBg51fGV@YAvPHloGpI?hXNLyjTK7p)V2t0^nhZRsyA z(E$f2)LDsMIned{o8$QeGaeJ1uI9H6_OCZL#9Z5A)OX@6?2#`TC&b+G$)Sl z;4sXvzK2Q@t8}E^2N3@D=6bZBs5T2{V=4JjEcwa7=P8xhn}+O88OJxZ*h7f^=U&kt z{cXtI%}MZjhIt58@(jk$jBWepmaQaCjvrF3$`H8vLsQyn?2E%|DRUN@t^YF5+SE$ z%oprLQb$%|W}Zmdyn`=xFl{c>`E0xNB4TY1sU!ft72_Evx0yWjVsMu23Bxd|Ub_8U z$H}TwUxpEZVrsJ+Cq64DPxYUcsFPj|XnmN2zoAS;|dvALLl)cvYr{S(~I~rQ?F)60h5Le~~Q5-zllV zNr%_V6~l?Q7LP1!qwZ?w6@$c=H*uxwN^5@6fF$L#KuELw>AL5v*tc$EkopP*8@Igf z`*Xk3E=|O&)7s7}7fgP=RcJ(tSXJG&rdMaSQxa%V8Wa6M&nW3OcIRT1SSpbURKVE% za_X=ObrsHhV*$I9%rOwUu4H>4KTuUGOwZl+^9a~9RS`iIk5EF2O4!csa>Z3l5ZP4X zIC7`j*9@xX06I4!IwtTWW#^h-AsNys8(9o%k^eZm-rbZT!W=-?1HqL22St8hj(pg- zcj4^d&#J|_DK;1Rbyc_o(_nn|1a`yPtI(x{Cw% z)}X7uM=5xZ!*^C3neR9=IeX%^kSl`sp$a)$;pr&}>b-;&U$crqr#>hViNpsCL3j-O zny0YL-Mp5i2q_6AZay3}PF^Ql5uPb&2zQ8k^#m@Tc+F3T+^7N2pofXR;gYSuXT;)Z z;>H8bVC>C?@di=^$DdUBsq;0z52bjii_lK8UvJsLW3TqxHJKVec3-u4TP%3>!6TKg zAtr=nVk6nasfp5t-?t}mh{K9VIK4(%deYwU{L940;2bo4iA2Xcg>uyQ{h|9e{d_n5 z&$Ec+w>=VA|2!LK=5s9R$OegyX}z&AQ0iPVMp=%*x6&+fI$Bq?BpPzn$6XwzU37|D z4#~6s4c)rwR9%8*@lOO^lW(>*;S>%lBq~hIL(pRWg|XLrh;(TgWga`wBN-Iga*bl65}uU@FzH{ccKG zw~ytM#NOBqrpt`F+|~9xZL&WPzAMFMewdaUX7k~Jp*=0dIJU)}XB@0;&M{cByC<%B zX7Fb{7I0)oyTJ5D;7GPA`+L^gg(GiDsg`envMC&`&iJ$7?m5gT)K=4woH>1QbM%ML z_^JqA@2J$sd`-Ft_mT^YjNik4`x>mqjx^%iIz_XFC6(4l1IBI~c-GKXWLJdrV&O zHg_l&=pD6K1B^gIE!qy|_v-8J;WEw+(WHA9m_Aw%a|E4kKX>}Ca9NB~Byg&F7qAPD zmxiw!E^c;v=7jg|T1GE*5oF;{>FM#!_8s9t5$%~>Q8-nyVm_4hub}H?v^yM8Gcf*P z&ELiE>-eA~^kB`o5d&@%mDJN1MKdlm2v?na7INkOW`oPEb1W(qio_}sO5e}^)wCjm z8?23k5px`+zttqSry8zFd>CZ5)F9hP+|{P08Wg$Z;-XqTQ%R7QGUBP~=MeL9SfCs(2<_s=|=JDsH8;1iw^n zOYlJWvFBM_-vv1KukFKEXI9Y*4-pQvX`5*Adv%HW{m$qXuj?6E*sBSq%>?yB35~pg z12H&^Rqk@4%@**~r-fJ%_@$U*%gMd?dV4Vs@K0VtL3YTP~#CytMw9Sq5s6B=s6Ugz=1_B8uZJde=+; z;(t_Xr%`R%X^s2t`oZl@(gX~{3&^+ObOW1!<8^Bx5teL~=DdVl_9koW2JjWpR}gKy zt&9C+x#(MSC}~j7qT{28i4>i9)I}fRg9NiznE418e_R$i*K?%!O{D0vz41-10PjhkhW2&V)jh z@e>F3w;cS{*ma1h63+qYb3owkfESAp%>_`#KZIOtdKN~TR3XtMtVA6;^2Y1!Mnn*E zmg<3`J$V#cSQREl`3V*)$b5|1f%B&#zLXxaa!@riD12fwMmI?1t%ee=u7;?-?B}az z?(0NN+DbK*@o_aOXxsa1c11K@Ygoe}4M0k#5YGZnEeKpH(8U8CiyBNFOF~~%|FPJd zQXq4}5N!A?GHHwI%XN^yA(9dM-!1y7II2)GApo!y(d$3D%|^*n6(P8Rf=le)5R>Rb zxED0?ZH!|2YfJnR4|F6@9Yo+C=au+Eke*GGong=c9AO5(4ic~*1)DsSHbFXwqE6^( zzu8Z6E|0)Y1^VUwk4a8m9IyomT2L7Mh?86N$Ir>ZEG!3noIrG(fJv9@ln1a!eb%H; z7_phgu@Zp>88`Xv{AacblTlnxfz3_Z;CVzEYx9Ryh*}IBC{tv;KYaT3L*rGe^9<^# zn_E?7-Zyx_+So>+#yCbiTWuc0?iDfdnks`EfBF>!LwF(b=EVM=a#wmE$W zdf(rHMB)yF7yB9dVx|M{T=FS#sKuDpSbv3!)bkzz4{=WIObk~*06ik zP&irUN60*1IW{C_!J&Y414nUz(_ej{gxfK3M350`qSW zVt>hAl)9Ns=I|u|#}jOG;IQYfqv`*9$al}+2J%v>O_HY3uQBPezNyPC+f(JsG{^M? zw37R7YxEe6pb8{UCl;U4iw3%9Br;Xw73$vQoouzM%tOTL35Nb<0*X~Z9KFJ>^|JJ+s^xzMX5JU^t5iU#PlWRz#L}Bjx6tbmi|RuJ$xk6~ z5FP_EBfLhG=Q3M=bD^2*ouC^p(VUTSomb@V9yzJKlJVYYbSO}#mY*BqY^S|YsFObY z-fpFR*_1MpMrP!J_ldg{JIY}4m=tzTw}4>wlJv!k-iE$iz8i>7a`1w?@NYz(_b#Kr#+LlgYLy*ktR4(Qjdk5WtS7fF-6(QB-CD8B^A@W(oe_vhjduLMRX`Crj>S@J+M@Iz+ty;d^%W0 zgDSTO(aXAx?R!`iY_>fQSC0yHV7%L3T2J1kFo9nz?zfZwQu8$lj(aNHjc0}*7){x9 zFA(y}Wr~G+ev|R-pRKa!iEdn%QN8-n-Ypl8O)zH84+9lwAzXbl&Y5Sd@C_@JZ8~3j z;|I&$eb-`HFnB5>jT$%eQI5&FYd+_1ZB{GUeF_$Hanb1pErCr7=E5;FvRuesD4jbd^L~G-i1GD|H3oSVUNg#>Zte|% zu67__WS|XbH%<9jKYkHM+_RWd)`zf}c?l+mf}q&0$j#tE-sqd@uT&Wb`I?aKOJzeT zwR{cw7CU_?F(tvbU}9+I5UwF=Y9%sRYFn_`cb1hOkOtN;jD)?E1(L6O8VJ0v@i{sZ z_ic>$3=ucD3K6L4-(2~rg>~9jeSsF}X0nJNmn6|`Nat!?jttlN9pkcjz~v~Ui%_xE zZj>U>P@{Oa4(z9dgt!Ulrqp&*;(gC8CC<7>TEE&T+511=#q9eZL?tkdm)LB#EIRvx zkl%%Bowdot4KYn3r(9RIS~fym=(iJ=BqdX|iT9CDJOuBAg*g{flp8M8o)inOD#Lh+ zc&E;-Espo=Kc_j3s>Y#e{Rv#XajbL)vyZYumW9zur@xTm08y!f@KWQW2%%$Yd(}dY zxr7_<9Fm5M>e64?;O5CZ)3xqR!D&-3WH8B}gIh)`Nvs(;_n_s>QuqUWI9PX+Ul!fS zS(63_srA4`mL0@LqAjKZ$Sp6zb|M^w>*WDgGGd*hkE0GvJ3jv2OT8hx9APC)=1Mk3 zAB7D-kIpsHjJK)83p(FcrkWnky^@p+?~h3p0FwwV?)iBA15Qhow^OZ029NaoAZTqc z#`6yJ-IRo7W0L_v((Hr7b{c9at^6@3|459~M z#+bZC__b#=(Tp-Y=NP88$mhzM4A9?`izQO!Jlz@;d=fGaMm{osA zC%uRqxd|T=jHnZaOG<#x6LZuCOHF1g2HPX*ikG1O9ND{R6*Ya4r^Cik?}zV;H_^gs zEbu{yeu{gAtSVgo>p=7LwJsgRxHcKlEC}$-{ibvqDCErHTz+7cmmoACzzXGt&X+>N z($PLE66%1fZN=Pd|SAL8N0epNd!)2uh6cRwMpIOh@JM;E0y`C#M#Mzq~o( zfBftM{@}u0nt!Vd)a>`;oF1{THU2K84qqM7p6V4HUu=OYMh`m%_j+XHV^e z+Nu%9AME|7_=AAbU+zhj1-}l1q6P7wxFCwA_r84@A6;jyf0_Xm$)e=yz01Zet%q9C z^^n5E<>(4$yNY1bRRd*N)JCNIEm?8|0)OhFwIpXnLM{YCK8uLSTrL z*P8;nI?}i>wBDh~Sab*dLTCQt4b|bFgugSK!cEj}L8nsKg_c#d%r7zyW<*=Um%spD z)iz$OoZHT?oPnq0J6`3?YcEHe<1bnEH#=Wtklg&#Z1jIxadcSy9~Mkro!mk;HC$gB ztMGaJdHGO69L)<(48L1DHPd6SnS>t193Xn>V_NEOK_2#>X!5xRt6rYGh@g@XB{zu= zD{-$AjF}H$dbUk40JczcUaqR7~!*ZD0DC9;JMgQavTCuzWcBr$=yzfWg$E z1{2`$Klii!A@X$0FtwF_ ze^d`~N;18g56-=Qa`684p=akzR6S+lpn3KiUhtuR#&l*VyA_xwzI<+Q$=QwLJjb#y z;hGz#KC8!RnasPlwKxC?_al|3^XKa0d$|~Tpq7aet61VO$u93{@uz?Fd+DK~y*6JJ zwYHiOp3{~yA1A(B-czvp8|NnHYy zG^T-^y!L(QndSQ`&`YYU;V(!P^$mU9F>Ek&jzqyK4##h_o98GX#dK!n9?h&tE+;|; zPqvaS2802et{}Vmf_Vr4pMKW_xoQ$S|NLZ4?qrC>ru9lDvi2`5bq7?jF-n7JTlr%5 z(*rzzNQZ{X8^nj|0Y%?IMTysf5=62ZyB<3hU0vN&gxiWU;ZhHh zM13O$iO!Ka8EvlBm*2!k1RjJQlKF;S8w*Vj7`f0ovvUYt!)IzUDJ#wa+tG2n4!=B9 zaReVT?%`x5e$r_QmjQkVQHH$(6|tslrXVZOdsD1r)#TvUq47%;^YX0rUg!NE^~*w! zWJTQxE1f@3J)>iCa1}YPh1Xr6B>#|tVkEt1ba72ZC8GyOK@u1WwyFM_4#z*WHV~pC z59$CzP_fX*yZMZr=@~^7p_sjQSG+5RZlw@M99V!;1IQRx?_KB6}tek%IQ zV2HCOZ)r*5yhJ9Jd{6uX)8U!hIVTEAoppT>rT;#l0<@1QZ{8;U8TerpjPe2~l{Ka` zBik8AtGm0M;88~WerHbAe1?wmXh;?)oU*zpo04wb8|3cb)+fy|#Z9Al#A&_)(_HdA z{?Q>JrH?tLBJ$|qZPZ7P5 zoqK)Na_uZ=5LdUa2#M=sNfTe^{PG&AE!{Yjeu$%Dt=Mvt#H-h^}eq@9X$gS#|>`KM5# zcai#Cse+AIWK@l?U4`>TzGtNZO;Dc@l|#<(v$I$BY{OJ4yZjDdw>UMp=`Q~UKB(SKead=tfzLHSki za#)OexdDSZMU1dBDkk7WPfAIT7c@y#r$*WM)dssOsc1bNE>zxv6b1BU-FG;9lEo@V zox0igEW7r?TUB3{ggx(s`O=b^@ge~T(zNjcjk9p3B+|qSnrd%`OO~pS1vDEk_Ycv5 zf~*1+Jtf)eWpeAc+ZH5q4%QTy&H!|+m1nx{;+HA*U|5x8NW5pPw{NzmA!}MAFkT^j zFjH~&?&KclR%%j2OoT=v6T0=f8s~Q6$AK@~iTa2%sev7dFYwUT$Z9)uDm*^^3C=FDnTm>|y!Y#^h~tA@{(Scs~Jmp>lD%zHLe)nPxt z1-}-Mg8{X_Mn_Rq@_keX?gVv?vJ!Gym^*QTxT@ipubXQeu%ogQ+?2NPmnVv%f8@XC zpl$oYCa{}IwO$JxSf6g|YO0i#ZX>peJC_t@ zr91-DygmHdWUJp>Gb!v%a*m6ypkDLm-o4d68DXkR#tC!eyO3XxZkCIwYXHy&{L%X z2WxKZW?9aPNo*v7g;@5W)OV*$i!X3i(3>ad^N&}BM;wktzgp-8(3jRr^ELKZU!6fE zNJc4)w&HY=IVOpI-jUv4is`vw5^E;RBo zRaH-pSDV~TXt~nNI_ftRrP8)WPg~wngVO^ls$w-qj;XK~6SjkN-xp2&-`&l=S*UV; zYy7QLJpei~OgfGhi#EbnPI>w-*^r04Co0mvfs#gd4ScN4WH^-xkAQhc6CEG=tXR;0 z*^S-zN{#RQLf^MRoo4~s>^O1wbdhg4n&dpNbyFBD#RfWss|g6AipdnL?xuakq4(t} z2y>f7{TiuwH!&Z5Sn&t&SfVgJZNg)W^D@_x;edWIR{L}=D~8NPmn=E~x<&UCo7tnq zpBvIWcB)9L4qXq~xW%E3ywm_38!n=sO9j``zrZjQvfQ|2#Xpc<{OGSfXCi+~QKs9W1VGDc|EJ{K=BmcwlJT7k98k?syKjFy@V1& zPX7_I)_m){GoSfDh0*FA5A_T8EJU}vN{?k@$7Vy3*r$QJO_i@~RD)Z%KNZ|~ULr@x zFW#RN_y-o)_?di}CM&*A!6=DfJ&J#JuNNt%1wmT0yytnhT)p~qng%$!Vx4l zQH-!3D7S!YMNq1+R*2IdNPVB?BY{R(HfdzWY<56*IJYp;;m(-he;tK5lzPi4(hu|f zdoP2$Y|`u&y%tw}#E)yd1@JB-y^X@puqKB17}BI+9|yG~eEa^qbTN zBdq^kmKQF$wwZ`Lu@q%l%W8)mJz*&>Hv21Z)a%v{(F?ppDOY=N>q{9qFV1N{y1>j&OTg|5~jO?f5}azP7Slfg25wK01M4D*u@NBE`o@KKg4 zi&ZI*xuZLMS+4!;q8ZALGwX3?@%8U~rV==I| z1%aZ%miTga?Af0AanA%lfcehC0;Ggj>4%SZijL7o9_J>rG$qFN6F{y=!;SmHL+hCa zSVI~~q(nm<`;C&k56SPXJ;fnV0LcW6bhWnuW=gs`a;(6;Cy4robO?Ml0bS?55arLU znHxwsS5&utK6w~z&K}0x$WK2V)H{p}2PbG%$)~H|AMQ(b@g^v@0iC6{#KnUjjXwdI z8wi@HB}Pmp62DeS5X}-h9(F4f+Lj#~76eb{OO!G&gIVm3pN0Y&YBbb=J6akLZ@#;Y zOYRHnR%y($dTagNBa}5NEQrS+sP=;;2S!GmJ9MZW@#7^J+pOqY7Mj|XHjODb@oKc4 zWMVkv5U}4tnb3?D$ZXHE9W@GX@)Vxy6$@O5m33@jqmR1x%I?NFV1jTUs8#5~v>%Nx zF+AEB6b1{S%^sR+ej(5`tWi1|$wT;=Q<7cPC(%oLboIlSK=_q2dm`k%0+-m z0R1~zAx666b;RFop#2n|<%+ z$17%y#1zF~&H>WN!PqL!^c|fcfcLZyjplo#v0pq{9F*IO05aeXSd=MBa&0*dTmhIA z?*iX-;L8#A5xiF-iX+WZD1ZOpS;Jn2puvm+k0V*Jy@iK<9x=g&%H@g$4!je>m4kFD&_d&EPH6aH_aGFRg;uQ%{vt z-*ZcKFSXRq-qOcF4y5gke&EfV>qi*pY`A9n_fr>8qD0VTq-yPs1XHu2zoO7VEG+cs zSNqzbPFuhB5g0lGSmb5<(N-80b}B1 znsxeyF@`nsx3(!yCdGfs+>IUW3Sq4l&3B8ZDI4sMjjzy)en8WwB2S_zMBn>1O>^A@eD$UXPUJ?aqOycn^HSB8wEKuM5PJJ<=_}r zbhUnA`Wh`jk`vsVDpr|y5tV-(sLyyI6`fR_CqFO79Po(`1NBuK+uzX+O>Cg{E+PG^? zuiQKj&~VTKF7-0XhZ5dBrl_c6kttPVSba;?R+m@(m9=~l4=9oQU=|CDbC_qsZvP>5 zC?+;{hZi~tgGL-+6=%E7ZG3`OSlLfgPb{d9Ze`W003kNL1Ka@uK(&iawX$L>ExNIp zkII*qD6!TgAQd~s$K6!su-=#R^9@gPTejig$R#LKa~4G-=r&6Lat)JMTN`cgIv--P=anmt5{jo zKwNbf0B$=V4VToQnHbT;P`fNJN}cJ*u1#pk_}SoNJlGl**Gk)WU#yX6xF$G?tykjt zVuy#AmO*FQtR`+dr#}Zo2)eg5Hj(1*8VNBJ%4UWkAdoqK*2m+5>&)weoCjRxG2GTaQ-* zwUK1vy<odbq8Q0WN_6MNRw`{~mEtX!O0G<;Ze>ODMt2#$GdSF*B3ZVs0LD$qu)!X`dCMBZSANudVl5 zal56yk!%Q4@Mu*cPM!sC~2uQ7P3qfH&64)dTN$+L|_2yQBmBB<)M^y38^irvr5 z_uQ6Vz!J&n49kWCd%~tq#FG_G3Lismw@-*4`qe-}$8?YmsT2nNC8tlBTo^14xZo z=pWpJ|71Etc{%n%d_7Vz#?{Q(-ZZLotWD0&3@g`^-le94xp|1^W9MN2fA-%lZ<-Wz zr~ouFldXtQ*5m6Vu!&RefbWO*tn!W4Wo^{t)-YyH$<`H)-ntlYVL?m%;o5{o6LGB$6}k`pPJ^-QWL(kSKo`#v*7{k)dh6j#|kq57^JerFv|! zqsxv=Y_}yPg*w|+bzSxYZF{~bV#&J%dn{gl2YX0_K24LRZ>q`n)#x(c!vO?XeW78J z#$ua>9sX|$Mpl0~Ge0Gs?}`Q!9I`<+pJbqGRi3@>r8YA?VZ1m32ciR!Pf)Tfv@>@o zD#?zD2&yEHZne$bLj9N5+aa~BIzOCnJVr|~KvPAi0mQyoA##Rob7n~|h`3-rv%%zfw&l)}p-Zky2Xk$T;1Yq3EL;W!`PIOm5mweJ}s~cVc|MZjT zmH!<%1z1PHasX%Ib9rvZ`OGbfx?@vwFi<{7Z0QuL^Xk zT6lj6Oz=S<7*GI??!UAW^D(d!fZO(osH9Jw!M72MRXp|fLv6;RfaMJMD-1*A%rn8_ zalv6I1UshoIU$V3%cIj8uxULrrToNQFD<>*nOvNz7NyqDe81vbxiAXoBwX>$z=8i9 z2%y4UfKu30$uiIFN(=qj0+h~Bz9M^rp!L^<5!V=JD1i#Hr%q=?ja6(OMBvEBnKI?~ z@|;e#F+1pes{nWcxZn6U(FFXy5oAM%JT+^XMv9FfpX`l2LQg-8qm;{ij9EqkiG5np zUEa*w1~+VzZH{)}gCJn99`RRo>IbBFtU2;ZUGpD6rg@-t!rYfD)^ra6go0#_Gig|ymHIDL{#EhbyI%ycuKtN3F$bhjPuoAqLr*r1#_1&Q7+aBNcTx#%l3 z`J_alL}GXEZSdWvZcJ^?B$e)WwgwwUhISWMYS+xd~%fS@rzSr5w6zW05GaC#hIGzWy|;eFN%*X;aBbSE1yYWIj;SI}PVjfe?!0|kZ~qy+nH|8NH>iDw zKzSBz)&z83mtnAiW$e))5`vI3ej5UO_%O|g>}o3Rch&ROf~ z>2a3mvN4dKXoYV0>tN)zkFjD7L@VbZ-7s67F}a8_x`nSXBYw_8hpt<0K_`VbANuaf z)=3|gN*D`f1hXt#=@5{Y`~ zn7G(wxz9_N{*XcZO+B!OI(l!7aBpkRHUgg3mFbpscK=oQ<7uxag#X~+vMt4rawU;gQ?M-N!m?b6WXzf#oa?wz83 zm8)MXkQC1p`y-Lwg-H<<5%KO}%^N=yi4|1+iH<{b@LQR`)sE<|O@EBY-4mtBuK;+vi+c z(G}+k#uYOol_DpMBT>7**{%B7R6m9~K>F+#)g-MBKqa@*{+*2AGfFO$?4RcC3;cXR zLq8=F7uKy~Dqieb6EjJ$uS_PQe;R_;{v9SOun%{LuQd0VTErDIIuJJJX#y*1kq!`s zey^4nylkY7V;04-@p2?!;B!Np9#X$`ReFAo+L|O`^&bFgj1kQXkfjy) z<3;bi=UwunCnb{{hxpZF7;k)oaNnVeFXLGBe`%*uPAW@9Iv;UF6F=~FSDl-j^$e-e z;}`=wb*w%LC>Un{!O|`Yj>>m@`+&Ew7V1!A&3m=dp|$3oEr20aR4&fO5{zFKuo0cq zW(6~h2ihw8IbwuP*Wjq!zFX7CVSFAA!k@zHNB7)M?g$0FN!D-<#hR1;=b5J@k)i1pGv5g>KFMv7_QslKoRl8 z3eXgTm^uCtvAm7NOtDjAohkVDcJ7P7CAgyYuIAxMGvUEsb5^PXQDi8OT_aZo1WdV5 zfM=OMijC8^e3M01Gdeu@}22@Un`St6EJEZ_vK_GHV(7dDqORJc8 zwHmMwKQ>j|yu0sUz2 zm}Ta%*#WW5ROd2T6*+Umqe=(}!}+Hjzr|9h%}TL&xp>VB^t5(13Tq0CF3+HMc#kKs zWl-{et2O>n9kj9izwnd;k2Tcs3V`HbiYL-sr^b=MlQd94RX3tpIj)an)>4{7O&bj` zMoeTD;b8D7HyaxSDP0o!0l>eB%KufRR}tzUwceGXAzAmbiYklcKI$0a3LtuY2DxYS zX*Uu`SOX@KS;}YXdw_^}0xKsCp=X|@M)RdM1{lC?82iM4QQA;31T0UsKDSb**8Ud=!C@Q90Fm{q0^fR zw(IY&I`U}{Ode;EoTI_GgY%k)V;g;Dk?}m-Zw+-RAA1}B0QkHbjfNcM%;76bQUf+Y zgd^f*TVxCYd-S&k?W_k&0?r^1`Xq_LcFQz`Xtd&NLnM&p0t~m#wiBP5@17tY zd87m_fYlXuW>2B>WYi_2Spkv7qEO9uwVq@-cAcL%kHc=uTAp1cF7m%4m;a;v9|YUX z_%x=_j?0`44BwdX-tVMRJEXBm+IA0C^S`>J!%a~~OMe~Dg-V(sp}|@XT*>^c33Gi1 zaC_%0i}#@?CMdGIeHO-*sRNbi9ikT}hIAkN^Cm-N`i#$K+Sov_8wL{2eOqXnMc%<) z2EMQZ3u{nm_{aB+!rUiO9Nfr%T!4_igDWtY^xyqwYQX8Z7x>g2v*=osPXFYQg@341 zDk?c$PN3Ll2Ir|4$(J6b2N4TI%1obhy^e~(*gdTxx-Pdt(;k#1r1IK^1$@hLTtx5%6nj$ zu5zCV9cTw|>26yk)Uq~~oiZ#KsIpn9$F|#xaBRS8kaw;p1UFK)j>h48bvLZ7OD^lK zqBlBR(b6BA)S)_OFZn5lHeRq7BBhD+Fk#h{ zl_!bJrUjsF0m)w4wlkc6t;N8%+@V735^G9HbNRF6w}uo@#f4_#$fNBsJdb{O{Ep6~d5X=L`p_Z7t30Ot36c;d; zp_DXz_J4RJ3Y?`1!NaH6JkK@tKkFQ>U<<}XEE0c|a)FK+fJgk+xET{2xGi;tYT4gH`DX?jpPaS3yD~*n%fWeo+ORl5u(6%;ISGvA~vs6MkQ+^%HS6QX0H~ z=9R1Gz{q`c^Z3P$g~krbL=jI7O+sH1aGZKm&hH3-E;U>8Te*ag_(VdrGDIk6|H(N% zi11BdR#d2oc~tY+CEWI=i4eoCT*ReW7M~>XZnfXFa>N6)|H9EN!j;mM(r$s7Rw&YY zx=ran8UXdF3p5)xcQeia&NBOk^N@8MO~QY4EE=6X{z&}2^67S%)~UY=HJsy*A@G0W~r9MpU7b)#CkKK>V?Zz6Ol(k8V$+@3&^uy(2^^S0V!*HL?|QE;-)+jpo12C62A2Sfj)y#r z{`$`t{c||BsP{5w2@*1FXp6jgR8pPk7>V#EGBew%pKT8%35?i-7&!eCx$lci+kR_9 zQBmdV$%hWPd8Y@`J6a9#1=bxmk~O8=Ds;7g--H0lDiFX+dM z12wGT3z6I?1DiK$I1%nQA=$+^7~LFf1F>;X7 zk8dCH(;Vh2dl#e10YUxW0|gW7gFJtBgaNdgcDTlU?6I_`RiQRC!JSEB5Qms|BYNn) zKj0IDi5LvFhD)x~Gdf_%d$TNAe6@U6_Y|d)imoj0$GUq6Vv3yeNPniX>*R`M%iRr! zj_(^BYK0tkyyEBq78*m=4%>bga;3$zJ_0g?X|RM6mq1*62VXOpBxpXA==_aza=g{3 zgND5fZZ;y)W@5gD^M2;NEy|NBCF(lQWtXCB8>C;03*AQGjwQ_53cL5%&Ge=1@1V-E zd46kGba8b3g%fvbLJNQc0MQoxX#T6MyU2NH~yS7|Ejlw(?wcTxz&12Fm+T<@{Ttx$D0rnEy(i?eiwQcZcfc~8zb6_@F^ho)6oWXLksA3N<=DxqTyGG*mia$;Mt)V4Z z+2$-O3R&B{+_pKqEh~=j&R#z;gsG3&&i1A1J>0cSg$J5dmkGJu9iYX`56%c!qt(?8$ zp4omSwb+DuT8z3R>p6J9p$`)~wxdzO+J=kaBrdHD`GGVf3UfjenP(Oa?mHx?F*seF z4829VpR%$_cwZ<^ImKu1_O8;8w4uX`1Aoc77NGAt?~A)m(JI$EWJim~T;r3*Vz>JP zu5nDJicV+LEZ(hd-U6#2dJ&P7c^TWCSacJr=VF(%V2&S^e+2ix&=)2$T?2(RdeQY; z$<);V`$30acAYFHe|N8*JZ~I~?*;l6wd?gmFYtNpg4n<7Zv6GYRWT-3;5|~Hpo;?k zXw(zpxs(Auw&AzN)GR8znz@-0*dSG+B5M?1*m}uo6>nB&iLNX|11-U`smiiaWwls%ef;GW-gQ;nia`h4@B7RwQ@0zlr1iI6l1N6yyv=0U+RgQ2i{| z%zFFg<|0pvhK6htkxzIuYl}mP8l~`}i=fv|5OJF}>W_q)#u+_ZFw=p8T>8Xa=wt26 zaWB394$2LBa`G=DO&0i=?Iczrk_|RMs~-pL(6PgPM+ciTjgxT{+x}-V5{4Q%>y@i^ z)4{xd9!9_G19X{*m#171^mcUnj3UsrBRY;yXQpBD{170Wn zKr6p_s^wRv(ArwP-#?_Ys`LFMbg9=F>9fKm+XFR~ZsKCCiA^K4x2Yo+D9X6*h?ZcO z!*HNY<80{RmwoozH=F&Dq;)yCnsz!dt_%CtFR3_wke)yl9|cyr|66{G%JMpf9!mJqUPR?BnABM{pnRaL?VIJ1LMZ z_ZKU7bQ%(dy-9xZ@^7O?xSqXc9x;JkM)q$2n%K@KwH5M0QXzYJ7qNb;$C;Q`)i`a6 z@KLAQUXNm4fkIb z&Bo}-`qfWD;O5a}&e@{Hk>IB_@7oO#uz<~I%)h}ShiA>S@fHP(eRT{n?1T#AnDG8# zO)NC>D`4BGnr*ub_IX042MJiRobE+ zepOx-I{yl>N{`Gooennu)~RR>4LhB8)=LQ4t*a;6D$o4ZxDAXl`?}DzE7();$|;+N zcb_!_%zt zXySvy{m_9w<5Qr2+enw^FZ`=KS&H5B@$DZN(3ja&y8Lb*t$lG#Eslk^WQ!A$p6sxtz7NU(He<_h$D-`Bd9vo~R8Fv(-X=q|^Tr;HL;67`vN z(XJPJgO(4`HbOD-$+$!buWvF-(zGvH)^(yY^r!Fjn^DyCsX7*OI%?ed(yaAwHq=JU|ALu&GA;W_AI=1SE@D@|rHE~LK}W210=kfU5nG273Fz2PDjgoKz$ zZEbH>JOQWn-U0w*R-r6;eB0QQcz0(QVcN-e}~i z(fUN6M2kX~3X3JCggSwYMr`8!otILT-#`=u5E8iX=M8JjerSi@YGdy`PrKT!gB(j` zkh}*PV5(2hu{5N~4<_OTe51sU{S2xr9=BK^PQXCl1Lh^Kzc~j=4&VFM#V4>6j9;lA ze`Ral{!t!CH7>Emo$q2iIgY|bbL^Q{K~Me-IFLX9lH=@&ULnkQ2K5>cF`d=^BR1;m z@;^f8GZhkJCv~7}HR{@oH;`R)BxqNqg>sGpn>1g(p{h{^3eq{Nsb$Q0@(0+5=*n+P zM@>!(c~#X3P6KzXD=Pb(dNhQI+)on7VZ})StvTDst@LYuc+F80F^i9_yghnbMR31V zeZhLgqOFaOv(?ph?ugGz&VjE}UhfU$RtpmF0Y~RQ)V&fV`y)O{ zcHE?hQt@2b)iEq<+wu(rpI;^VBSJgN>}5m7FK2fQx-X(!ME!r?TtLScIJ%ZYbZCA$lhCp=jx zU}9XKAy;3sNwIld8^j;@?|k4a$1%|S!SN(8@Y`xD!*V;MrA^bm={qU~qw-Nlg%kB; zG}OeJ?g?A5W{%o!>Uv*jGIAyZv=}&Py~Xh9(n)T?9@uIQgnFQ}nrPiLVX7P8v;2J9 z7N&549T*8c)ijxb*-rp(NoX+Hq{c#G0TD~am?c&FRF~`vBhJC^{y;;4JA<@OclS`4^57Ye>zDy5`lg z;TjJR;96XK<-0HQ!sx;XE@bS;;NLn}6$U`f)Y)YSx1rVWe?T-mlMEOdm|_0odERw* zID!_Ww$8_8+GT~Nd$KHI$MeJo@};E^UMpY0A&tRyITO;{76UyS_!vub+}6;gr4hAO zM!VkmI9)#78QZ2w?7*e9`dOwrcU-f&qhWyO#p7TOlU%J=Qkz(N@;_(wbgg&CGy4pQ z_&i6@(|(rfT9RC!t49yIWN6)`K{xR8oqmS|{aT#z0g^#}WTKtJR3nSELu}8lJZU+X z58E{Cw3}TW!BgANW-stON8gXX)Ni?c4&5Gn9I3rPi_Q8UYJ=1O+T>@6nIS~WZB!aI zGp1SIlG%Cty*Du7npuw>vK2a6*h4~*&R^5Khn3Vza(`)E_Pc<^D$5$tKH5QHoT7Z1J`%-cjF$wy|d}rr(;m9GtwG*zTyX1&LqC~_``}!Wpoz2a@qilot z?GkluP?D+jX9o~y-uQ#NVMfG6vBLsq#lb0cUr)zAyu;(H$<5Ydcccmc5I;c_T!#(P zTG$|mJ-*P>>%AwT^ftIM@QNC&M-iJ%&c3aX&{xq9TGFenNYzwl=dW4=->0HfmW{ zQ$razc7G^vUFL|6&0DYd)i~Ah@8DB?uG=|Ky@n5>v-?{2q;|djnQjPEYf3rBg!tVN zYpIyAAl;Vx841jTEVx`ZqFtm-RX^iTH7xcJ--S5%$9I|m?yWxTvI$$gZIS6j-N8OR zfgP$^Cd*JO$XH$G2}tD61NE1pJ~(}hJt;U>5?j=1@&g%2RX)X*2T`Yb)iXGhVKoif z^;;te>rFY`!rste6B{YJ;PW7?Kna$WPdJ%RBs4=D>}N4syRl!7wY;C$WPZ761(r}| z<+o4Yw-!4H>`!ZR)x>2`Kl_)<@)@CJ0>=jHYciyH6JQWf!h|!aD=zMW0pjkm?%2Rh z4QKl)on&PUnjDv6=hNG;PDO+Ut;1}=40kI}3CYjgzwI<`sYA$IiC^)}PJgr780X00 zHyJJiN58V_hhE!F-$m*K>yF`KR8>b?kIObhzsm43lpz#5R4i7Ya>Wmz);ez<9Oq5@ zt4KFX)xhtN{QT!EUHu2}q#V74xGofYt3R^%^YZ3j9$xNvllHDPQ&q}JULVI=Q*ZK( z6ACf+euAe4D}x2c>ejFaN9wQU&!mU6fI8QV$SOx#C(%W#BP0q`l=2VkGQ3`u4g~0V z2ElZi_9`ufoqeNbvcMv@gDczF&m}|vS4X+W(G(i>Puizp4_*~BQstC3-@T!J%ik z2}u>dRvc;x{Togc-N3X@Dio2w6#NI%=#66lbU;I1DMMi5w*VJda%1b5U{w=2FC6~- z(7j>7;jD-)aaqglTSM6KalgtM^agML`hobXg@)nkFK9wkUo_|%U$_?H$IS3LfBS`J zIvuF2|Io_|ja)uF-A8Z1EJA*K6rDg$W~lu zDj|VzNt0&yZ%VM;WW0QQB0KbOyYvAfwF(1RSKk2X{s0%}^8MZyHDhzdOgffvwwUU| zk)_Ux{ebgjAZmr0Cn^(v`SlN8=_8~`_P#*qS}Evsy*ay(VU9%$_EDkuu7oZVs}9ZW zeEg8RRe+}MwZ+s-Hw-aSdIsh9`%-*I%p0DI{FI$QOApcqSXj~rD(?3E3C+0ApJxfA z^Ky|FLiO?I%1x&QP&!jggR5&uG<0ZZ#e?-!u?pKJ{cOAj(pk_KKEjj$XV^I1Bf)de z)ieM8F$37`WLe;#v~vF<{RNT3ba1pWZ$T@Bh7=b0x7eR}XNE%J5+HWr`a1nJzMl?g znv~n$QNv06&X_bo=BRB6H*@=7l80B$ zi^Z+8S|iHCk*pu5w7t7tJONMB8;1aweA;5+tkf$L zdSh6%K>!rO4}?Cw2r(ysLP3`!x$!uPa1IF(Bg&8VEkPhuvVO=bS@SpBtSg^4?R))%OnC#o`i;>Eq|hW9objR|yYW?**};S&v-25*=8q*iWlm@_qZrAKlr zz^wo#eXWpFndi{Pz9G8TuZ1QgMrqlj9j*CUfYr0dt1+n~&aqFdxPygu#1S*5Wbxap z>6xz$!=|}puaHzl$b2``xJc=V8@1}BciGV2Ib+S%K>$}YcWu2zvbX6r)u;hH7v|4n zxT=r_e6!{r*sqCWi&F|Wb;4k(>`BY2nrS?tUNmbf#P`-@pPpDt^do2d7k_p;#gv_; zjr2B7K{2_o*U(3$e&wIj_f6_wmp}YTUO+~q5SAigKSWy z^SZ8+8poWE2O||gPM>rjXB-lEk7Of~``WYn& z7u`WQXD0xbe1JsbSTB8CoMUsaGISmK7dSU_k*3=o5}t35Pwm)E9&03% zbe9*s{0o)AK#PNya0jF#*NBQ{dqs2eV%Gq3(%+ZOJ)n%Ntx(buZ9CrTMG*crSTu+I zE?JapU;e`ytaYiFDJcee(LmY7KO$yXg<_Q@lRS$q`V{*xChH&(X}kp^Sc0q@wp%t9 zl(_LHK9(U66|1P-cajNNns_fIHy*y%Ae6sC2YeCc%GxWneVx)c43qZTRNBG{5} z07kagQJNHSg;`cG|l` zWv&L3Jbbo0U*bQfE$&kS3@?$UVBWAV*Zw-Az9djx#(q5-SaDzj}<`<+DAlyl~o}!u9($mFJcMv0o!ao zJdN#hRRsE%28JP;w@+iv6zZ&k6)1#>na|Jv1#f^YLI)vKFkNwzc(W-IF576t2R@Vc z0{CRq4nxb@)Q9r@Tq%|h!P3RN%ogJJ^ztuPjXC002hyjKkldhb(2`Pk{zj|D0jV*W zp$9NpNdX1j`CkFXi&cxBcCLsi>PISnDU(U6;uz!6%u_(BwW(O50u7Ly&Itv@MpO@B zvO0tncdI8yZH8O{J`frI*VjAG+V|T+fn@;d!Y1)qHlg9vc13A2_5K{&+&=3^{7ToT zI@?BB!}Ej`1wAe5@&1tU+Q8L-nCQc2^z^(~vuz9$3n83J|8Rz!E}#b5cw z=E{lfiIS3oO((?lUNd5jXYoEVrbyzB?ljC^Zhi4R;Jsa9xN&!cLNc~8@FPiV`ZeG) z5if_>VIBG>+df@%KFtx(x%1-A@SP#G)d#%K$rU&X(pwV%f|7yB@gDnzp2ZHoL#pSs(#+_*(r`Xef9 zJ$QNlc$>PCoNiN0(1CJ)=2EE~AK_nM|I~8g+)|^odkBG@o`nwq#O?v+M*2}Ao zr5HXe!1&sQm-UV=a($%Wl%8nU8?|=V{%qo>td4qb6?`HL zM`%zYLsoW?)Sae>_xK-qb5akVc*l@rtwhGfJ&E~Mr^?*>*6_#|$QdK(i)*1UuXoFn zHxb{53oVZN&-126c*9-#8($O8DVDJjWGV4!y23!bbv_!bR&8PMm^ewnxN5`1(u1U& zC>1w-rB!C&@QzM~k*!rXgz0mo2jOOi4Vu*%-_L6%5A*P8cbGAoM#=mo*YTE_nM?kcb&zeC&kGcXPBm3Rl4 ztKcET>(axwn>tj;hYo01)wHAYdT<_A8~b47*o5xow~xS(+QP+@hjlmp>(*$Q^mKx!YGXC-b>9hCWh{5ACBf3fel&;O;GSx#zz3ig zj;=kP>HYsJopcdhPDNpzDCeX|%6(gt-j5wW zET3vAVwLsi+JcYhMuZ9?r)+UwC5T;bqrd1XLR+v3D)gHA?ZlEvD_buaeC~gp(d|m7 z$I<5!Ba8#paE8-2^H+Lavyns~*aZtgj;ddF`kbvH&awb!$RI#hBE}2*%}p{~AXJhN z*fTtaSoXH>tFc*J2GK*S6l?JxxsOxo6+a7Dkdyq9%P45oj^7$dUk-F#ss?hBZPiYs zDM)3`vAT#+Dv~4=OQkF@x4i79Y0b+&g?%Y9v@O6o4N~y;OD(@jfYS}^LB}YAMNTB& z@Hq0U0tngEQ~5=!SmWJb`0%(QQXcD=?+*a6#7+SRwqhq$VP)Ce$QZjrfg>i7APiVe zXOLkt-T$tvQUk?y%FyCtMg4ZS{c};3=(^-LJqN?6gd|ay2TIzNSc`v_!K1<7 z<5nJ8V9xAOJ8DZrv}@A#$afDJs$gX~m!oXJLi;AI!Y=R4g9X+$GDd{xou|X`m7RZk z#*BG={C;jx{LhH$_ip+*uvXC1gp_G({ zUu@h}aQfVe_a*uJA#&pTI+|d_l_-YK18Q24RH8KdE?)d6CGg`EY%G}42Q<9QouRL7 zkc`jkv(8?1iKKHo7DscZYMxyi9uIxA>Mnzf<2>tQk9v z;P3R|yHBT|MHrRE#dIb;5C+x`R_2|Y8iAcyiwXaaUV{+iks4tDw+qz49EEOeG*b^! z*Xw8Ad^y3}I?lP6Sm?ib7p5pQ#+G{v(iwg?_j)F6yNt22B^mT|3bY8@kyG3fjwnc2 zi`^o7cZpJM6lR6>A3N4iQsc#;NaBCMe-i6a_iDVzt3V$ z5>)<_!Y&pA-&NstWs>aDRHSY~hHJup;nG3vBPOc9>Hw^&k|R^s6S42104&#PIr=T& zCRh=4v$zA2M#dRW9?A492ruvGahI@Hw_Ya<(^*qZKCdG~bQZ{4M>&Rdm zPfQlfy`-225OK!h)QL^1x{%AOCm*)A?zaQ4v(smhO$@fQouy%aQa2{N1w#h^yvMOl zOb&1~aycG-+?eb*{XBkyIw>4`s{}eJ9TJ6&FrdUcLu^5HGGG0D~e`;lS zYa$OIZ$tw7Kz5p7eNVJ5BU`v%mYx9Lg!-+KmTCwiK|2fWS9xDoTDSBND~eL(p(=|O znDIfFLH`5T7_;X)Z>g6_oW*nxtA8Fo_2Fq!v!-6A?E>n0jEHRzQ(T+1xNl9A-OBax z2D*jDz&5*wVVB5Kc}$ME4|L_(H-c*eMZnjb ze$DA?SZyr0z|BF}__Q-vp-c;&+OhXfYFtSbWel?so*kwN@27^m%0B*l%$POkftrrd z(`#GLmEHaKQ=>KP!L@QCep0tPd9tW6vYunseDNyS6lS zvGw#8arQB5kep@~uB9ZWE$i~nJLXn$Bf@JV8dP;#UOZ};DxubfHViXLDe_RZlrUgq zQnbMHq`p#B0{L>I3dzcp_W6%BFGwd^bEBiJIyXBgTRzMqvxSF{Q;vhqeMyqeD>-1ORp5r_a3_@NrT|fp6G}^9B zSAKkWpdrE5lw`0iQ-KbhLVLF{q;B$bnx1V(JEsjvH`sE|%I8u~Id;DwC>~R@wB8^C zrAX;x7)+~5H>O0zh(6SUEFVuL-|VMwZ`Q{2Ij^Xsjj3as_+LV_=#E6GkQ|YOQ&9^7 zZo~ER7^rspyTDo2R|n=AS&fiAQl|PF8_ia#R%wXX0-jvAz_zi-+AHRry5>ZON{hkh z_lkw+bxsz$mJBwajTHp6$6sBh?12g(E#i>$moz+b>V?#eD|x&+Eto`xq~2Y?`X%Rh z^2fRsnuGQsR_f2*CEmc2Nd{iVh=BOLi$f6fIt3y(6BtLhpB(BoR$iYq-NPPn1Zk4j&MI1bj%4t~#o5s<^ zQ~-!sO(-iS|HoA)0DEcA)X7eKBtj`v9qhfC$JNLUf#b^il^Es_(T$gQ3AeUH}a}o3RNW!%;3$ciJgE0mv?bpd<>ip zWh*W$Qa?h4y1^FHSedSJbvCKHkIg2_0M`V&z^ynwT2~Hmp+KQSQ8HPAg{vE&{$dbW z=E=^&Hg6YujiGtUC+g#3&}-mbTMYYar#`#i+XwjjE+&RctAvVRK@V0J ziy|b(E4N_1h#}}s<@Y9pAT5RNsb2d4KD8P$2J@?4l*cHGztWU$#0zr}BAHZpAo5V- zyoe41ls%I&$-DpWc5wM$!-Chp>jl%>IO%GLQj#C=N3Cvx01Ed3h@@}c-f=fq>U9W> zK=vcOe?S%%cyojz;w+{xkNFK6b}H&uT$kXp{s#{tXm4_*sw1dN0~IE^lWwc@c?2-9 z%z%a7Kjs+Q!oE_A1TsT(0#IIBYIc+PReJI7ku`Ks;;BUAdxw_CZx#o0c*4LLcFdZcl-?o$t$YcSr7=rJJM$QykO0-aAdK@G@inn`TSju(=u7 z77C-dw_fXD*JDY@dJ)EwOV9;d(zF^w35f*eSon$9YIuPWu1>Z$YeJH2WJ&4#MIr6>oz(7QS`(V%c0QFS?OcQrTiLMioohVCWu1;w7xlPk3EA+eehc&hq7rfD01yP&1D7Sn`lFFk{ z@HbjtOZ3!NSfc>Qu&*c?^o;UfRdURPcJ7vpL?4|fD_$<6)#=-O^^>Q=QxG*38cXF! zA=wzi^Y38N1T+;yQ+~o+;$Sxx&WHP`xo=D~A;0uZq36N1Pk1Gbn~!}(hVHJO-#YqG zJfYcR$Kef9Pb{i8SJp*%`?kgyU7$~CXo38omcFOSEsw&R#x}U*^4k}GtR_+Y5aR96 zu-l6J)kc3oMq-9yhvK}|yZx)THv_vphD((vH!hK8-H59Lv+jmI8&3i29FDeB2;0`) ziX5u%7VZY8g6jTQEpD^bVDUA%z0^yG95rvHJ@UVN(M3=b%?Ng6;l8crs(mZn_H%$e<)ak(SAZ(Jz*!z{HLvZ` zHxi)(h84tIhL@+ycewuDhnELyX&Q~@>iQ*l&9{#0_GR*#8tmq=0AtBE-tLxw^hi}- zamfX8{0&5`x@~IYFUFtBOFai7pD007C5qjB69@mW!8GEP`0f?Z(AOQ%V;}D?1U=fX z+aH~jbeH3MiMqfd(PrAiGpAWEjK4#Mrg3Ab95~7~h~#};9yej?vr2`;hhdIAD84<6 z&Zs$<{$bu@l|%!H!?u?u@R^%$1fvpicvVkfzV+SMfrEsHl}2iEgcP1SjorQc?K=v^ zR(qon*Ul@c7w}vn`$-@|Y`Sc$2t*@gmkJ(x6=?#KHX)^#`r}o9)~ymIR;I;2bl}_p z-YF`XyL9lhvDN+=?jybm>Q`erT-&{O(6#W%cE1#e+%aA4!uA>XbX&OglD?qB5UEa} ziOA=d?>R@DrzC0w-UY>W%wYmt=2p^ufXtZ7yiYyMp zS_Hq2R|~oAj_g9KcG}6qC&(lb?2Z=zES&xJQS12)N7|z!4%)HC`KI}-OkZM?tHZ{W zpoR<6dw?svKfr+XL)dP@uCgQdLDwgEI}v(~r~isOgH22ktsSdC<*>AINM$ zxKmU1gHNSKS{E&w9i#2<0X&Xj?f+`n9$|LQNuSr1)H?*GY5x5v7x`m)I!3cvGQCUA zYlZ$1Gx(+~v|`!-k#;?4Vmh5L8emJ_X2SOzrb-5G)|P-cYCqDuoP?x{prsWh^*eKb z{yh}5eiT^?sfNG-Kp_W%YB#-IYcZDv*eUeQi|aO#bnp4E=#-r?%wH zJEKvT{qmQ;{2(bZYic#30S_47XClgu4KOl>GveFck=`?}Y zdCUX8Y0KZnPh8Bjd^R6JYfK1qkZCyklpmn%`m>Yz;U=-q-~bUe!|pc7)s`6APYCZN zsn%*9?i6Ojy)FwlK+Xp6o+dti+;mev*5v|cr1MMp5cb-;xjZYD=(9;EyEZs?{f10H z!~ycjWKj2)JG$_Dy{iM^6>jQaCcX;@gXnPF zmM*9RZB^dLJ0HjvHa96$9tqo76wF?i^k3C263k75>)I3Sc^zH&Id-M{DPWmf&o=zu zms^_Hu9&JGDmbFAN1=-i<>JL9aFW;f#F0XvvbI9UaW{iXiOb0{_@@H z!5=FU7S4q$i)C*I=Qwu*12Zs?LeqKPoe`g?YzUzt0YVzb#io8aD?g;%O}_)N0cJ&+|JtMAYVqX z9=DHA1B3uQp{q)45X|Q(PyqN9NJ?vufeRdHV_3$U?gMd8uU%Cx3g(c+V57%!5dYox z5#hn$5j=YY7@Ydjy(2+kP~eg8)4~y6e8Yp!|JGn$fp&skhA$S3|F6u)7y{b|NUNcO zBlSeZO{Nt1XRc*-LWNzx51J~?+|wK9X?dzB7?dPe!>;I8g~J%!MUGs=c>=Deqb*^l z4G6BkHCAJ%gVv2MX#LhWt#)B9E0LEo#vZR(w(JKQ@AZxQ7(~?2(=&v~>NNW}Eke>A z`#5Mx=#UH*vinvTMu@YYKsHV2dZzaziM|)^&pq_^@-QQErtoP^iNP_K3kAF5(UI65 zg?ACXIbil|g^O4VoTRNe@?*AwaVF~g-oJipBqK&rMl^xYw}x%a6f3ZNLGEmQ*iA(0*N?Ex%1pK)(sdX+pp`**N2og z#)NHrM+04wJ}8|Aeink?=tez!86pFOh}bOZc9GI=t))35MQbfo9859@&dg-=ae80Y z?=)c^L?ja4=c?_L?YwW%|4!|S-BBeRXWpyh)Y)^E#phy5JR=)WbB%t!^o)p#fAVkC z=@I0%BDK_zuPn~`MY=%AW2qDG0s+(t6-rI@bzL4zdiLZqTh8Z=^g;bBvx^~HyB2!? zH0|V4)43eFfg>{WF{9X>P>8XefqpxGxF(vYMGnamvF9p2P6uy@U z_txNh9ti;eEv#5)!y3F*NOBhdqJTBopEtbV!?yWyv*z+1Ebg8fE_g9SOxT&7A ziK6-3W1l`OZgUKRvZn0b(O&{O-ZM2#KwgiJQIwV~IRhKQ`=#c#WmzRV%eGB51WX3E zd289<-$i>M_I|dD{%vO*lfS6-NW_JIz9sca`7pQ~3H*xZZ|BW&gnZ&xy6kUWTH`KR zi+Vd~@#6&A>CAxWV;`xLZ+g5BS{~bAeI3#%QN_2s$`6YTb)t{(VvM}C)cfLFZ`41Y z?R(%o@E?yINjn|Mcn5xxxX=EDs^FkgB%B+W_en|rMP4wg`Spj}b(S=k9L8=$F!YSR zQev2^nZAejT0OVpb=b0P7tqK%;73dudTViC?A0~cg_RViC|5Ck;(MH+bccb2Z zAv@uK$_(!dx@Za=ijQZ3h8n09mL$-E%JrCd9G}lA`*iE%X}j4|FB10}t>QMDrUgW4 zrp1!Aj!Aqvj3a^-UHZAt%Rp(K+ zEq*otr!@CT9{a6e;ikiE_@pfV^RI0gjuI0=eA4w;Frt}O8rpx5y!Db037Tp=P#UK0+xXvTQuL91({ZNIbVFMa`2gQM z2YDMeS9&MLxEfp|GR2=DXzg#no*VphZB6YOMU z;$cjE3NP)6FmiJ;yyl@6tTHizjkmam!p3Mzr};pwG7MjTc7yyU&4LcV2xBxH$^aB$ zpFG3@G{f6kcZ~{rCii0ru*3Mn3Sq7gN23l>6WRsZ5X&SVkKLgn1~y&pfyjkvH{{v8 z9f+e8X4Q?5Fr<9hyQ#v0n46%`oZx5^H5y!&Hl6l--Tr#-3;b?TE177LqXNTBg0+M! zPyv$S7xpd>n2vQXqHqZA2w%ju-(=fqxkkh?6poZ8@%#ScF-6Hcw6szSupft2FBM8^ zXTDr*dbsVzZJRh^Mgx^xJ-jn3o77b>f;GtmxGJwHSl?0WyblND`48z~EPOJO%P{aN zO0fCL3_s({%pq@C)=7Z8&(P5CvHImz(X!0!p=>yxr@lWCXRE9+HYUK%O?+eja@-EP zS-~q{W`t9lF$a0g)34Kfp&{4|AOsal445f7k~EUI`R`b$;76d4=_s(I%fF!>zBGTk zl)^r89f&G`5`C^u#F!clEZD=Ei%QKumqp5jE7b~ZoGvh1=}9pUgO_HN%;` z9)+&MW6vjOk$Yx+yk2@Pc<&bd4i17L?(CEX&I9*;8JielM~ec=n;?U{nn`ekJyzaW$E+aW}D7tK5Gds z9Z=S2fvFqnB0uzWy|y5XU!_y++QIgG5&3CJx<4D0O?FWwGK<9LyKjd_n!(kE78#UK zPyolzyfQs8Ts?s;Hf+}4gJXx-O1k3@hn_z&X&vuq07yGlB(#WnuMYKY!sOSr!GEW% zxynw-#k&FTe%!qV^68MYGo-sSY>rs%tD~h)e%2j5tcR)vJ5~XWalJFL@0pdg!-H|C zDvECjRuEjUPf-`NQ)$O4MWbsOE&&n32fIB2M-jL?(|BwYLgr=qHl)}6fR#m~tK+8WBx%Rv!UJt-Ubr`NFps>$mOS}1qxI&m>=>^v5yN9*!P)o*;#)}0dXM+KpK$ad zhw0k@33_I6TD#~0%Q5}lS(YJ!OVd;2vKuOY^cU+|kW8tQxp6d8Q`0`JokzJ>-mW{h z0A2;AlF0r9FmjOO3b;=nQ%Z^XEC``y#bh1*A&QxR(6Hj)7r>D#WCOf%|v@F zOm-#~u5pX9({ht}sGmoE{_ybUm1E;;|9IuK;sT&@&#&t5LMNFjx0$LpX6`SKf1A8b zRcPV-m}M3+*{g)ILZ#MGT+i#?-XV&C?jJo_A5}$n_DbzBZ;{m@DgX-x=JoNdKkEJ8 z-oEBnbUVwMQ6=;S23$5~I^+0`p>~mRE+3ajo(fiP0L*=BFnngJqf3brCEN1;D%bv0 zMt6MaT&>ATL+22s5DBIal~7r;q6k}K_5NLVY}?*_5UV;L%2E%qazP3*t#%4KOQegg zrUDM_aNxHoJHZ`%rRgK}$fWltE9`Rq^P&2N5M|MP&U_xj}~j?b6u0|iZyH~2~-yN%pO1sb+z*A_!%~k2#pSXBc+kO!16h2IogsaoKdAi zCjcM?IA_7T-8Z`Ot3G}Rm8!Q5gozwF-JM4>DGCH z52#TGg#eZy{l!K3rDpvEsnuV2Rj>iZu!H_1n0$loVgwc~7atf68n_TY3t71YQq z?(5*5_WyX$;~I+9yP0HT@h9(uf;YhOpkRIG;+?oZykMlEGpUFk_5BQIpfQGoff>Cn zJqHwhJ@NwBhM6GwP@ZLr%}4Bv0z*0-tnH6kV)4G>i0sCMk_VMmNx`@j0J#IxIcl zlXHH=Epl=d42uuRCo3zx#vC!%mjY?V4AU|Nrt+n|ZC5yKj1+{a3Ky%%!nyF3Vl!#> zZKgLSK3s}Dw1u1QJ@obc5ofI;V8=U&RmEQ8dR0-G+= zbPYg0f)jvVaCzrr=q-KI;4MA|$UzTeu0a4vvxt@1PKO>)daC|2kI6H?iuuK_doMEz zJ|CUXhSGJ@{Pi3Y*?R=G0kQqJ#`rPuK%Jyd1aSq?Z0+qQ#gWukc`-ki&^9ZlF$0%T zXNYGj`geALxXCrq&UTJ>ajC|3rjdG6)Fba@btMVH){cO1<1X_+f$YT%^EW&Zc%5N2 zIi=AgIjq0lsnoreKkk~-vURU3FULEwC7(B!pr?qR&~^qNbQfQFNFB}BoZoR~A4?Ek2%%!m%`+U4=8u>T3dVN30KG0%4G-Zbi> zXLa+q<3bGUa}SC?SiR}uOi*(9ehn5_?s)fCJex9D7OC`#__K6Q^~Kdd(v~2SD5R`N zrF(>H`S;uy6?-NPfuD6p$8FsIabuM@w5m!3Kg28;addMI^|)3ro%1u48;ZUe*(9#!E*@W+0CP-XN9wEZTVDVO^$BfQ4u+hy*b zevPCPD|QDtT$$K@{m3x`+u9bKy#V&aV-L+32^C*1fG3bR_Dv@%+ zDUj7N%Sm9=14Lf#)Cq!@-&X#ifeQF;0Ml2Q3*5~vR~y9@#21bvcWmnZyk9WiRkR~n zv~or>{+A^@jadF$qiqFxua?pVdgyn!Z!y+FBl+_3&AN#axW|C;&aztyk$zR>V7QC2 zc7D+26*cLlzJA-kUW1KWWq=!H*@HKNY=s+1z+cR>D6Cd|c^8>{pv28P$t#@lg4Tf2b<2)W`QW zaY$-J^tajHzA_BxvC>WLW!XBvH7>PTEdH@S??r9Nr|dr0aeC#OkL-dCdiSZrhspDL zA~8B=#=OVa9eE@q?_lXTttI;AM>DzPqQR~Z6%d6aw zomaz@d`VHy3y-vaJZfBTmRnML%@m77@F`71< zL#@b_0_&JY)NCTgc-!kw;Q#4X3UkJp$L3>#esw{1uUZTy4fyhU6*1TLp)sl|`1?5M zpCzKYnC^bd`}pTUD(SQrkQyoXGM<7BLmU$P)YCPP*ntwFpvzdYU7MQ?yK zQ^`w9^WPfBB3sm}!A6J97;HbH>%(H;r;)^h&=W;pD4PHQ@|v10u>dWrR%Q$LHI6c| zOc0wa?@1cJx-t1XGYeon720p`~_n7c1eF)FGS2SwH$NIIio zXdj@2W}QnHhkvZ=ViR2SX?_kMVQ>B7{xd6YY{6yn7y}Vkj=VJ8|K8)Zqc|cOl9#AZ zFm(Ihc?C+Dr^p<&iwna`z?^2x(obi?-`J<_w&&l)sozLB%;lcQ9UjzHy6Cw9#-${& zkJ-+8)ggTjpu^wOcbz@XCMUCSNUK+1T{{CIL*F!$dH2@_c8tnq@zAr@m0Z@c0SL%+ zL-?^Kun&8=JJ;V$Ra=Q@g_b>9WG$SnkpJ?_!glC*cw_OHO(RFCT!{0}2jXL;TU{%& z#4;7zEKnNloCe(ZgK+>C55#g6B7HBt>?%7Pr~4dzoGt?fjKQ8LNcS>+VLCGGmDfG! z>r;?33gSuKle&&9sN29Zq$JAvNw0}EEAKU{&_M`3xKa#q49TK)*x>R0$4>=kurbWWTV#ptqJ4x<`A1T%E zb*N)T)hvQc-*!46r4O?8wl!t`?Qqn+3mIqV@FilY6$c)yw2}EH9*kP53?uot^sO=2 zg0mHG!r8>iF-hQ_BQpQ7a|x;8;a|p?=0pT9P^KL??>*0REh!17lw+Z?fb4&BU=-mC zh_h81i0+saxDrqhZBJ_TZh%U?^FTN|uroF_0%mxZ%P2voeo+2Xozb~^?2({GLnBF% z(roCQXkdVZgA=kQo(*)Bj=TPCY=Y#bH#P48z^pa7I@NN6wejhLMe3g=gcX1nU>D#+ zL0POhz(Y7+DHgg?R&oUKcGnOlHFqL9%EQHJgzFPgHCNdzYwG$0qI55Y!jliD`R{U6?Y#)eUECv;(EVQWoNU|Y z`l~>*B@MM<6$=$Bbn`-Zc2ADy2r#pId&4r6uzSgu5=;ErSur@h%~&$ns;NmT{g&u6 zZZxoz!@h^nNfN5HKJy62w<{h8EjxHnGh?bAeUs}cmz}Lf0q1NK+QAkY+;FrN5v*Zq z@Vae1-L{#f4_@UcyxSzjGL+<1r+do>J4B6?0pK=wENGVF_LC}nBLU^)in=j^Hhqw= zwx8|$cD)uP6=;v=WlxLYsVKgAo2g>r9+qTi@3l}sZ#J~<@V(rtWyg{p4=}1`Q>QHN zo$ZbqCVky#^zbL}WP(rpm84kh5_WGDpwRcPKbH><`IuP8!8(MiOu9msFYkknU#*i+ z+<7W^m(ss+S*PmLN*EhWc!z`BXV^efDj(G(ooz^cfut862jOL2+`)onLfhz>fC@d{ zY^%pQu;kSO3Xv91KHA^7)5(N*EK6Cr<|d>*>G~>yi>+9q=&}KwFDV2nYXQjLskNk8 z{8uP?P__My{NDJV^%wI?X55gbdqAbOP#E0p#^)tRySUx6Pfl=FN)sfCE%1UY;<{Jo z$K7*`+0ukGe8i_Hw62D5)QbSvo3xhvFNYkgrYqQq+;g6)6I{j2v6{Cs za`8~PxUo1qpVQ2{ye{IQ4|V`inj0{xeOI=MpmRD&gd7D26~iA;0D9#QBR4^II#-pv zC}sXwmQd22$C!RVgFw&e3)#JwnKY^gDIM59Sd8I@ck0dFoSfS&sR|t1(2}c4%I<$U zi6iZ0eSZ=6d>wu6h;5T&@ZFK^6~eHi(8rHzug(1(l$qs?qA2zO&_Zs5+nf$U(m5rVT8A8ToejYqiurrt5Xkrir&nn=l20FKO2 zoxFdXY`@Y`KzlJN`I}>5#9%0fCk$08>j*n_@JER)QrTkPX9?R8DdPEVC)~f3nQRMT z>nr&L5&=sadbj+X@~iOzHlI~y2nFoJq2#_~n_Hir9R<+7X+kbqi!;hNNLy?I7Ks3fQ*za2*UpSMIT~KDtAfRJfRS@Njyeai(I=5r`qv~C_lF6==N5Ivy}@tctYF~vufFBxKX zWKCY>m(nvyr^h?|6l!-h{IT#vFO`#t|3>{#2zjDAjyF z1l07(3Szv3Gwj1)wmwP$WJWSRu%mr+48P(;7#!eY21RI8`Q6D7SJGvoZzUJF5;S|L zle@MiH~(*&RO-3~C~t4X>$<&*xy_?t)f5(!PmY7@+&KK>WujyK1TH}e@`-0rw$tGu zeJAVSH$Xx;YyS2>vxL4-XaltEx5k_3?;LQ6u#w4lGx;Tiw>x=EH;hFj%Xu`XQ*nU7 zpwNLRz-lWHz5|lno}SClmncjCPAO_O#i`Efh2Q!}osj@auSvPi%Q??)NgnFZNUqvo zlCb>*JXQ#B$nrNQZ6c9kXi?GNKzrwENPU3NSV*6|wq8dv{OC`j2arA$%)kR?Gtn;3 z?K5`ZMn1GX9*78$AjuvCRg#6k>ERagQxC>~GJ`sYvh+uCHG7W@2rq{Rb~0?f62>R{5n@5ML5J@N*s1aJo`*NN?G^OYiSORvzW zo7UHBk{Afn1PEZ6>!a#4ZU_H-z@`9>%>C%KwptKEN;NCL4Rh~DC=Di(R{8yiW*$MbK!YCWZGE^*^&0)1=PfruCk8Ip>S6yB- z0<7PN=Sc#vl}wFjwQJp3QPoh=H%k;tiSMr;Np6fBN(934ZmkebOj7S1C^vq3M74@$ zI-+HAN7ob=oyfs|a@@9z8yr3+4DU0!KDqX|K>$?@^{5;K4oljltB@}0RZF08=>+iP zFVVi)qYJygIMMt7YXA*)PRX>SBi*n|>|pkcu!?wBZ0q<=>tP&;6tBYieoL9md#ZiZ zQnY7t0fO;-m8MXlOk8xD^muWltm>p{`Mxe~V;_IP9ko>^bx+4K_QptzfQnbpwGz{( z2X6+{{+k?3COH9@l=|gl%eJS_RIiNTrjZR-t$Gy==F2Mp7QQDDuQW?qhdB|UWBCh} zL^7O*%T68@<5lO-QAePBIv^{AJ1ShcJL2_kO{b2CIU>V0aP5FT*?7~-q0bm7UdRRx z>;zbtgG5ju7Tam1|U5q!&d4MXPn?w`@BV&GACYih&p zfRd58mrEI=E@r_YTA&jh5@;#7?h;Z2=urFkB>~w1{+01U$^@)`?%x4_;>YrpyqEO# z5S^-C++6;zCx@LiQGr`aaxt1z!;elL3~!g0=UvOT@rxBhi_fP}6C8mCwrkUi)&j)y z25iU6dTPU5Y?8ZgVu%cz^(G;#Hy6Mv1?7#5c`}tHUfN|v(b>6;)g{iXvhU?gEDr4M>8zbN6=_|(C*9T@f= zOg%v4`RQtQzq{LdzG$Uwsfs$PzKl{fcytUtxQ+Iv`g+}LL`Nit^6SoIEbSh6=E}1o z>&+k-nKXU&b1jdTa$`QMiPGykcJ6cIbk=uEIkrZNLkknnAF;L5lt|m6nm@Q4DNB2$ zZ;UHWVwZ7<{W0X{j#npE93I~c*?WR2YhN5lHJCsD^?JwKpK`@ZB3tWooJD6`-={$+aqM^=}GNW2NtvL@chmUUdbiow!v6;bcJFC zWA0(uM4t7qmmuFG5jg*3n%{{zG_BF>e*aOkb-0NS8v z41o^=IvJA?zJJEYy+Rs?p9;(*xyAlZbZwAL`5?;}$RDY3;H$AlDz5#ng`nGnUWKHg z7KI-6F00huZ}hJ}qRKeNOAi!A zT0gF{(!FlJgpOlg2`0k>&lB zvx%0oVwxLPEO(5V&{00$1if~`bnA6R5>jqJq=8Q-vV6{T*W{396ae{AKK!Z0%DL%? zGFJ`BYoO*uF8m`%0$Zp;RI&Xtif&lQV%XyNutY?0#n^z=E#K?S%|X5$b1{KK_sB!*B-(PX4!36bc%Kwh zeRJ(R>&Uc`Lb)_gMeMQZsp#(!L~#8}F$}mB^SP5{;$Sb`vm@x8rCEK2wd88$em=Yn z9VtPn-a&6CF1&wb==E*`0|<-~=%&$`DODC+ey=8u=X zC%tI+;dfJxbnP9{-ZIy7E6x~3(Y)eb-o@Ep5$r`TT45rPfAuZ-*vgIDC_gHn_RVkK zm%5#x5C-pH=@edd5gY6i{*|Ab3%EJ(9GSbQk$eR@?Co2n~v@o*HnSwrAJT#^1 zA#{fwiV$x)$<7}Mj_`z49MFg!+4$!;#9@nb2KmwSeD4Z5vQ2?~MLg?_gnJ>G&Psv; z3x6z%{F>+KE93FwTcNwf4p%=Z?cT|UO&=bdR&^Z)QgME3(7IIE-cnvfX@rHx@jV&q zY_}`^jom%Avw7Cn?rT_8cPk?O4fdzXp2f^x>>y`2p8dqZuB)JHCxE^x-18_8!i*o9 zK>?hPT${~SSuF0f(Nsf9`M)*(vfu-C9owf4Iefe3V}HZ7tkgJFdR6$i4e|qZ2dx_c z_AsMry6F0;2O6XR2Mza@t7i4y^yeSC)H`-d1!sn1Cy481ZLDwOfAjlo?%rHEYC{N2 z23*bn9JiP&R@upRo0mlvv@&#$=#@-bw%I%NpjYCWq{eG5L(-T3**A#!d2szvBnW7v zqpHhTfL{RZ@IK-AEy+Kj+LkW>$nP&fTM!!uWHSO)xmpiMPJ)F7=mgR7(KoN6cX5J7 zm6+Q{dE>k^J3rZCB~PaqGquVJY2gPmqI@vmhHArxq`3XHw_*}^!Lp$wa$!=S?(O-b z4O@HlFO(Mk>%s-ptNAQ&G*&ZB+}^ZA#uc1aU*M3$W5zh#+QI{+rMzNqtRFndmW$Sz zXT9{217sMNU~HotbKgn9lqKep`Fbxrat@b|D)i1(Q+oVWp?%?irHz z2s=ajs8G$=3#gwmKcT-vV)|nLq4dzg=rI;0Gg(do6}y{>|A*6iH8uRj?p5Ab(AB zw@0kO{4KE%MW*>i4#^FEb%C#8Ye|8O!g23KG86f=a`9xyQ16jmU{Ad|!`39&f`P{# zk2w_Muz1pKZ=FzGVhNO7(7{+YufAcM7MK3gEyJ68t*wl7qR(jV5rJjRG$%h+e)9Ic zN5|IWIF??trTGD_SPhn`9-Zv@L{yd=lofQeA-mOY9D|L|pPj4@(8v4z9GV|nWVnh) zJeYUo>PD^Vk;;4s9Lm)I@>0otqS>k#@`L!=w7D{Gh>IHuD73tjC{l7oF!i6UPs_v0 z>>Q^+p4_|!{&P#*yGj)Ao_d4xqmn~~SIaqRxvOoPXr7#O!Wr^wnk+x{tAE4WRx}sG zG|#g)TGG8U?^U!gZ$W*DxrS{a=2}Bnn-Bjz+B|EAzY{JJFF#=h}WDs z$jhGFa838`kb|#apAvy*)EO0(0P@M^HOuNJm2OTWboE+l95Wtb+Va6&&DD*}tjZF2 zE3-mD4-{D~-kpFK#F)?`y#j_6u1#Q(S=qA%%kE#5C7O8n5i6YpkttV=fLHFKF7OYM z5EZ{t*jx14$1>@rpB-5uz3#*T-U2)7(^3`AC3!zsXT1UDO7lXr8SgOW;EcFPEvQ>z zGT)5|Ay)d6<9oLs(zbW4D#3&bp?jy7lV_?Qo?!A;Epp}@P{eDG>kXsEuL}YlRDj-e ztWUry3>EMFtsz0z|M82{gCLII=g>4wa)Sx)OeyDPm(*)uTdS>uU{LN}O|fHo^Bg8+ zyXZ>f)-MV!nJv3Y<(5rdo^T6;&KmNnRAA6}x;)49fjRB_4Q_hoI_QTE+GHDYya@Wx zyayW%r(6W;cQo(r^ZCggpgU& zEFs@cHJa%g*{YtAT`iFAPY@?q>62H$b%n2p8Po_G8?Q8`fVck%Ec>U7m6pV5D;U0o za_YCn2fu`svELfJQedhTlItQdn|#c+NZ>@0qP*ESH#b0_zT}SC+^(g#+in;DWedCG zTb><84oqdy-(WfBG%ZCz+5)pv`G)^5M!zNqP4SQe*-cIO{aPJ(GScT4JA`RtgV%NdJ zQs}CAt7c^sb{FR;^X^t%!WnkhX0S)10znI#);(^ujjw6;04fD=qE275YwFsY;3x@< z?hNF4HL`>+lMf{n@9YSM0UA8||B8ov27V>)j<+)W>{_l)%w5Ty2%uby3Kee!4bAHt z!$cQAOR}#zH8d(4e~ojH8XSr}aya}YU0DtoO(*aX{{;xi5Yl5iAL~}?Q8KosQWazG z-=u%A=O0b2_1s}qyjV(%4DlUKo7&0xt=g;s5O?I|ICYuInkyYb%wJP;hlV} zzx0}=VO_^Bn$bEvLt9fqYB~|60(QBFS132-pJ3Hn)bFncko{UHx95&Bha!fpwZlFA zp+fo|Rg_mDOpD`_$tUiA0JhY1O@#jpk;D7Pjdsp%%gan+UJ6tJT#6?D9BpE}JV`ggR3e+@Zw#byFcBm?{C}$oWPzNLEjGVR+xC+mffu$d zoBSG^Qy922{cx;2iAVKTk(vhGNfFuMe~4bJ3KHA)1Qr4=^I24sdrFQ+{TY~R^QIFD zE|783E|Hm-NZwY`P0Ml_oqM}uu5P#-l*-TM)R+_ov9q6gcG+Hxt&-oEo6`Vmb}RQe zP~XzveIgxO4~!qNbv_bE^PvJ1W80m7VhaOPhx)Q~jxs*!zx0!=H<^?7ZD)_j7aWG&sj10YX=ns#;pGD>l8l7+s<9x7@3kKL&Pj5QeiM)L5i;p%*OqpT zj_x#)F{*){Rju*@L;$OIwP**{0S30?&IycwpOW`Oi}z$<;6)chWSygY*sa?+jepUD zd?7sjlXyutdqz6i#wvoor?1x0Q+s?vWoP65aEkBXF2VgVn6PIJTRy&j(72T^l^e@{ z={dqeCk!*a!z*Jy4X^z!JdvM;af1q@R=6>v{S7H8v7a6kd5*iZ=-m?@8DZhIjtrB_ zYJ$(Q$H7ndx`i~Poeo)C#I)M@bWHg5hqXb!k}Rf=C_`~?c|Z1r|D1YEx?;^ZO%mV> z`=PuCm7NZ{& z*sxHUk0FN-xSBsVC&C+vH73CgIB$jY_0Zx`6v^ED+v5YqCgJS@AWategl3@_ijCzZ zqi(l@PZLPx22O#)S-j^^1!esYtQp7O_T5O$XLB%P$<*B`-aL&6Ki#3(eVhO82|EP% zBK>b?#_m%1cD8swo<$mxNm6Yxsic52zb9bj!#zue%HU;yYb%ZIC^7Da8~!Fj%-i@o zx@0m*d#$HBSoor4zOlEUzfIo!L!+z{?U8m|VV~>RO_H#7V8KeB3s+>9c97N89h439 z;Au(#D||!3?a`&@CdFo7=0MMQ11^KR8GgU?{Cr@xkTzwpxg2w7UV-$Oo+;~?ToWhA z)@YpxJkJU0h3#%80JbVxhx*Z%))T+TgdbrOTH+_lcQ5B%e@PP0IDm%@EabDfS1q+a zhA1PrZ={UlIT4H4Ox+63p|7IWAFiDrFb8mDadqdvh1s~#b#*wBIH&E*g}WTk)Id5w z@3@)lpEd-4YgG2<#2-b!<$Ts+mT8=E{!Ze?w~YU#epC2ztD{MF1~N@zt<<#{a)0Bs z#Jr^J(Svzl7p8q`_wUr*iIdSCGY;_AB*R~N*Us4ZB%P+-yC-V?%cc|0qkmu^7!JSD z*I%w*N^M##AO)~l990hM)dx}eo8q~3!%kT`feqvwww6Z{APb`5%dQR|Q-96S2A+ax z4*~=QN{PzeFq#2Zs%k2dJ<6O3=5YOU6W3hk33$K71IUX}zzDlvBv_1)K4d{i(eRv(&}`eCi^I*9|OZdOe5`+P5M1l36dY+4EM z#vJJ+2|<}c5|1`f0^uVQaS~6ZfYqhGmQ*rN+H>0J`z!z$4CPE>Ypx^LN#eC*bvL;$ z+}3EKAFcqALG;6D18@0+`{TJeD(+8n?X?~2i6CRGA=UJkp2cg$$FegYU)N=e)D&AR z0{NB!1K>i^Gqkm?`-U4jr^{p<(uTyxbg^66phz1qLkvyoNg+ARfafDivZ}x)G*>0>Fn`HN0b~tvG z)BudwK$`ygP)@s0ROlsT65ff$3;C0CiKuU7jUCA_R}P>Rsddqj2{+`%6pJ5ae+<7t z#c`=hDIkuX`=v+Sa`h|`>XfSB5=^**0Z?A<>yTZ8?NGfxRuVnWIeC#7FETaARb@lUX@e(X-bABJL5m3IM z6955*bE1p%m0an-heZ5TVd)RRK2~4dna_EEvtF0`(XQ0O^cBExWLJXyS?jwCc0hvAS>RuQ!o4lCgyO4uf zV-qn*;H!Z_xU@CVlepuqo&R|vh}n|>Xp)$l#YuDSHZR>tBUKG$@#4rOSo+GlO)Ro{ z#8Zwy4}~=r2ud}Cqr$~I`zBV>_LwpvnKh8pkRyc!^0gb?SeH|S)_)1I9xF6>o+ba> zVMd88OZjGqpC7ySv7-jwiyd1NuCx5`ZMGSKhE06u2LBKy(*$Tz!a&VVn~xY_Tx4L&s?=iQ%+LnR9ceG)?m%f+4Td!OfcsACWh zp6k)0maV(GYK0~9DeMR8m^rs zUE#}y%x<1A_h7X}3#IvUfT&=(Qv23&yQku)DC|GQYHk?e&?&;o>-{g)XR3>$aFgeM z*x}~0uiLK~RUlfnY45^3ibJ&);)Y-k_o@r0)>l{ekCsGE_S0eMGe$0`i}7=ie$V}u zv42vjaRr=GPg=DPsrLt|HFB+DsQFN0p7)Qt_2cuNoUZTEk=19n=A8pZM;!WhXy+RzakEuw7-?{e0y0BQ(_Qg&HFcFCH76C6Y3F9n z2AT~}G1}|Q1{JQ}BKx~o>y#~`&|4EMf1&F=TvdbVMB}y<$DaMix_l+l#ggl{w)|ts zjOqctsGR)O&d2nqJH|$%>zEmJ5t7@Odi>Gd!qMs_MQqC<+~77)=D}L)l9{b(THt{S z#pLUtu%<-aowrh_L=|M*G1wz5r{z3ZCsquV(XA9Q){42HztPUf{-MQpgB&5ao`k)W za-`^q@_lD^>cbGO3%5tDHaxi?p=W# z89IH%)SFHc1Xd?q`T4*|0^t}Qu`fp%hjdl0S*SVKrMLE7X z5i_rqXp8}Tzb;pRyL|PhDnfw{i})(zhk?(Fvw~NVD@r3fbt`B^l3IBqy=@A=>1@(r z1kHuD(p1c*mZ-p}DB_=re)hU=Mx+$tB@My|8soTN=%6J!uegzo7q%vcD0*@hP}h{;P$ zdP_-7ZD{G|Nn%*}4;TBu$mbN||NR&4Ok~tUMvtSTj=Q^>u54N!;<)=EZih#g^^;DPt{zAz8P;xQH3fY5rDq|n7DPK8;25>wkSdQ*0MP`lMKI;>?h?tNqD(LHl>?LO&#D&s1szvb=@&EP>|;jmAG0D@6VeUS9j;-qb)lU8r7@!;B@htH5#z!qC;$ zbq8U}eV5rw?pu8-s2uym6dL08{oJnmyY`JXjKx76%xMVyA!EC#;7er=u#?^vd^SMH z&Lfj=em-BKW-^5RGAeV)`=@a9_Jx4MCL8`}nt!;gqZiQm3=%eUkBdCtH_kEu@t*(uw?vr7D^VO5|0 zC(x28s7mb;N&(6B6=nDNN+_!ZUuWZC(GM0F5;d9_(X4 z95gkWC`0k)?Bud`w6btx(+*vTsWpcReP_7ye##`VW=te_6r0L6BMHt=enL(#+0Xe* zK9+Zu;UK;tw_TK(*C7+)aBHX+X`}3a_E;Ohci2wQX;xHH! zmj7ce@Z!j;^NEX)BRXgdJpX!4_qzVP&X9QVAfPd)yww(65;zZ_Lgn_V3gtfF#-#v% z!e5mH$Z7!2NLpU$kmATy*zPBftCPk)Rf={(6%dh}t#*>&+D|>OJ--cG{JTPPLVJrI zLCL^K?h*Dm+9D?SBzjJUo_JXfFhotwu&2nRV3sj@v>PdNO}zwvtx4 zguPR+Tk4K6GhCq9Jlp_e<3Z;Gdp=e)dHm8_Y5As%thzuk->PWeU38?9OI070BMp;^ zct2BIK_YXt|90cZ|1p03`bp*FDc`_m$x_LiQv3>S-Gzq>=YNWiw`>Az$0EGQgst)=E56+JM75K2u@pD%# z&-^BWwv5|j^2kCnfV+YlVof0Do^e;7u~~}}dnqF7-a6s$KMHDIR`adx)l1ClUwSV` zH~+^8aNZXWFh4S|uU8$K)iHFdbt9v{E7Hd1x3>AO7ahC%rg-+a(E=AgZK%lg9|@c* zp6#E+0BLZV2hQ`&x_{sz%Ra?4%{EJO@SDx)kOlbQ(y&LERhLtFH9vyc`4UFDqhPNr z_)nHZlAUI(qTn$r_X8%=oEEml` zv{`Y4>0l=wz@=X*wwhH@z&4

}jF_x3RAr2C4kFCYtCGqOt@<$DYcG&~zH8@QQn*ddsdY7h?@ zip(>B)V{P)t*Mj%Clxj?DN~ky*Ob4u_e69CJo(m&)(Na_saz zd&I*U;~WUV9I9-y0es_-)w5uy+-H_%lnHZ})Q-tQE(>JNC!XZCBFwwQTU`LbZ^r^0 zuA`sS!p()9`+S8&7Pf1){YMS5MbbK3Me!@%w%CMJOofgvZGxfQ%OSm}BADYurV#0C~) zEVgm|6J7VZMxoYzPBaBYSpUR2QW~3t#bAOEcyBDHSRDs*-Q4ozK3%+l22hXdTxCEDKeHG}nD$Vy-?@mAE$qgz;)E}eq$ z&SZ<)7Z(Mp)I}tqZd~sYo>+3d;-3l_Lpupf=O_|zdg^`o%w*pTzqknQbIDIdJa%I+ z_DwN`$Hqw5{lD}Qsx;QcBVjP}+x1(|*NCA`m}Kd^%4?=P{awdPe$>yV>7wi}yS0nI z^a9y07?)wWOQ0sq&Y*yIzE;eGqn!5nOMhD+SA- z=6dPf&>v0&ZZxiP@(0|pELaSmO4r7k(wPx-;*}~V0L0DLMuexwAHo?>blZ7!#8XA4 z+Bb|z%up`-WVV6EE=-;stM)@YK&F|O|>k|H%$lByH`#C#_sVOn!oxEZeMhy%xS#d z2=YQ9*)orCD0Kj(MJMv_zpuu2ZvV&1-{+FtjmrN47awRXzrMk*OzbrTjM>VTeC9)d z*%kH)FnJP8ymwvgU^0e>Gs>Y3eBHLhyjiNjt1D*?%c>?@j2#nx|ol( zSQ!-le3>A%4_hdezI@~D2Hea{;0)Vw_t67&sh0OL3AMEOY2v};&t~vM3XC!I$SKQf z5Wd3v7WcpE2bY#d?%p9$NmSWH<^Z6<60~7yVe{0L1_5VIlstpXb8FSnHOtnQ`lbvsdh^iEfgmc^=1Ot|kV*tJ>Uf zPN1co0DEL#})*Ek+WSLx^6wTP) zbPfkf@P@GFe5bql*XlE0Uw``BQ5KtK;OZ-tw7Qk0{IfLZP>h*FKpK=8f}2~H2iBUK zT4#BQf4_0arrLfm;N#!@63I}k{GwMgV-3GgDv3OU%wd(WI3@jjEU2o!;X;<#gUPAG z`oN4nefJtwmP|!y!mgxNQSba4gxB88#}_%txgZlgiz&|Xq(#L26DiZT>GI?zras6e zh{QAoT(>0PKiuNy^yk^$xDy#N0p1ndXiGc{{7ftK{1!*{sA2;)OyJN>o*4^B_bfTN z2wY{QP#~;8IwdUoa9jCdZ!_2tOx_I)(Hx;+T`6ua`2Q_N?lLKi6<>yUkl5e`)Rr)$ zQC!%GYCFw(##G{Cq9gNkAiwQ^d(!Td7ot2pTTz&AsfKam8ib(KX!VQkl6+Jh+gZ zHaohnH_@s7pXGsY+}?c#HQm@J#>}%#l-s&J*dJc`wtjoE@S8dgCJ7EqE~DOZG>I4V zT#gp6cp+kV)1P%Y-TlII5i=e2E~^p+O#f&#_Q-gDm=m^_?j=WI3Ee!NalY}Cuw+gs z_p^#*30eJJ+Cm{avoikYMADWWM;w@E`5ao*3aH3G&FVpA(7oV^eK?jm+JH))!H?};n4Iu@L+1a##7Lx4eoQf`sM^z{&54W2qiPeKUo~D?QBGSomzT< zbbvZQ{=t%Rv0*-%$hzDL%ONE;&3Fctok|>`=f?Hpw!Ip@$Er2cp*pfv>zpuXR5VGI zoAnZ?SFVN)IG1TE)!h^+$?z;Ev0pCWs6s|;&lDrNM7z^mlt?ZMY6IUd^$X z`|(LsY8!fktul)XEuDM@&#Wf;PtzWNV3)+34;#ytiwmQ(5@s#lepEESN+Bk^xzQUx zF{aNbQ8TD#3#Q5*1;^3THz)FNO_wljm15tz3(hhChXy}7Thn0r^5nC@KfnLd;}GinbsYc}~Ug!L{*$A3V<8`Pbfr5dDPFZqxrBkdJQ=GZBxo z@U;_-3|~b_Si+}W9V^>)Hqoh!D=qjFW@#O~&)|%PhS-sU__4v6%rc{H|eM5 zu$M;@-h3?$eu$jkLO%r{v?aJ?agAbXNoQKMs6*y;iJi-qo!{`PGn#z|^h@uEKKX^r zp*(o{>mNa@9^h@|(Mk#9Ms(U@D{5269!A$97(zWlhy|?2QcZIG{QlW96C<|SU7z+E zBKlNBWz#pzg*D-RCL$-*{3I(usb!@3tR*i{)%gg8$#LR+E`OozGdu<4Q}dYlDMjJ;rU`TCfd%b$PaO7_UM4Q1#Rjnf zM9?Ayw*Whslq+E0=Stlcwk2M2j8$@#ONQ?7H3hQHvW@2m&+b*sp|S9EGS?T=oni5< z%TO%g?a=v#2vq0)W1MT8_#ypXEgNRP*XKZi1pFdETqsbdP6lJ)oAWe)3wpwoqME?}oZFvj`MhF$5?E7uRZ zGAFYc$mUuQ1mRtvIdbv=B4jnZR=NPxUX6(dU*+}{!NXpn0m%{bDmy5p!Z7X4B@b&Z zOMVfE8N;Z(;$J77s5u5xae}eC6}XcifrNH!7XhLzpceFkn#(~a2v&!O2jcl{}16vo{!k?bI%AEMO6FtLgHoApJd3$@ew{Q5f*97kXx_RKZgQEshOUX$= zPf&Z`0JVJeCL{3qLQ#ha*W{5qI^akL#ZSb(H~qjIzop&ugoGK;{&^C7WI6BoZ!~LB z!>7@XouQCvy=ZfnTL|dkj+qtE(pPtd2BCc|NM>Utatff}1{6&={-t&b!-S7=%IPet zW)VuY{dQz^`)xwbw})epr~#>IhD-`96W8dzhad)~k#y=}G}BRuH`GsMKn?ZvCuF@@ zg{B0$h@Zn}3ADDJ6TLs&r!5qJ0jZTL;$b|6y zKo*J2=V6KId?;Z)d~IELm=v3S;427mwny6DB->k+FKhGkx={PXpkcFrQMaKYn@^-a z-P^%+aco1~v}LiXv2^6g@6}Z`34^rDCNZwK02YOATE|ZFxRn$fenDpC-hl(in^#Di zLNL+xn0gQz&uXwlsWVAsR7y1rE#f^Dn{3CGblr7NVBfKho!KX4t?KO}r1lfYQ|w zia&-iAE#_C3JBcAOUj{Oi=aXb8a%Muu#E{4Z0$eSH2q&om^#21kJ5AVrNg2vff-qga#2EW>z_`6(H zAKyPx`5os?biZ2AN2@PG`j1$Z{zwiZ$C5?x7Uyf3QwpiG)en zP5_Z(FD@y*B={AF5{hwWQ`=y*+pM>EY53NOa5B18wY}z+uPq|#Z8EA0Yw84skd z0Tyq>+#$mdEw&LW&LdO#k!nDHLm0Gd?CeS&GXzv%)rg}7ow)^Ws}EV{Feaj4X>h_D z_pKDQY3zLV&{DC@-Px@oV@)kn;Qi(L7Mg&KsF{i?u}3?i{B#8IpP%I0+u(*eDlowW zz59)(ZTzUi%r52|4FJC=6{z1Zk1mq<3dwKeXo;SoSaF3a>(v3oYS^U&9J}k5L!XwT z4rPe-MNB)Je}Ea-FFgl_xTM#*KB7&NPM+fTU1*;`l2Vlhj6#ePL4X*7!y9qg`Jc#| zQb1H={jg=L3y$Q@L5i9Ax*n&#(T$3~xRL9<-6n_m)xu7bG?GH84t7d(0LB-qq(3(< zUjeQK*S62Ne$+xOn(1L9Tl{=vR}>|`e`u-pzWU&o-opRX=sa_25UTuF$$OHu3R5BQD^R}|Dz&y_uOu^3CHEH>zmAGj5UcDCI1vuT`U*tBftal}Bzi2QWW zBRxCeqlg0$f2%^T;);Mh>lqRf)N#(X0OhQt^Xo~)xJtt>=(rw9>Gor{c;40D_mxRX zBX&OPJ_K|t+giU-0sowi)r~86$scP=eSaZX0v$FkbxF#VpY!?VEo+Tp{^PU)7q8B!QqndVytM`D~XMc5?~7o`6xxKbsBLPfC|%9}`vO zJz|%xey_A{HP^Z<%O(~fxI>N#kqZ#TEkw@ExYc&d zd+@FMBFt)VmR6vrkbGV;i4RYw2NotcFi0+gMW(9_*v zuBW>6JwOT=YV0yLidh)x41CYqQdYDSgc|gJNRa=UHYDa$Rsn=o+7kf8i{2 zmjEVC3yICC+&ix37A$3m zqoyta*kCN$mE31cI9eY9=E3j=ZN*=m{NAQ40-pA+q$ z^#KSE^msJ#prT+%yX(ILt84IpZ4nwx_$)-g3E%6=<|@qIN4IM(Yu)wCh);GyC^cs7 zRhC<3Cqfblaglp%-nzOE%ejRK{6%&SSDOnD&1iw?aEbnnxb|trSV_NbD`J1+yeg8- z`mzw091(N!Wu)AUJcZ}@OOHcVzdBQQ0$|BhA0tFG09%~X(d-!u1Za4;{QGJ#<7q`P ze59RmnrCiSZR_Vw5`LK~+I_$|#OCssB(<=$%Dmw)nrz%1;}mbqD_*JJv(8q^yrTo}>nZL$Y=7%~GWKj)yUtZJG?+Iq;kTyB|NQcd~D6+Z>9*(2rBR>o4Bkx$-yg)}GA{qdAH-zChxe*`s zu@?qz4P`t!0i?I?ccDKdlR}J?5z&pUsCF)#C>+T3tu)^h@FZCj5}V+TMly7g*@TfXZyE}tcOkj zYZMHy_ssF{{qUt!y!$9@fX5LEIHM$W5&dA85+!THS*Pi?H*dTLs6BcC@J^)`X9hZ% z*H3*H!mLPveG2$inCxOW@({jrNVIq{5wd3ARsM}4$FC6Pl!-1#Yt8H}+qCcJpDkhm zgC&(PP9i=vQ5URy)gfdyP;2|&F=^g-4A)?hFoFT#FW)@YuKcCf1*5$i&8x>{EExcF zC01B2)jc|ECwKPbO{n8?DFd3q@=~0NF#YMhBCrs$4{uoGzy#D8(LZ@4+WxZn)iATq zU|J0@YBWTi3(Nj-us%7l^q*$PNE0B{ZC4e@q8g55z4DO%%v5ra2tn+(ma9KegBZU7 z6!F)wsS}rK?N|MKL6n1dtC{%+eSH@Z5G2!M5xM+Gqwxf{ z{I^t6C%$GbcBrJBdrAoXbWgMj?6Bt#2i`2~2_*Zqg1hy2E}zp;Mt9~5$l00Wg$IGg zpUtC`LGA5i=V_9eqLemNk;o~jT<>PJustd#_50hqSwv#t2EguHH z_^d^vWs8fKsNl69{k=Cq75c!pA`7MFRzU>a*GqIVdbbM4_tpVR@OJ|^c|+q*fEJ`A zztU_tVZ80sF*9TH&bAZ4Q7?toINFUi2_uHTSO;g|5A3=TLLX@}gyKQIadtAk@Z0Uv zu=9>hjQmIF_-;_2h>_y4n`QZ1#6?yrr#xBE7pu~rzdsIacdurYhTPM7A?ig{YSSkX z;HI<41$m_E$B=Hj5N6zO@uW_`M&S#;*KfL^Im|m3~r+U(gW*@$TQ?DM*zXO{&1!% zOkI6;H(l~E#PVq*=M?6ukBab+JC+e;dz~VX<&Hd414nLEd_iJ!>GHwRf0j$u7vdWe z<{>{@p{Q1Hlz^gK%6{;b_x(kSF!;he}8|zRByt3GQ`i8l2 zrT4$)@TGnaKI^&1{4I1s*qTpPM&mY8Ij5T*tjR$o+5BA#4acxA4Kojn`{uuE>iZgNZX%K#*q z$bT0kyd6Y%_N{&Qq;$scC_V}5KtX`AgR83I;O>-9v{Bb*8Q(rgyaCB%f)tGi z%yP%17s$fai}~X3D2eM!#jV*(Ki^)CO=XmL^vIUqbi&=6C>uR7y>CkBy1P&n&1QYn zSFz#ntN;>rdXKo>Ods}&)a;lZr3V`02Tf%tUi`(^1eB1^Cx7_M9R4`M?aFD2cXKNNn2hFo06G^03-tuutWlHKd( zMSJGW24qjoa7y0xk`1UwATx6^FT0=S&<8U=_Qy)orU&h2#^B+}%U~y7@iOzxyn_7J zOM48meQ#iiK@orK4m34D7XpBX&HV3Ua}m~PMCl?OL6p(SUwO}bGCnAraP=)nmROfd z6VErE;$Hgb8B`nfA3+(GjW3EiexzxKL}E9sqR)fX{`Pf`PG{Uc`t3k83wqd5|GCku zffKt4yjzi-xOeXKqWNW~G5oR)7xV^%xx=hW$XSu+i)gdLTPa=kyTKse=po8(Rq8j) zC}Nyw5ck9P%xcL3ol@VYbm_!LKV#AQkz@@#hw8C_*o5s_qD@2=adelIF%rnrHWU!i zI^D3*S22!`Hlr4HE8$D5C2*m^VH4~w+6|&^i8r0Yi%!ijf(Rr)*=uvedcdS`E0DFI z?#2)xN3$m5rIem16Z1!7^l8)mY=k%r!Cy!@WR+2|<|=&JH!`T8Yvj7|4ypLs@@@9$1D@V|!FJ5Oq!^)NF zWHN^gM*uH=E3*cqho9-{v)W)1Y3zz64Fe2_0g*!Gs|SbM0QcVxL*D=XvKJSk^SQw8 zR9AjYc?p+h&d1YvA{pgXi3jP}YtOm`jxqt6EXICI#NEsU-gl)cb%+JwNlNU)1D0}t zYz;c%Dub#Gv#8Zh!%bK_U1}7w~-?+60jV+>Q|NkqUo>?J#y3dC<<2Rb3 zB?2v6dtuijrwtGS4VQ@r(l^G>h3oeCVqNLeIFmk|Pxugi^c96CIQhmMvnAVGP>-7$ zz)aJ+k?jD38KThN;+BgIg#^F_2EaMrqtX>kUo!sio|A$jGOCv?@_X+fAI`(mfvrX% zPbek7cJ_hrOvHU^mFMwadURdwvY>!G=tm}Yl*}JKFH+v;SV4FsmSC~>{n5ylKm`Iq zqH`5js>3C1;r9kU2Fcw%nBeE%IRV&CLS5QIV@ zQ`nn-d}f52@w$>9CqnWer?EwUR~0|`93D7@&+h0`ff4>X61PMap0+?p!Aa@b6cS1t z#(s5nfQ(5P;zbI&q}Ny_tF8-V- z|I2Gdq1LD_@L&H_xEHxb*s}OTgzitfpLKiwy5&V6gjw7)XoTS(SBLiJcJ?snHw-##KQtfl9OoOy*C;o;y@(Ky$ckTjCk1ctj`nv? zZzLAsm@(E2yVE~OIm@v^IfSW)r_tFDxEYy>e5)yW>8pbCg?@FiJOa=k3mqwYI!!y- z&zWO?UrmR*kE8?7wqw~iS#_@`e&VzacxGX!^Dn!?$5z_wc1!teFfn}-V)GyKlqor1 zmAxv_^S)c0r;aAxzdT1_zbMl}G4SqapX|l22C?|VJGdeyh;5?2-&65nrg&$^XBg7_ zgE18L3ex3uD&+M-(C^2cI`HWt9vz&{eiOxRJr{n-pFO}YqhcCzM^wbzeRke>DEmS^ z&Jrk%)8_(w7*X`76S#HBvN05dLiTR_voRyt&6-Vg;rJJ&3j~9WA#OrR%-U~;3oS`) zpecqUnAfN7A4>9s?5jMP*6@5M$Y?gk=VokHTzAs9B#&>xudm*`Y^JnvP`uT~JPLmCL#D{iZQT=1KOn z7-yWc5$);w@!JSV0PJnj$F*UD6c>lL={GLR+mdDT-Ixr9dsXY~HrO|w5pbYQ*mC%( z!|Y%PWMx8bB@1^7u87SmH+W;-1*n}Umd`W@=%YgeRHd8&h=^7FVF~c`aaF9Q!q4v; zo>h6sKI(WZn}r8FQ`!}1?@u2_ZRb#l;6?!Xg*w@IsGK4>CQDfVbDid%Yt z0P;~HJ>LjMB#m2tA6}E&4QGm>*7s%Gace)0?X(t6C3HCQOn7vKylm(A2d}k8;QBTM zmSH9kqc##P+FF7oToL?O*#06rT>Afk8~G8>J*MR$OQLKNnRFOgZ)twal0S7}W$<_4 zB&+w%PJS~YSBDeEi`h?ojMG~IRVF54BwkR@(l7(prnQXC%?wQeYoBA3Q?s}oI1?9$ zD0VFGJ!ducP?GQUhXd{rafX`^o8}KykoODFp%TQF-`AG#mmU6=yP(!Ogdi-7Z=Od{ z=Ps!IUDYm%VqSAW`wuDPE_i=U`ut#0J#{N>W4}h~gV=PfZ6a z$!)76mc%NTxo(M!Tvmp~Fbp%pY_t3J_IrQ-`D?T1eV_01eZHUD#EIwLrsz9Ig`GHe zFPq-W?=OG%WvuxxzLMD+$p&(!v1+xmW_yidbOfcJa7#kex{Oh5J-EwSN5-4;?;b{LZh&CE%KbeTrGN2kskgr?_%8 z@*8MUk>YtA0_QB63Tre9f5W`8`)R#so?|PQzz%V3p zo=RXg_Vhh-4|Kg!^nqOtX|a}h(YW{@(8)Sql2#rv5H19fSqN%op*~S8Q>yVzN-S1z zl;e6UZGDZF_kV1$3zvWY<-rX1Nsu~1IvP1k_M%ewAx}AvhY&|hW6kx%Q?RlVNYz-w z%BGJU4C5mTvj;J4ycFO_Qp?q!^#}H+ho&Qk@X}XPC=%0{Ax3CjkIhduqyD{j3YyVh z>2jFg2Zhs(C-x+c-pVFy_^W{!D4Z;%NV{c-4@-5|AVO=)v6`7$vcht~fuq;7>2~aQ zWwu$3o-QqcfGB?o8CO}fK3@T~3h&P4No_SPe_=3@-(q7P?Jq6blhi(acZ(qDzMW}I zINjD!g*IM?{5e|enULkHT(eF}_+m?K%+JputG!uEQb$+;Iy_hy! zs>OmXeo^l~e}e!%BJPVMgT*G$Ep!j?Hq5=2tlNgqBJBOO=pJwclCNRhpU)L+*tN4= zd^cOSDhz4DTTpqdk59-r)X}6X{=%b;0EKaO!G^~p3UM4j!1i(MpT1sHs3t>6;T)vE zIlcOE=hhTD=m|;|WOP<4FK6iIY|m+81jY*K`-p9W+VC!0}IGiov8tXZ(T73WH&*(SQGHB84uA1o!+FInic z@&CTuBa4^KHX^WR6H;#`HoKQoDJ*vir4&jTgS~6yhKXW|OQsu;8>2LE;!m0U&->43 zV)ZCEND;4M9lwcP;+h#crDyi`Dh7K(X9=q#Tyv}{Me{iisN5tF$WPL1HuaJfS0G4G z(uY*@;H@i^d2Y@rA9Bh)B+5AGCDdgX=8TMvS17$GKI#JgZ=Km4UdFZy=C+zt7xMnm zckGgz!w08zB#Sg6mKm)ufo9RHzSI@sNVU~+4OD4h96yI%t!VID(N;U5=a%k|pgq8& zJSQP*!*FJ?y57cpxUYO+csM>E$yV4}4_`-fNL}m%iW5EQ{9z96AU`h!voH=KfZa)y z(6Nmt-G;vWwE*YN*~9v%db!+?e4|PJiD6>HHDx*$k!s6l=k(BSpWJfc^VL1bzJ%r| zAtkW|xuP>{d!QG1ZK$3l1q9cTeI0+S2PFUk=|Jw#ZU&6{o9`K$H*VkKhJgpIl1fd& zb9i&qO}~y7dR{UIA(vc=o+BoMh|zrPgT@?(o*R|6tfw%TKSsh%*tThGQXLB}Y2SvL zxvb&X$}R85r-vQpO<^PWGb8m|JN(t(vxelZ6C{o4Fg^Q;NYAQ3bAT381POC0ndpnS zx&Wl%{#N%RvVX1qZ~Uh)bMmDN;(k4pu zeQp*PSmRSSAGcs()MaNY9F&<93cooh*^B+@nuYWuJ)k*D!XKd4EgES8gbskueh(?- zY^39E)RP|C#86f#v6NiPM6sL~%D4erCk>nlf4S=rxEAZ&F(gZt*k5fUfLuE|S0kAIX!h60eEUG8SU{!q&Lj-m zG<%=DIU}T?6;S#GF=C#?YL|m`CX@?SYN$65(a6m(j*@9E6QogAjd*`}&rTE}DfXtRq1^XW)eJR6w&0YZeM%d7 zOJl3bHFk>p1X*{$p{=pNKZLNWS+jcJ5jiqI5R=veSG-EO3Rz`eoragKRg_tt7^^$2~;PxbUUOChq90-x(32>J6eN!*$$?9`0W}sJ#rL%MeP<`x-7!zG$4dcKhwfL(kos zCbF^ipbu)aGXYl2w}15JgZ=wD?R)NraQVUr4zX*7{3K_#o)UV~AoL^#NX=2Mw>Rlzp7mta{qzbUVD5~^>p^A%`fYxN zOXu(Aj+%TF|}*|5p02H!%SQ(gYs+hYmV8*amY^H7b9yz!U91^b;cD+7<}@ z6vCmAa2oj|C52oTHhF@K~$!Hf_Ot4A+=e|4iNxbrD*2^;# zgjX^oSJAW2S%Qg=gt(V6+!Wj;_!Yc#J$P*f34LZdq^q>6*~|uGg&Hkz`pq^{cEc6i zZyhBZ&mwbuE(|OlEQWI#%#<*j1>q&|`|D7PzlkFV#z*L%Pd;C?*>WAZl*qFdt2>KZ zqRT6YuGWm>N-U4)y6PyxxoP0*ll|E1%Y#-CF6Vw%qs$k0x(Kz0Bv~XMr96eEUDnS% z+HM+l67W`)(C|v{LFF>Zs$(mYVuEFUi5b`T{Dtu&qWKX%Kdle=Sjjl3blWKF@^&lY zR-#0Xuk-@&-l~kwgd?K(uY`5l63}p(x{~(D6h6j!xV4@+!>w048Vm#ugy1?udw~A} z-$HP+(>Sa1mSGL@+0EqcE{=tuv^T$^+=cR}$c4bGr!x9t0ylU_V-GXHCPtPAN(8J+~ z+%ngg98yD{N5Z z(D8L_DM-A)B4X~;oIMpJUFI`ny?aJzZc6Kp6}BLt5kYTx;PU?R#9#CJal#k4dXexO z_LAcb3+rG~NO38KgByP7cxUweQTLzZ$^L}aZxzJY&2VqX`1~u$%TF8z_;QFSNe=Uo z4TU0*%Ap|)LbrR9y$+2i*6e~jmOewE8b@k&s5;cv&@1~Q-uSmp41^uu^Lx7)H=QQsY7hY( zw_Q36BDmt&Mn0dlPzozg{9($DF&yJ_BLrGXrl!4yj zn(6lJ={a_ty3~&hb7N8a)G9Bgq({XWjjGIxU}qcdIkGT&AEDyhg5km?^cK za5}x^#0}(2n6C|?dX|}PqmYaUjTnU|pKmMzp`X=5EOLm_>`g+Sgl;${)}_Je2htDQ zNsgU|H!)wU@NQ>u$G^qt+w6O%&77I5@R_NaVo4hqKNO+1jaUDM>ViHkUqgc)-{FL7 zq74k!s`R~E<{-MrsTLPqlkgvyHR)lyxE#ZT8*7Ho?x=1(714!|uqL`rKp7UXQ@CIe zxn-qVxc7Qyi$+PTAAxe7Z|JrPrg!nMF1|gL##`frw-RDtb2_>tr(vS6-^M z0Bavj8!4+3jAxeln_M_wiSkeWX{81lk%uEW1ICtDOvxXSysQgpQ~Tnk?(Svk=ob`c z$*R0!AA}Ek>l(GLZM|w*vnh>J1el1>S+qNOVYiUaQt&M0WP#+Z`%s-JG!&mFza}oZ zA$<>u`f;$I(rBR=V|Lu>?@n`#<7sSYJWbG})$gSR_&ERbyuSE`e}YzNFQpF|88P(i zTEhG4b-!^8qn-yjxbFVN%h<$t$9*kmHEq}zA(_FvO|u$eOr3~Z63#y0i#<1f_N_l~ zM5vG>ol}RC>a0gQ$cx;61=(P&`#4#{oXPO9@(*-lRR7rC^{8^!xjN6dbisy+-k)PJ zzc6i+QH{0&A%|tyRoX+i9l95)%K!s~nuiMcSh?nRr|99K z6Am?j_Bh*Jqbg|21T`R;YQ1p|!y@%b{b4d1_31A&ean&cf$%%!pb)=IbKsXO+j12foos2Jlcn zEiRLx&5h}-j!#80SmaTZ+9*SK+CU6xR9R%jMe#LY$_x#`4(47?j5%ODO1H)HqtElG zy++zm>n@$$ zGhzR%x|aeA8i700?PdbFn(M6V_{CzL>7H%Id?wXFjn(tr!faYPl9JehNx|A0@dT;F zm#^j%e0-97bcwIKB2<9$M9-s3v%pYqtpJNX&qQCSHQcMZyB!p0q(8jKPpKBw32`%o z;cNW4eJ2pMn)kaxH^lxoQ57e*5>74YUzkE_fqN|tqzBjhFWQ-#Ze@_pjB8pZsS9K^L;rlUZ-~V&xgNs!{tY4#1W8D@o3ztyMPb76{2V4|tWj%ulWw{5>gJj6>6eH8!a2iK*S(^pMGLfk$38-_&lL46jxYyHD)y2S zvLw(H$+})M_)Lb2!>jHY@pRj~lTuL@gdtdu$2mW>&2gK}*;}uo80M?OXZ9gcfH$!_ z4rem$pzCt;OXHHw7Ro%x+4u&|bZgao>YF=YRoC(UfsK%u~3B1r%cS9-9 zFj30&j%scO{j}Om?B#Pv_zo|}VhmV#)Q{*7$5TrPWi<{xgTFA&tPD!B36o8>@ebuYnL7T zFj49U4ek)`PRV-jHmSmA839`3&prpwK4^WF05OMYq_MsDpjn*h!Cf)`o?32VMj}CY zJ86_yddybh@DSxMeOBko=vGhF&lrpbm63!_rAoAjsp`?xu&6Ldl`OnHdWQ6-l|hZU zdtw>*YKan8@OGnne?~pTl`+?)oxv=O#LQt>1L(Dtu0{_&(Zg59;lj;38XFntqXkP+ zBQjF;cX1Jc|6H+tWl*oo-Wor$AcOa;(7JB!5LIiC6=aszl>>@G8pm&}+?%HNpm>JA zi^9~%)Y{b?z1V|i&rk2&c`wC|?#DKs9`vIw6Wl+dcKO0tG2^}i`IADK3!}Ml$|C0C z8vmePp5I=(Is2bYoXNQ@ySdQ2FmLQ%FoDl^1VJ*rda zGs*6+_&L6iqVy6`hUySyW{o40v^XUjs)$G*`$hAz;brZXwIi>Q(^aXoCtQS0%EDA& zhsI}=wtf9FBC?pLXT+;sa`gspNm!UOykPFY@xb86&ANkmgt)m_h8xYTcXC5z#X!=@ zXNj~oo6H)H7&-pA^pqnmN;!As75Ca>S@lD5JV>6Gcuq0iH;>Fu6U!gY_VXvII3%|| zg#n#lTFu`4+_W)+x~P>qIosNWK(sEV`mi)M(cN{f2D+Titp>l=wCcSvHpPs1OoN5< zzoy|f7D!1i9)Ve`M_H1Qx=fcsm`3WFSI0S>TA?<@f9NUyBnIoq^1k9OM77x zky-~Y$|b+iPnx}tn|rl=c&|_#5dk=hi-MQ(uYCP7PEs{~LXpGbG|7@8t0d@tA#U*@ za8>>ijqN1uyq`92<`#1QVZy81kHKRLnpi|_UngZ|lw`BX^|mCj+nmW~F`0c0{fgYo zra*qf9PI)G0-q0;?*HuDfa5{3yieuxrGw(2bsaooiA|n55(xl2}Y z_b|`G$UNn$Xxf&MpkhszrKt~0{e0(NaYn3vT`#Fe=g=a0v7OQEx4=QolI~e9dv#fS zojrJ6KAKeHT;=fGl9Q#9v*y|e$6s%xe?D++-sSjr@=Lo%e_xzA((aWgw2Gvn)wu>r z_&*6Pux+H()ZaP^d+?9arQPBkEaBR4rm20DNkk*}hgkzczr`yzyk_7GH$|j^T6pPI z`3Lo-it-CJHFB;QHx<&9sIYgVtp7Z&f9b}VXtP1CofJx?E=}0x$!xi#?XHEgr8!$G zJc3l0&ygOHie8GnaKzqzW&m|d+L|xsd4ANrjgBHk1S{rrfhce>B?R{g`ew&TQe zggvjXuDWQ?d3N=znsn3!w<6VsohM3t9p1H!Y|PT!3CL~D%DW%2Y1*C=k|+Jr$cJ1g z#R>1DcJBOlUS-J^baPmwv`IhFzm(Gh2gpQ?(-YdE?)iY3?o;N-VO#o-s4x64d^+MV z*}nJYu|)*P(AY?I7uMrXBb{zyB>*A0<2FUHIt#OD8gsIaS=`KF@@kQFb5!&9Ti;<0 zI{tZ4$Q^o{q!y`hI^!PG*}h)S%6gF{C6*idqkiI6L*3DQ&7*5aH(p1!LHrJPN@(?L zWvOT1mQgQxak|TEsl{s}`UNQSU|(;7$EqDupG_iOY#ry-@Qi-z_}h)cNqFd8T4TPO z!`FG?*oBCg-eb1}Uq=Yj52POm-N?Ahn4q@)QtPA8p}rV`9hteW%(MhL@9d}56mh@x zrAfvEIxlkcCh8JfC7Ae`&_9>MN*!In?b7wXKAtwX<^{|bQV*8x`ldO;-Bx2&^0z~a z4*vBF(n@Q`a0{PgVS2y)oOGc_+{fCEMA1jt{Ony-b9&=0)2Ic8m_9hNFUV;<=k)A? zW=;!ymvP2FT}jqqm6Dqghi3~%5e0N(&>Mzq(EfA*V!u zIS=~qJ@*gb&Vf!e9%Q3ri92JcNmfFTxT0T|Uq z7S2-eK1n=rOWgo4Ch(6A28Un|H z@YV~4;VnW&qBdOfzO4%B5TZ)}RKFN!B*F{Zsw5SQ<63kYg#teFT}uG<)9H|4?eGZPkYc?v+QwzlDsabtbe#;7Kn>KG}Ah*j563^y;j; z{Ze>S+e5}Bm%khh@Du&D=M`pSo%Q}&RU|csW+P2pi2d-Uvb?flU0-zcJiDLmHPZAK z}FJbq?53ni#7NN=u3r2rZmXkCGdal=sabNy4-U2S>B*Pj=&FO#F@{*30H3;Qf*gEBz zjY!GB{Gt0n!P}~;#F=ZlOi~tO{1cg^tvpAwYR04;=b3LeQSDI2j#tV-iW6<;h|y7! z5EmnyfPzn5Wc{5|Cw<5 z!1M68F>3z-WVfXTzjdL@&0g(a^QF~X)s!@9mGr^IBxYT^6Y7p%|C;KyMH8~9L0C+bfV_RbBi~zP7W`wt;ulMt|zgO(3P59vj^uZKWzH& z=ZPmNQ1=L>%1&2->mRgzx5h=UiocKYrFkkz-+ny>nkmu=KQ>4wox`nXqb(0DxP0Fb z^Yuy@ZUJHc=nM~kH4F*OV;3i^y5dMV_#V(z`p4KZ9AV)(YUh*l(!9SLxXx3{;YiDT? zJ@Gs;PZj+x=j+lLY_bmSetoTS_}WftcbNq?vH_f66{%xB^}FgNLHRfR=mnQ2cW`=? zaxCZxaOyECZM+{1=kk_cl{T28Ja{RlAYzoj`f!r!DPZ?{2~^OQ2orC-69kV#N~)8YV{Nv|Gz|4V0;Tmb1MC4}CeZg={T z|B`P`VBye#-}K@=-CrRP_Z#}!866D&A(sg_#Ik^bqn(OKTV%Uo*~QdK1N%jiKlPLg zWv_}}HXJ>Bh~#WD(+Qr0=K1cA&X^ICl_Qv(-Ye$F=6eek9pHZ@XTwA4+7EGsU<6%H zTpIU2-l0FjE07-#5VD{P%%0B;wd_ECCqz$W1-@Fp`7PZP=}SBx$Dlc7y4jw2{^E6B zj46$P0P_P+Ov`@8)0Hs3AO&CKRKfE4^gP*3n=GaS0#|nX$b_I0y5IP$l&zU)SXf|T z>*lL7886d{vrrpI1=1p3rOsvtr^KHMf5+8qs)ICfM>={1mwBz1Y11FNM(@4ra zJ(fuN^U>}9xSL={T`oYOxf)h3I(DpW{jUA~NqOyG=x4^S%J>|LCpQZA_~kiG(X@dT z#`^GbMnsCg*#ljEC+4ErcA!>O$+`tmcRR*&NUIH*;&Sz@-*92y>{Z`FTb_+ItJ`3fCw%2Ag3(n9~=ZUC1o-#!pRpurf!&aQ0u}Z@_g+&N{ zeByEjuQyoF3{K^e-HDqpEsN3+xv?Q*{Dq&mI1FK zhqbd4G^JOG9qHBR<^m0^gcx+_$+Z^UjJ&(Cbn*m5jdV@|#%x>LPi@dol2_BozWFN5 z-6P~w3kAfxtegGxnr?2bdD4QSy=HiFrKsoYe&Q9HO#th--X|S(%s7u^x_kh?eA3XP z9OB;OYU*gt#=Oh+@f3x(+DYErmo#BxmS1hGSsE)dx7|_`NM6^!>yR+R^xilo%ET|V zhI?Q>wLsKms60OQ-h?>ZCV$+j6HiDo$%8d@M9~KH2lhvMO|{ut{+;n6qLoeog4V)3 zRrR!c5%%q8kfWr*iUm#;?^(*&AT`OCxh9k$1m+Q_AEmBimT!@Fy?JTsreFT1>y^BP z13V0=#c1=j&y)L2U4-_li02nMDJ{sp;mT4n?#FaO2TIIKhp#v&)-k!7K?o-vjw74( zQXPiens;}$wLP~T=S{^Yj(BtXeZ7fIiX_o(;AU7`SInG2l>#3nP&$x zgJ}$DYUuMSkso&I8pClFyeThgPS5NWV^^^z?&-E$Pesd-4PwfpSE)57x>`2}kMUAY zi>vwtvfIqjKP?Zi`CjAjbyWcyOi|?`q^zG(ykMFh(P_&^#SLjYI6bfaBHj#x~5rhkQbc4 zc2MEX(Ntm|8L+ON->G=^%6ha86UZvcRSjyd^w93S+k(G46lz+q@7fWQg(dghu!l{? zxd$dT&}W^trg2^Kq9=V(juA|Lb)z zI?)U?lV-$&pO){znS_B5q>Yuj*SRuPIMS1++`-|hf2B+;M$14e{EOv2yjj!z&m^c_ zSy_&!!ZX-HGfXu7N0RqLIXy79RFP%6yw%nzzgjR0g#eN9m)lx+|Ch_N7~;2nRyfTA z=ubD`1-!3e+R-%aoMKNEvqTHqnSjb=br)HncQqg)DbnJFLi)Em+e2SY`Xb}h#ZX}H zU0cY-O{BS8o%DDj(-xwunDo!iAVmDxA0C~*b?S9yEX+;Tu;*KmXMXD>t~~S4+BrMh zjp~>#H>B=B18l~zYLMvB&9QEe2QA>TKI_mA)-^a_9`zqdQG;pUyml`a#E>a(mZYWH zt2_=wiR{Ipxt*|w*MWR{FL8I zYXf{%y}xz2_DTGi)3i|%ltz^}b;xOd^{cw%ETp*0?uG?qI6<&&oy}>?K<6AExRC}+ zI2p?z>mjpvoa}xvZjPv<&qpQz+;uU{Pwk?8jxp+D|W{ z##569uU@YVDotonny+#rK;0bq&zH>-LTxZtYp!5P8*gVUJ&T**1qh zi^y3%|BH~}9VzTQtvcRwdu5Y_ovx`%mF--tv=h5=grldedC^cy)7m(4$tss4c~SK6 z7Y;69bbD&=Y~Ht*NG%&wS?pJ7Cn|lSrJ_$1!Y=VQG6`U zsM#;a8i!S4wA%<^{9<2w5=)9eK zK4}|;k}Cv_G^%hxQ+?tTQV7xdR;UhmTKlh;0OPSye@mt-(wROv5EGsuv@vty@gaCO z0{ly~0nm@r05J4d^4rtsMM?x-V07O2t@ZA+-2z`k6rq>@DyyB~F z?zY&N4ZJ{diHy`9S+b&rJ^>=T$jY5{y)-=359H-VoZt2l;btdbC?fc0`<@PcOMq}+ zH{y2k6~z92YsnnQMfmxA0>kH#=*b99!&zC>Zyl;FNT5OWgn4=Wqc8mna6GCboFU1b znW7!+Q!-xDStPi(uJ`Z|uuJ{3ICGq$q$`+QiuE**MI)hp>-^Ihuk1l)E zcVMO%1XP-Ejw8?T#nQf`CHLZlNw_|q4Grle$0qB&z{&XePPp7!7R<*=ZEs@x{krOfK{wD@aUhiG_~fPc|A zdDtC{1+&eDsg-)eptXvxE(f8eC9xzu^*QJJw}USyA7ri63foB|2wc4?`aRAMIm`jc z9Vq~@SW~y*!A=TNje>tKN?pg`pa@Pt7ZQDhunRQ=xLa_nOkB`F^J-_vgbUbtlywbsYdoZEPl0)<3VEC{Nj^5t@= zN*&*KzwyNiXynm49S1?+pm*QD>%Le)K$xQmJQN4>b>Uw5Ugvu3zXq%CDW(-aBPC#6 z%0~(vxd7QZ0VH3o;A8pCEBhcvQ~+vZ+dkyR`aL(8P&(33VgOA#T`qeJ*|EGNT5t!k zh(JckCHJ$|4~GustGt8=&(nE^3#gm^ky$V6-EGL`FT=Bz)){* zuFtGC#$ofT9ulhmU?$jJzQFdn)3ab#`756mv*VXG3646)ECNt(1B=aX#C?)$2cK(^ zcRqFGp&g(5hv6^#SIP8NTdMvBcm;c z!)r1K@xU3g@RsEb{%|!T6zW&vUY176S8utOWV+S# zQ7rrdAx?NI{N1UDFL5TAwpLRbsvY@)bYJ-KZwIA?Esqw`WRmLO5w&|`6LL7goq2XG znjDd|=6O`<469Hh4fPqW(++iAIRA4&>)9ng)4O}O)bh|j_r2oTh@&gx+a2CP`_84N zvet}8-TPEwz}5RA90(nCG>E0iP@*Wt^LnfFvvD85F3y^*zjYp@8@+*xAX?xGj#n>| zxfEl%UhRzPiJYswRru~Y?aXWDGjcX%eEI^LMe@a9QhybbKE9$qc3-m_sQ=dDm|Y}w zQb0Z^p1hX6qT&GzLONBa>H6@8{lAeUa=hh1ch?ZkHWqDcDMZ`Vt}^?_O|y+)tvuMdf<; z0sK8bh?G2*D@uMI)L5saS*Gf^Rz5q|UDjB~47ni= zs_fjy4Vd;k{gktR8*qhhe2m+O zuGLkw$Y4sK`NNg*600y5PwgMt2gr~HUx6X;$-#V`!zP9a&=(029+yBa`KJifnS%LWsu;zyk^$E$DjtBlgvoBV%vc@=} zK6U-(swb7qGwjPvg!(+_sI+0QOja5AbY;Ch5e-i>_!a3i{=%+x3gs>D46C&&FBu>F8dh2WwDPU}p3xvK{>&Ihwhs(!oSjNaK6LtIx{n)+MPw$>U zJ20Yr^HhXnlZcFr>A4y>7(x}nSEvYqr_pPgR#}nl-_52HiEjA~Dpr^7w>qce8BXk_;TcmX)c223*2ZlX z+3-Bak3eq`DkLezkG3-P7ZeoW=-^)I%JG#6CRlSPG8kbC#RKqpTs-ZpwHVQUQ4|}O zcYOOO;ojBoX_Vd+lvk3OZ2iQzYwacYc^K7+kcT@kaz1cq`0zP~sv|@oARwKe;=#4B zG0W}11YwUO$2)@gLqy28$F4SmkNW`g@b0sB#5H3KhhqDe{GWw|V05n>5@^e1tp5ON zlexCARcou+xm2|36vRqj?BtT2tV=Fi)@3sj_?0%gX?LA_1g9XCMx+Ml^$i?v5kG`5 zqc`J_6BnO>%&$)jn6?O=Ur<6X)t9whx2ke|pMlE-62;eJcl7d_2ubinQwU`0+L;?W z9oxm+o&5Ssma*nB&nYiQbmc(uwI-OG4#Rm$&yC~xW_uA%{QZV-IEbfN;3`=KtDeF7 z?+601t>Yl86taljrBa%;hjRr~LcCrJ5Vy&E!J9|W*1GS9;JlDUJ3}Bx7YH;IjU=YN z;&V7Hb7ajoy}RI&jM*RlWbudMLM)lXSBXzL;u->}sV?`6Dw>8=4!C8bgs8_9b#t!R zomLXKfVj&Wvz&+5#WZsNIGRfIhTb?w4~KB>&}rZDn(4TIMyf~RG2#iJ6as8)9>rB1tSY1C1bmQ566jvxT*PVA zza1#wfAS#nD>lMrZr55~vwezM-l5vqZ}t3PjPiVT%-OuPSMKqL@btQ zBn(M399nhI4Bqs$tzY_C8LBdoK$aXLRwxg2MSUS*8fgQWI8^ETZUDdT*!vG>5<^XO^`b4v{QNe{5K6W<+*>r?XB!Ad*0^d z!J)6TAjnAXm6XmsKMPKe;I3#^`-nmGod0i~-W14yFjCn4kaDdTu+r<{=8!{C#i zvohI)^!EF9jSoyhmwxCxy)pUZTxqoNYv;c{or34D?lC>y&`HrW#L#hXSx2k7!ro#* z4)2GQG4YSL%a)e85}JRIKJ0M3gxHQG?w= zX{e>Dh?($8%8bn@EoGet2xXWA!jcniq_xMz`v=2SW^b%tz*KH`t&(-L6-hYM60;*3 zCy~qjP%6CrP`=}U%aes&Y5pH>$0)8e_d_GuXTApq2h5bFiGohxBF&&4s@KabXB^|h z??k+d-6HuX86`U2Q12TfvmU@quirE->jG5$3ZiUAo2}U_Y8tJFZvfZ1_{SBqJ%QV8 z+wn%Z>hrBpjQ$AO2MOb>Ln=!_UR;Xu!#p1f$r%dtXZtH0%*M?(w8if##Mb%_H`Hqu z{GpSn5s3_Fw+v}>`YX0daU^QVKlx^3W6oVL)xG#$r$%_=9n>;?|1g^ettY^!=_6EjF2g0i(#}C@SILYm%6%+g0xo%0K z+)-L`Wy$K(1Hl1o)KkvI&#Bx)FFJ$u$Se_j3YW=FZr;HR2p#PgYO%vE2QZG(m;m(^ zNEvMrgJTrp-(DLWMz_fsa4i71Ve2BIJfh=Tc9y<#_n~FAsQ|oFC1usQ&qa{OVHi<8f-O&?T3{GT;f=Iax!9eiM`L{~YRt7a05P4^FJkfYh`yCAE+guA z!PF&>uDERvT5RFTBp&gN0DY1FGK}wjurKWcP(yj-h?F=PE07$?*!r}|ytupWiq) zOSv0ke37WW?D08exJnBB;u6Hty#r(c^$a3KZLL`eF6wN*RiKE+OomS4ptjF9aN_~C z9GES#2UK-(jewNSkwV{(MUuD|J9Iw&vyY1$CoGcjXEUy#{!%5dqtQG?=7xR4s4S)j z=qj>ndGa52`jxFow1sqm&nOF&ILO3`@Ga!({H*?pC7zA;dtSp~!D9CmV)E{q(@WwxhL?F>WrIxxrRjHEGeZiB=x!G|D-z(-5 z2((rY!?>M2y*pC}f^oSEs9S-@FBWB)ySf%e4~T0$3zW|(K6xVdbFxh5%(|;mi6Jn}w^v>Rds=LOm=}9a;1W_V-=ckF?Qd&GRD7hz zPe3^Tb&Qm+(!$kO!S6V8#d7Yh29MK~FL_@EX2-kl99kD>_q4}bBD)@*heZX!v*t9< z{_}1tm`>A{S)}$&I~#sKWfr|Sf>SLVBySD(o_BvnI#pPd>-AsYI2A=ZO4>d-eYV64 zb*Lotd;3kOy97=HpXJ}w$fr)a$!_V9XMrQ#GZHmJS_Sw|Bf!_9w5O`+?^{I94LC?a z&Zl2RZrYm)auVU6JevJR@G0kRQzRBLcgm>t8ZyozFfcq4OXIR;5zFSnVCZ3_{&e)f zgLU1WZ9Feu{`~a8m^Glvn8r}J$L{RC-4pBCU_kM)7x3R}+&Yf^J$6m{{m$)~Ox0Z7 z?V$z_zmm&ti)YQC!#oSgBS;TriLsDfG%|~iN{#@m$s_>*`(CxnUl?hsKoYk%phK-E z@MCeqjew0h?a1cAx@e6O8kI@aQ1%$27-Hf;!OGB_O{ztnroQ;Z=p;_4Bud<+Lz&hz ztr*!-F3SM@XadqYl+pb;A#GNfgSMpj z$C%}TfG^~i6>y`#DksvTf$I0{-`zt0;XYPFEp{TXEhl=gGZpHUpd<;_@aOt`E#2%j zgf4mEF8rU(0%$WA|Dt}4?E>JwkXynF1nSOAFZ(l%I}wZ^dnZq^!$?; z1&IhrK+}PeaZNv)Emf)fIOM-Le_j9Y`MZO@eR* z2H43GXGPnA`8HDR9WsoJ5=f2c69Sk2ug@xX%B7J-b9VHJL=akr5pqY9lx`ZwX7}JS zEBffd8$nJr8hgA1-}XrN7d|Wkgct3^)&n`n$3{i{hLpv2G6Vn#e+h#&t>}z9Ch_nx zoKV^2lryVyt!}T1Ky7e{?7I)&`>APrGlK2kU z2X_7wq2D9=0!t$iFvVLcsQoKszv9$fM-bo*)W@h#^VFQ;BJF2>mNt+l)^j2zGijb9 zmyKQh{eE0-58i=8j>m7sbgXILSn+s8q}eTOL|!-(FUVOSuSz)nk!if)&f?AEO7tPe zk#NR^7y8IQb>KUelOMM`nDPh>_VG9qtphWGO;+-)A=lAN?*iCU(#-TJ>;T4U2Q$`yYOvFlA+B_Bi*BaWutth+gHW_ph%{MP~Je7bi1beAQ)i+K$7hqg1 zYz3@z3`RAQ%6Sod;5*?46mY?L6kGDrv#|4R8YSPNO(2|Ikda@Nez7|q`Q8U9h@62& zevOD}lRNkVRwx}@@kz}cK|jxN`?Pgi$QI=|cdbqwca#2#aX(#)^w>^p{|M6Pa=@R* zlOG+0*$M{7BYvc!ex%%@z2fL;d_rMu2CZ4?_IDjAI=rf7wx;FG#FV>%GqgqEz=n`V z!38xG+IfQe%@>4NleId$#6f-gJgAra=DWeq;v8ys6T3>lfX)%GvoKm~EPE**vMIf8 z33<$D>QukLrxoo2|BE*tt;O7|@}t@{YU*UXQb8+}gT?4Cr5PofHR%xCAZ-MT+(y*H z4O3U;*!tD>KCm#+b4_e1cG2T|uYkA9heS21m z?X*5h_tO%646B{<*8$h~UsjjW*B{L=jvL{L7+cLS;p{?;x3ztB5c+>CeTzTS{rkUC zsk^cccST_prIHlMX@?H?ouusUsGL?wl2byC+mfOKTXKh_tx{HrCFkRaHX_3?48t(9 zX0{nSf4;B#_xSw*+hcnlUe|R!ujiq->FPX_9E`NoL|M1*pA&RM?z#p81h@*tA>_cy z%U{2Hy-Z`0aS-p}d_ z#zzz35;@0YDE%iKGS^JnJCfX$v?>LH)rmFl@!-&m&s|DObX#0$Pmjm<85qqOtrtAA zfSm5(QAtawy^D64!eXyqPZKiE4cA3~qgGgywt{n=n5+vOTjmI9O!LVc9SY_~n1Pt` z`mIvJKheL#*lB3gUJ4|!Q3X3>GN3gHL{s06cG9|=dH}y=wNbS=_}}Vpml8rS8Ed)Hzj~5#bXLd8A&AnutG^F?QeuRON)KrT#6w z$eyWOxQsA|94CqF+@-x5+j4RNqsFpy_UFUL_3#)WL8`p?0Z$H^$;k!CH@pgz3g#3L z5OTc?Pi#x$XtR^;4f#a3SPZSl?6g3ja=Efl;Ms4Na$I7(ev_Y&;Z%tH z5Q1KWf!BEplsFhprmg8_bzDA(+fxWD`1=#U_=m0cyRj~%|VnUK7)N1Vt{$^on?n{Gr*H55~)@-7f zI{aRCn0^?Av*@-I1`q$WCz-$`qk?ezUR%8GsoU+je5giF)4RMMb!wca`;~U&D%;+c zyLsV<>um|{{Wfy}QDcw%I9ES~>hgPu2)L|0xe%b7o1=aj_dSqhf0qMzc8KJ%vJZiw z8io(Gm7Ov-_Hi(}edVQ=b;l23rSM1GoRO3WI(38OZjm^4`3tsi$6-B_pa&_>oz^Tz z0HEbp%)V0bi${@9j{2E9=&eo(V{X+Z8~Gb!*?Qj%+D_NLtECi*7#DtiiPxGx`Wk_8 zcc)CJ%@Yg6hqhqoZ7~0Z8*apx^<3DUMTTmNUy-3te!9ND$U)i&LVfkBr?UuucQLNcxrhyEngn#r?%QXWfU=muwK;T^if zJJ@8?f_Tvw?#X(^x8O9I_WP-|gE}!f{-)*KDa^Xkme}&p z14>R)+{?uGXHWR5?cs6$aJ?lauVep^6rB4Jn<{WL^z!{`$kQbWp2up7y$-iuZ)Q-+ zQEoWY_ad`mlN+5RI%O(GghzhB5)y%sADB8oLWI@-(;06K7M22=-==F};aZFGcU?-E zJML4uZBJ89%TBO)Cupg*m$^e)Oi^~9YKut%VPyBk9%>a-TZMfMIB0^Xv0BH-T$eoI z)OhA7_K8M+<-XP#^ti7jcx|-`Btu3npw7NfY5UdGb_?I;P-g`)N{d5=K*|??|4fZC zP$S+Gfb4OyRN1Yvs$81s2liApe^&u;8po6>HON()(OYo<1Ugb+TYguOv|!>Naw|Hh zzYaKKvg+c1T$ro4u-A**rTxrd4LTR+sgT*4RkA0i-yT-TfpUh&Vs(+`UEV7WLxdn1 z)V}aD<49elD$NOh=PwK-C>`$@(e8x*JF*P1w0GajC3nMTWNQg$Onw7Ts{#^K9B*Wt9Kv?2RQ37GjFn_oIWZUx9wEu~ON!> zu!o~$K=2VpZ{nG38`-}B7n6nkLnNvrGyQ6|rO<}^04JkDJWn$jfXdeUgB z;80IO?S4~41;0CIe7>3CGvt#xi@s3dXW;2jg{jU2sH_7{HZ!iL zoL}_#S_5oc@~6?9E-Y%Y*1}b;mwS21v;J*LdV7pWW~{$O=l*gEv8^V)p_8m-l*<&c zK^))ihG_S*k;rKE9C|!+PEDX$LPtyr9ERo%*8nF0q8G-6K4cFwIY8VWc8Oz%Sp92+ zk?i9nww!nuG%ISvZIS0Lyjh3*I#N=lvePc}f4gM-N_vB42)eR_eNYj6=IAP1zH#g` z2QPeXdLqNnp3+W|@BTg@htB^aum0Fz&ClFSX=E5ghqR-tG(iI|YQJvOzBCs)&>SUh z(~7;&l)g5ReXB%?lWxlLQ()^pbCMa9V^e|Akq>@;Qy;em2yeeNu%Bqv>ba4hVHtIQ z0DBVBL+mPX@5|6tWhQ1FB|{g7FDax~E6a?;-I61wZyoqv=E63NadFQA>g*0GDa&33souNgU4J6r2%y&<)#UN zzV8RvMj(O}t;9KKj{PvP`zdLAy7uY!9VtI14AWbOSn8)zV_z9>SqV6kZudBGndMbj zTzw5Pg?1w=$TlKllWl8BugJRI3BBlEpmU75Y^I~$w`aIOTdUqB_s)xl&4wn!w!HQH zmlqK?1+qBrY8|U~vE!YT3&) z!!fL5NWG~zh-VaGbUp5mh1GfuS?3Y|oN2dysWC{2P}ip7Hu=hV?DLx89XOxt|LL62 zrZ$cv=$~b^0C_Bs8~M>*l%JNa+W>)xtX-D)*IhEaP(oqAGCSYmZWeqEcyr-sgM*(odX-W!YmxaOi1sWhtD1$4q@|Z_S776#LKqe z<^?$9BVm&FX@T3xA@qOig1S!s7nWyFQ=RZf6sV#Qx&g@Md#zKzalBk%O8QiY0<$rFvv%8dfQ^Jy)n@Kg|9Jzypa_u9a3YM({o)d!Y%z2T#IqnZn&(&5Vxk&R=mm zMl|;;;Jw0N>)NSkI+-E^8&9^5LxaQU@xu&?gOCM-G%*MEuV_9(Jglw3<;)lUjNGX_ znCZ!n>@=tRx>*LBE}d%6`^>1it3g7yryoq=w7vy9jn=~5@66#vvV2DAGFM*#kpF-5 z7&98TW2u2Ru*Y-aCyqDfuMg*(|2D5>cMa7%icgxdS1!`p`t9u-;YrPrNt{V+=>^fq zz4!^eB2zKw58<_edjw5ow;{wx!}0JG>3z3Frg&$r{M7VO=oS|oNw%=%B=JywsU`dZ zSX@T51{-*Z6SOSmM*~J)xT0&(ViP0(sc;7WiPV#1a*1}yYzlS7c@%^y$O`X@##Y5W zdU8|2)s>78>#~+;;(9wHⅅ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≫X-AUX)rWEk2aVuxSl*1-1yezNzQ=ne6);G%fIF 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

GTOu!MS(RF-$e_h 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͗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�e5xknff$^bPc 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

QR#vjK$rMuhSwg{*{~u%t^~5 zl;gm0ooKcycr&Vsm4aXFANJ zH)_cFKALsmFT1q~AnYPM-gQ)o!O}tT^tM@HD6G9%%Zjm7`*t33o(}rBEARdd9Ok^| z9z9(r`OofO{bW`Tr3jK)mURE%XoS2QH7+nok(5=aV0|4R<`^F0QSr z!1Mv+HSE=`Z|3}w%Wh_2!t>e`tXZ(kTDo0x?#t}(ShHOeI4^XM#TJSP8+~+jfC@$s zbrhCE#W~+wqi*%R1aVgo?C_mUicIw|?SbVEx%><6Dsg~j$E(>N@D9WD=9tb@j89DP z4v#0-t2>C)HNH|MV*KAlum^lkJbH4+_mhZ~eCN{E%($^Bjmq-f|I*$sPaByExVCGh^&t zzWXn~X!@FDsp65zsPPX}{;tpk06} zq2tKqK8?L=s+pQY)Jzi{ZG0L;rWKgfbVZmj+}8B6koDrf?}W<%#*+H?jPU5+pbYh4 zQpy(`K{EJKaNb(aPr5vHbB<+oTo`0JH`Xikfll0!Cli+tZb=H>! zYQiw^d2N+Arbb2I-D?IHU@QIM?}8eG9H&=TCPtRa{YUyLUV>FWhJ8$eL2q+}&%iQ&H^sxRr(SNq{0doi4qeHFn4WaO*=uk?XJ!LM1ti2xZ zq(?9GL|xYg3;G^5kya-lMt^Cb&i>*29_TD|?HM?%BPY&xAlEr5NIuEtFaCJ;v+sl7 zChq%WPxe=>2Sx-259+{bQ%`r!UM6lw;FQ-5^(-4Ie}0r|JF5S{WIhQ&D5C8qjc%ih z$0x6qaeXirxQk7YEP%Be7pKVk;fy!t%=pE&0J|7i~4O5w~B4-SVz%``Lvcx$(MYl zUZwuRJ0YS6bT`7bH-A8nre#OlhdyOZ{9Ba(?<2YmzC`N}2V3?2?Cui~PgIa)AV^q0 zK3bPI+t8%GX5?Ag6He>Jo(&*aE|>B**Zm!|R&?>tgN}s{v|;!?&1O2h!G>rb4CipK z8W2w>b_|=)eMao5`6T)|RZZT*_)#0QfIFvp#h;j-8;u94Si!W}(Pn`ysn%N4705*} z7P+}}v~`x58{W=*K#37riu2bG01Cd`VV)nM8A5Wrp7+ZcH5%Fs$;lt)twuu=!9{97h>O` zZZ5NPd)_z|K%iEVq9*6vQ&aeUcMIF=|7buN1sFJoZ16aH{*zRkx2jY9SC8!nxAv?4 z(PTOyn|N@rxSSNopH7e-xT-QomeXH z-V4-&w@Zb>gj(LT>$rb!0fBuSva0|q2KA5KT(0k#{&6Dr0 z-+6U(Vcuopbwp_QJ-q0=YWMtFBEMY7L5Nu{lOU~*;Wl9JGq#A0)OnVijC1nLS3}uZ zCaLHpC7(2+9^xABJ8>UTmLVH{=VmK=iEEKKY+l52+Y*sZ>?j}21aeY9+P}HncBn%&SRfG)0hLM7rbpp#|Oyc+8ni&YvM zWRn0yW-&II;;3z}02l*RE;qcXbkU_MW_kbw*$Jsvc+kg zs6`I!9yQ<>!D5fXqQMad#djv<)qZaD`H2g2!Y9MhbDgP}kJ`Tv$qejRCfcTjHr3g? zgnry0tcT9er%6 z&JDwuhJP{9-WYkt7rAXFD1|oLhTIlXr8xwWV#ZJX2?@|fk@Lnc zIL$yE7-v67|9tD}Qiq-13-h~4xP4&RSbF2|*YPVK`f^Nvcf5*ELVFb*`j0P0NY$o_ zJbHFz1BrPQ8;+g|Mf$3fv!^PL-F= z1`$^_IF9$`G6;de3p;?Csc(}`5RNY?Of0t#u-Dr~W%a_bC%j2eqm=71i|W_Vyuz0h z{pJX$Lau){3wwyR;Snj@RFmVzwvgve``x4ZNc$ZYkb8HlD4}1f$Lrs1WbF@~87A$^!aVJ@`*S2o_Pt3G|B+0B+m6ns7z$6VNb zbtFn($y;?z&wW^^dXcA;;GX7D8@YH!p!`!C!QoUGDQlNDXbY}$&gn~XJpyc5TEb*}1tbK-!K5xXj#X^tsR&cS zp^m4npEGSD46J?3A?hQ=fVf)+G

U8$rizHQz1W3N~sp@bERZcqM{=N*qq{C!QMw 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 z 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

S@!(hBH_=5}FyO6y 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 Date: Fri, 18 May 2018 06:53:09 +0300 Subject: [PATCH 53/73] Create README.md --- aws_demo/README.md | 118 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) diff --git a/aws_demo/README.md b/aws_demo/README.md index fd40910..5c03ca3 100644 --- a/aws_demo/README.md +++ b/aws_demo/README.md @@ -1,4 +1,122 @@ +AWS Demo +====================== +The AWS Demo is set of examples demonstrate how use xfOpenCV library in kernels build for Amazone F1 instance. Each example could be build to run on FPGA (only F1 instance with "*FPGA Developer AMI*" could be used) or emulated for debug purpose in HW or SW emulation mode (any instance with "*FPGA Developer AMI*"could be used). +## EXAMPLES FILE HIERARCHY +Each example is organized into the following folders +| Folder Name | Contents | +| - +| <example name> | **Root folder of example.** Folder contains input image(s), headers with kernel configuration and declaration, makefile, source code of host application, kernel wrapper and kernel.| +|      hw |**Folder for FPGA flow.** | +|           afi |**Folder for AWS FPGA binary file generation.** After successful build folder will contain the kernel container binary (`.xclbin`) to generate AWS FPGA binary file for Amazon F1 instance and register AFI. During generation all intermediate files will be stored there. | +|           run |**Run folder of the example.** After successful build folder will contain host application executable. All result, intermediate and reference images generated by kernel and application will be stored there. Kernel container | +|      hw_emu |**Folder for HW emulation flow.** | +|           run |**Emulation folder of the example.** After successful build folder will contain host application executable and kernel container (`.xclbin`) for HW emulation. Emulation logs and data, result, intermediate and reference images generated by kernel emulation and application will be stored there. | +|      sw_emu |**Folder for HW emulation flow.** | +|           run |**Emulation folder of the example.** After successful build folder will contain host application executable and kernel container (`.xclbin`) for HW emulation. Emulation logs and data, result, intermediate and reference images generated by kernel emulation and application will be stored there. | + +## HOW TO BUILD EXAMPLE + +### Prepare environment +Run following code to prepare environment for build. +``` +cd $AWS_FPGA_REPO_DIR +source sdaccel_setup.sh +source $XILINX_SDX/settings64.sh +``` + +### Build example for SW/HW emulation + +1. Go to root folder of example. +2. Build whole example (`all`), kernel part only (`krnl`) or host application only (`host`) for HW (`hw_emu`) or SW (`sw_emu`) emulation with the following command: +``` +make TARGET=hw_emu|sw_emu all|host|krnl +``` + +To erase all build data including host application executable and kernel binary files use following command: +``` +make TARGET=hw_emu|sw_emu clean +``` + +### Build example for FPGA + +To build examples for FPGA F1 instance you will need access to [**AWS CLI**](https://aws.amazon.com/cli/) and [**S3**](https://aws.amazon.com/s3/). Please refer to [***What Is the AWS Command Line Interface?***](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) and [***Getting Started with Amazon S3***](https://aws.amazon.com/s3/getting-started/). +1. Go to root folder of example. +2. Build whole example (`all`), kernel part only (`krnl`) or host application only (`host`) for HW (`hw_emu`) or SW (`sw_emu`) emulation with the following command: +``` +make TARGET=hw all|host|krnl +``` +3. After kernel build complete go to ***afi*** folder to generate AWS FPGA binary file for Amazon F1 instance and register AFI +4. Setup [**AWS CLI**](https://aws.amazon.com/cli/) ( see [***What Is the AWS Command Line Interface?***](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)) +5. Run script placed in ***afi*** folder to generate AWS FPGA binary file for Amazon F1 instance and register AFI +``` +source ./gen_afi.sh +``` +Script will create S3 bucket for FPGA image and launch image generation in background process. When script finish the FPGA image will not be ready. +6. Wait until FPGA image will be generated. To check generation completion periodically run following command: +``` +aws ec2 describe-fpga-images --fpga-image-id +``` +You can get `` from script message or from file **`*_afi_id.txt`**. During generation you will see following message: +``` +... + "State": { + "Code": "pending" + }, +... +``` +The FPGA image is ready if command print `available`: +``` +... + "State": { + "Code": "available" + }, +... +``` + +7. Copy `.awsxclbin` into ***hw/run*** folder + +To erase all build data including host application executable but except content of ***afi*** folder use following command: +``` +make TARGET=hw clean +``` + +## HOW TO RUN EXAMPLE + +### Prepare environment +If you relaunch Amazon instance after build you need to repeat environment preparation step: +``` +cd $AWS_FPGA_REPO_DIR +source sdaccel_setup.sh +source $XILINX_SDX/settings64.sh +``` +### Run SW/HW emulation of example + +1. Go to emulation folder of example (**`hw_emu/run`** or **`sw_emu/run`**). +2. Set desired emulation option in `sdaccel.ini` file +3. Launch emulation with the following command: +``` +source run.sh +``` + +### Run example on FPGA + +1. Go to run folder of example (**`hw/run`**). +2. Launch shell +``` +sudo sh +``` +3. Launch application with the following command: +``` +source run.sh +``` + +## REVISION HISTORY + +Date | Readme Version | Release Notes +-------- |----------------|------------------------- +May 2018 | 1.0 | Initial version. + From 96ae1fe0256cc980bd611f5145ea3a6e4b6ac640 Mon Sep 17 00:00:00 2001 From: Serge Date: Fri, 18 May 2018 07:01:00 +0300 Subject: [PATCH 54/73] Update format --- aws_demo/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aws_demo/README.md b/aws_demo/README.md index 5c03ca3..490a7da 100644 --- a/aws_demo/README.md +++ b/aws_demo/README.md @@ -7,7 +7,7 @@ Each example is organized into the following folders | Folder Name | Contents | -| - +| :----- | :------ | <example name> | **Root folder of example.** Folder contains input image(s), headers with kernel configuration and declaration, makefile, source code of host application, kernel wrapper and kernel.| |      hw |**Folder for FPGA flow.** | |           afi |**Folder for AWS FPGA binary file generation.** After successful build folder will contain the kernel container binary (`.xclbin`) to generate AWS FPGA binary file for Amazon F1 instance and register AFI. During generation all intermediate files will be stored there. | From 7025ff99ee265727c463d31740058174393d692d Mon Sep 17 00:00:00 2001 From: Serge Date: Fri, 18 May 2018 07:12:32 +0300 Subject: [PATCH 55/73] Update README.md --- aws_demo/README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/aws_demo/README.md b/aws_demo/README.md index 490a7da..d585359 100644 --- a/aws_demo/README.md +++ b/aws_demo/README.md @@ -19,6 +19,12 @@ Each example is organized into the following folders ## HOW TO BUILD EXAMPLE +Place xfOpenCV library (`xfopencv` folder) together with Amazon's FPGA framework +``` +project_data + ├─ aws-fpga + └─ xfopencv +``` ### Prepare environment Run following code to prepare environment for build. From 6a160070aa45f6b9eb458d50ddf52382aad851a1 Mon Sep 17 00:00:00 2001 From: Serge Date: Fri, 18 May 2018 07:15:52 +0300 Subject: [PATCH 56/73] Update format --- aws_demo/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aws_demo/README.md b/aws_demo/README.md index d585359..2126795 100644 --- a/aws_demo/README.md +++ b/aws_demo/README.md @@ -49,14 +49,14 @@ make TARGET=hw_emu|sw_emu clean ### Build example for FPGA -To build examples for FPGA F1 instance you will need access to [**AWS CLI**](https://aws.amazon.com/cli/) and [**S3**](https://aws.amazon.com/s3/). Please refer to [***What Is the AWS Command Line Interface?***](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) and [***Getting Started with Amazon S3***](https://aws.amazon.com/s3/getting-started/). +To build examples for FPGA F1 instance you will need access to [**AWS CLI**](https://aws.amazon.com/cli/) and [**S3**](https://aws.amazon.com/s3/). Please refer to ***[What Is the AWS Command Line Interface?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)*** and [***Getting Started with Amazon S3***](https://aws.amazon.com/s3/getting-started/). 1. Go to root folder of example. 2. Build whole example (`all`), kernel part only (`krnl`) or host application only (`host`) for HW (`hw_emu`) or SW (`sw_emu`) emulation with the following command: ``` make TARGET=hw all|host|krnl ``` 3. After kernel build complete go to ***afi*** folder to generate AWS FPGA binary file for Amazon F1 instance and register AFI -4. Setup [**AWS CLI**](https://aws.amazon.com/cli/) ( see [***What Is the AWS Command Line Interface?***](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)) +4. Setup [**AWS CLI**](https://aws.amazon.com/cli/) ( see ***[What Is the AWS Command Line Interface?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)***) 5. Run script placed in ***afi*** folder to generate AWS FPGA binary file for Amazon F1 instance and register AFI ``` source ./gen_afi.sh From fc15fcecfdbd8f786522b4ded51ed1bbc8d35f8c Mon Sep 17 00:00:00 2001 From: Serge Date: Fri, 18 May 2018 08:30:56 +0300 Subject: [PATCH 57/73] Update format --- aws_demo/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/aws_demo/README.md b/aws_demo/README.md index 2126795..b0b5568 100644 --- a/aws_demo/README.md +++ b/aws_demo/README.md @@ -49,19 +49,19 @@ make TARGET=hw_emu|sw_emu clean ### Build example for FPGA -To build examples for FPGA F1 instance you will need access to [**AWS CLI**](https://aws.amazon.com/cli/) and [**S3**](https://aws.amazon.com/s3/). Please refer to ***[What Is the AWS Command Line Interface?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)*** and [***Getting Started with Amazon S3***](https://aws.amazon.com/s3/getting-started/). +To build examples for FPGA F1 instance you will need access to [**AWS CLI**](https://aws.amazon.com/cli/) and [**S3**](https://aws.amazon.com/s3/). Please refer to ***[What Is the AWS Command Line Interface?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)*** and ***[Getting Started with Amazon S3](https://aws.amazon.com/s3/getting-started/)***. 1. Go to root folder of example. 2. Build whole example (`all`), kernel part only (`krnl`) or host application only (`host`) for HW (`hw_emu`) or SW (`sw_emu`) emulation with the following command: ``` make TARGET=hw all|host|krnl ``` 3. After kernel build complete go to ***afi*** folder to generate AWS FPGA binary file for Amazon F1 instance and register AFI -4. Setup [**AWS CLI**](https://aws.amazon.com/cli/) ( see ***[What Is the AWS Command Line Interface?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)***) +4. Setup [**AWS CLI**](https://aws.amazon.com/cli/) (see ***[What Is the AWS Command Line Interface?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)***) 5. Run script placed in ***afi*** folder to generate AWS FPGA binary file for Amazon F1 instance and register AFI ``` source ./gen_afi.sh ``` -Script will create S3 bucket for FPGA image and launch image generation in background process. When script finish the FPGA image will not be ready. +Script will create S3 bucket for FPGA image and launch image generation in background process. When script finish the FPGA image will not be ready. 6. Wait until FPGA image will be generated. To check generation completion periodically run following command: ``` aws ec2 describe-fpga-images --fpga-image-id From 22c9f7686a05ecc38c9c453ba2c96c257dc21323 Mon Sep 17 00:00:00 2001 From: Serge Date: Thu, 24 May 2018 01:27:29 +0300 Subject: [PATCH 58/73] Add description + cosmetic changes in source code and makefiles --- aws_demo/Code_Structure.png | Bin 0 -> 7534 bytes aws_demo/README.md | 6 +- aws_demo/common_makefile | 32 +--- aws_demo/gaussianfilter/makefile | 4 - aws_demo/gaussianfilter/readme.md | 167 ++++++++++++++++++ aws_demo/gaussianfilter/xf_config_params.h | 3 - .../xf_gaussian_filter_config.h | 15 +- .../gaussianfilter/xf_gaussian_filter_tb.cpp | 1 - aws_demo/make_description.md | 71 ++++++++ aws_demo/stereopipeline/makefile | 2 - 10 files changed, 248 insertions(+), 53 deletions(-) create mode 100644 aws_demo/Code_Structure.png create mode 100644 aws_demo/gaussianfilter/readme.md create mode 100644 aws_demo/make_description.md diff --git a/aws_demo/Code_Structure.png b/aws_demo/Code_Structure.png new file mode 100644 index 0000000000000000000000000000000000000000..e83b55e04c67e08da00920f9cfa3a1e2368a8957 GIT binary patch literal 7534 zcmeHMc~sK-w#Tw#1E%INIXRG-+ATBD!kjZov$XVR+2Bx+Q%;!!PDmqaD5TZNR5bLI zmL-`vr9kFDmUAV}p0vP$p+q1=;Gv$n=l=25y6dj@?ptrI`v(htzwflad+*O@52U#r zc2ZuwVKo2%PZ)`?SRdB7W$BY zmWB*7HS^xz4J^C&4##4j2P8bkZMrr?77jnMIx2jRit+o97$fx=9Sez}+g2YwO6DMw zAHA@ZEI)cw0r2=(tUlo7$+H&A0FU=C{$wS`38(!^0D#`#)nO4yvk^xDfRGESFu%Db zrP7G{`9lD}k>@+mGqf4VY;SS$i#ZuuVgh)n&MuXGWj3n#3DDI?)dqy8p zB&X1IbAm$!?G#E$wf%+UP;2l*O0L%O^Q+)11BCadz80Iie{IKmaV5PXfzVg>s~JVR z2(iWTPRr4s-Zv!KyW2_wF4PxDf-XxK8 z1rptDcLYzw4cmkbG5o-B+)PjoFF~PL9cEfLRCqhlvj=xblL56F5dMx0v4#?iD!QO+ z#0HGk?T?*-F@mU#Y1hu$r{Gu9bY(3s^^32Jx9547bHiN{LyMc-gh>`O@~Un|U)2Sg z#rd{V!{e08(<}1!$+ecXe_O43rb)E5v-cb7txW6~PdX^1u>=JpHMx*GF*xJcZupk|&TiV-D_GvH zCbtB3Vh1x%AA{K&G(CnGc|+?;r?1(a2D;qOhi{R@%xx)3!%B57!FWww{>+C4YUf#* zF6OfH^FBVn&#?Q-1;4<9SYMU3dB^N90rkEwotMm)8`fX9we{8Tsq;uI@7fw(UvuP? z4f$&w3XJO~BkQ(X(xY7}xQv>zjhLy(siY;m8nb))2Us^k+R=5)mi8$mv*qoj*>7{S zp5$S%IA8MTos)pdBgEkK75gF-I(D=fnc(i^Gu@zD61c4y&R|y`XW-`!hRa&e4Q^g9v)kZcJ4GdGS(Tno9JG)Yrh&6rLJkE*d#9ah;bMJ2`;RG`&C4 zvQ#$VZ(Ka{C(Zzm2TlV~qMP=|P~uL%Wq`OsiHIw8vBNAun42tFqXBrC6D^;9`pGjb z1wiknIyJ!Q?f-_KvG(->s`SW;my?tv8M(c>d)}h2M>6R*AG{*unCwKK3oEw@=yTBx$YxU=Wn37X8ZZ(DKfWSsq~oywF3hP*ofI^2vIauhbThQ z^e)~_)k}2-DzxnbI=H}Bo;HN9gs+1E%++A3H$h`*ys>_ZM=JGCBL!Q;R^A#5ONjS! zR>%a6Q|(0h_0&tW4^IZg zkKx+*!n6e`SHwI7O^x2~-<=f7FL}}bOO)=8b~|%Y%xJ+QVWkdzWcy^ti3l#Pe=={d zFH*$o^u1{q;8=>l$zxP|P4Y^17^5bp zVXWY&QnM74i=uE11_**|bJDUd@ zXp8B^whh&SYjqI}>l&#h0b!W*H!SFKc9WZ1`?7c!@)syJw(ezqh~}h^;;im?UW&um z@1RFQLPx)ez#@kRs}0j?E#G;`?3|o~%m$yi_uf%-p&7`Tfe*H#-7K>{v~IzetEc*g zFJA$Hyj{fDNUN$3#%;yMZ|+K>chbmvfIe}$Fumuu>zS{UTiT5<`8$^k;$wnIKpL9q zb)VB@Fi=LuZ`vW+ktaX3fne>4KXK&Pjbc@iJCce>RM7RqKlG{&Yc0%GzM7CZZ1RF2 z;d8u!+ozPwka=b#0{D>O3+VV-T-a<)n+O~_4Q>==vjgK|)w0s?LpHQBr$9FiFXY3$GnCUq1#TU{4R z-;{A@`J|>-6J9W{z;TE1q6lt~Eg^#!{|HIuP z&Wa1RHnB&C4>r_35KmtFm|?9V{AkWeNY9BVN|ZFa$>~B43**p@fVJs5N^cj@0Y3vz zHA-2qlj<6En2lwVYSU&pyf*#Q@LHBFCwlqnmoER#rCZwug`=co5vz319{breuTrp# zK+laR=}y(_JqXlb@VH5(1HR~u4^*U6rR^5)gPK%B3^1!bXk9yol0$@18*yN1<&IRn zl?Q+t0b=EtL`ik^P!wtT=ebNjv@6hI54^+_zH)5Q=eDMUF4rtxZnZvUqsbzDypl7+ zp#{7AH`8W(ZN!fJOPbIQU4OqF1H(#88ijW+0b+qMy1WRAGi6YWu2*${ecW%X=_N_~?|-e7wvdDkI$f@rZW9cJ&Y}z_tmzx9V&yUN z?CvR%IsGx3LiqZyBR)g?A{|_fY$dq|g3VPIAT1ZK#jWBvbD4g13H$T*x%#4jP4mawXAsqBcc?$L@?F{MXE=z5xKHzIH~EulOU-8n?&l!hG`F81 zQw1i+%`1W_X z#R^lO=#!V}#-^|}=eAK_1C7s0RwU2Z(0sx1K-gfFqwZ)oLd$yeA)RqGgicrNWP~J# zpjk|XXPMfxCz6^D{vgO^)SYQ%cA*8AJ07xAe+fF?5x}r21MH!?iOn(RqcN(_i>+o7~V2I>;m^e3<9P&ElFr211#(_61+*oIU2~?Y7(mYHqxMPFi)J z+`!X`@onWcoE>?K&;9uK0}_E@&)2xrO|aHyC1g%6W_|Chk|b9_2Q}Xl-jy|WBi^>( zQJf%RNvm{mt;%F3jdwIk==ZESr-|Io$cFOI{JljM z6!SpCM=b)r616pCeUJ%f|%|l71XenxS`mV9)QmAnP*YMW(){2D9mJa%)}U zE`3bgvovB>+9JU@0v)`+&r!Xz#3*u#GFTK91W}A!;)(x%(>!d1Q}kGL?1>f+>V;#r z{Gk&(pl{{;jF& z*>~Q~-V5CRov{Biuo)u{W&e^&loP+Qv_2^L_U%r*g+i_U?t?Coe8_Cgix_Kl4I%iL zMb#iQd?-FIeMbuDMK%cjq{;0}ld6ZYJg2H!NTPM?i-GV7I6Sp-9Zc@zF6H}x^bn+1Fe!tTc>x{+4xgODBf)h}A9qjRKkUX@*uZLt1 z9XU~Z*)_Syo9uR-Jb`U6uoCeuet;Iy-pAl{88FmfSH5E~dn|zqv<=eD)KPR~lppmn zJZ~iqV%BEban5m;vGoIIYr?ylXM?26tl3(x%v^E=TnZtvWdZs{Jj&781+@(?&o;E2;9D|MRBUCT{0lQD_rXi# zIhWkg#-E4?JO(P|*N$@&}e%n%p)xROZSisbRiv@YKiX`62KwF<5IqJV;*)w!^ElcMw`= zuUnc%{B6;)t0B)HBOtf1_Xfb!s0i~$BXSd_q%V#K+PbtGt2>1t9fnrO{fUA zd8b!|GR~UXc#A__`vmGKz>m*~JJ=Q$oY%)8@0Z+E5A)k?ED@pRIf!!}HBT8$W)oQ6 zr(g@a%|UKS6SnMuS~W!96N(BqWAdHtZjfU@uoT3}VM%^8Q0u!cW3-W80^;%sI(s3Q~y;ZokZRMQ<>YoZb-k#KOsBAMV9UA(7|B!PmY5y=a4krv63!LrNvIeciJ8QlvHa zZX*>nUfN%KE?Dt{+*eIJd%`3%|KL<@(Zv|r(Uz`0M4u{b`;s%mgHF_f9_e5UOTU%! zsq-_k*B!U9_i{i3pp~~j()=e0MVT^4OD$r;jP_LTFD`;>cH6GGe^6zIkmkzwpnk3G z(57uFF~mTBg86@o?El)SL7_JC1+0{rhWLq9DskN`BazZkeJyoZ z<<9H*(mrgit0?kLIf@l~a6#;rOgHCoVxrOmt%H_cIxr(}BL;MCDK;Iq!w4LkU1#u= zGE>aCn4jB4C86R})~%I~8(X%*qAo6jTk@4~{4gwESu=V08z0UnmX|PRAC=djLp^ zErGjGOT?bqr2Ld=gW)wYr%G;!bP)1EM7<>w9kE@v|(O^$KK_TGo^N z7-U8GaYye&pz<#owvB^>PX5fEr*Ft3dKeQ|VEM5n68Q~JoG&W%K$M7U?_HvusipcB zu$+K|!#^gJZNt1)U#v>xkwMNM#^0;G2dc2QKZyN51B=Pn|DZ}r5UHQ##f;M;*)>Oz zlEZ|7cl>Sm+X6p$bP{%rx)rJY8LuzbRN-6gzLk=o|M2p=)Bcn7`G2O#3-5oSukk;r zHxHVsy!^i$C(k=ZC^9LhOjWg01vU0ziiT$L8CvIdF6M^-bJ0Q%m>)$&7mF|(G8Ulz zZ*DgI-?X^?cTWvA#U#&oM0ggUnWq5hv$IcjVDLm0*+@#M7iDJk<2M2!3W@>j_L&9! z*}9M8VEsw~yN8QM=L6(*SI(%7xP5i+V`;_tFDc6br)?jBziDl~(SlV67=q;gkpi6e MAKq8C_w?oe0*daYC;$Ke literal 0 HcmV?d00001 diff --git a/aws_demo/README.md b/aws_demo/README.md index b0b5568..2503114 100644 --- a/aws_demo/README.md +++ b/aws_demo/README.md @@ -26,6 +26,8 @@ project_data └─ xfopencv ``` +If you would like to have other folder structure you need tune [`aws_demo/common_makefile`](common_makefile). For more information please see [make_description.md](make_description.md) + ### Prepare environment Run following code to prepare environment for build. ``` @@ -49,14 +51,14 @@ make TARGET=hw_emu|sw_emu clean ### Build example for FPGA -To build examples for FPGA F1 instance you will need access to [**AWS CLI**](https://aws.amazon.com/cli/) and [**S3**](https://aws.amazon.com/s3/). Please refer to ***[What Is the AWS Command Line Interface?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)*** and ***[Getting Started with Amazon S3](https://aws.amazon.com/s3/getting-started/)***. +To build examples for FPGA F1 instance you will need access to [**AWS CLI**](https://aws.amazon.com/cli/) and [**S3**](https://aws.amazon.com/s3/). Please refer to **_[What Is the AWS Command Line Interface?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)_** and **_[Getting Started with Amazon S3](https://aws.amazon.com/s3/getting-started/)_**. 1. Go to root folder of example. 2. Build whole example (`all`), kernel part only (`krnl`) or host application only (`host`) for HW (`hw_emu`) or SW (`sw_emu`) emulation with the following command: ``` make TARGET=hw all|host|krnl ``` 3. After kernel build complete go to ***afi*** folder to generate AWS FPGA binary file for Amazon F1 instance and register AFI -4. Setup [**AWS CLI**](https://aws.amazon.com/cli/) (see ***[What Is the AWS Command Line Interface?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)***) +4. Setup **[AWS CLI](https://aws.amazon.com/cli/)** (see **_[What Is the AWS Command Line Interface?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)_**) 5. Run script placed in ***afi*** folder to generate AWS FPGA binary file for Amazon F1 instance and register AFI ``` source ./gen_afi.sh diff --git a/aws_demo/common_makefile b/aws_demo/common_makefile index e9630fb..b996b1e 100644 --- a/aws_demo/common_makefile +++ b/aws_demo/common_makefile @@ -32,16 +32,15 @@ TARGET ?= hw_emu # # ######################################## -XF_EXAMPLE_DIR = $(XFOPENCV)/examples/gaussianfilter +HOST_SDx_SRC ?= xcl2 -XCL2_LIB_DIR = $(SDACCEL_DIR)/examples/xilinx/libs/xcl2 -XCL_LIB_DIR = $(SDACCEL_DIR)/examples/xilinx/libs/xcl +SDx_LIB_DIR ?= $(SDACCEL_DIR)/examples/xilinx/libs/xcl2 CXXFLAGS += -DSDX_PLATFORM=$(AWS_PLATFORM) -D__USE_XOPEN2K8 CXXFLAGS += -I$(XILINX_SDX)/runtime/include/1_2/ CXXFLAGS += -I$(XILINX_SDX)/include/ CXXFLAGS += -I$(XFOPENCV)/include/ -CXXFLAGS += -I$(XCL2_LIB_DIR)/ +CXXFLAGS += -I$(SDx_LIB_DIR)/ CXXFLAGS += -I$(XILINX_HLS)/include CXXFLAGS += -O2 -Wall -c -fmessage-length=0 -std=c++14 @@ -72,24 +71,14 @@ LDFLAGS += -Wl,-rpath,$(XILINX_SDX_RUNTIME) #--- Specify objects ---# -# TEST_NAME = gaussian_filter_test -# -# HOST_AWS_SRC += xf_gaussian_filter_accel_aws -# HOST_AWS_SRC += xf_gaussian_filter_tb -# -# HOST_SDx_SRC += xcl2 -# -# HOST_XF_SRC += - HOST_AWS_DIR = ./ HOST_BLD_DIR = $(TARGET)/build/host HOST_RUN_DIR = $(TARGET)/run HOST_AWS_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_AWS_SRC)) ) HOST_SDx_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_SDx_SRC)) ) -HOST_XF_OBJ += $(addsuffix .o, $(addprefix $(HOST_BLD_DIR)/, $(HOST_XF_SRC)) ) -HOST_OBJ = $(HOST_XF_OBJ) $(HOST_AWS_OBJ) $(HOST_SDx_OBJ) +HOST_OBJ = $(HOST_AWS_OBJ) $(HOST_SDx_OBJ) HOST_EXE ?= $(HOST_RUN_DIR)/$(TEST_NAME) @@ -102,8 +91,6 @@ BUILD_SUBDIRS += $(HOST_BLD_DIR) # # ######################################## -# KERNEL = xf_gaussian_filter - XOCC_OPTS += --platform $(AWS_PLATFORM) XOCC_OPTS += --save-temps XOCC_OPTS += --report system @@ -186,7 +173,7 @@ $(HOST_AWS_OBJ): $(HOST_BLD_DIR)/%.o : $(HOST_AWS_DIR)/%.cpp $(SDX_CXX) $(CXXFLAGS) -o $(@) $(<) -$(HOST_SDx_OBJ): $(HOST_BLD_DIR)/%.o : $(XCL2_LIB_DIR)/%.cpp +$(HOST_SDx_OBJ): $(HOST_BLD_DIR)/%.o : $(SDx_LIB_DIR)/%.cpp @echo " " @echo "================================================================" @echo "Compilation of $< to $@" @@ -195,16 +182,7 @@ $(HOST_SDx_OBJ): $(HOST_BLD_DIR)/%.o : $(XCL2_LIB_DIR)/%.cpp @mkdir -p $(HOST_BLD_DIR) $(SDX_CXX) $(CXXFLAGS) -o $(@) $(<) -$(HOST_XF_OBJ): $(HOST_BLD_DIR)/%.o : $(XF_EXAMPLE_DIR)/%.cpp - @echo " " - @echo "================================================================" - @echo "Compilation of $< to $@" - @echo "================================================================" - @echo " " - @mkdir -p $(HOST_BLD_DIR) - $(SDX_CXX) $(CXXFLAGS) -o ($@) ($<) - $(HOST_EXE): $(HOST_OBJ) @echo " " @echo "================================================================" diff --git a/aws_demo/gaussianfilter/makefile b/aws_demo/gaussianfilter/makefile index 197940d..1a9f186 100644 --- a/aws_demo/gaussianfilter/makefile +++ b/aws_demo/gaussianfilter/makefile @@ -9,10 +9,6 @@ TEST_NAME = gaussian_filter_test HOST_AWS_SRC = xf_gaussian_filter_accel_aws HOST_AWS_SRC += xf_gaussian_filter_tb -HOST_SDx_SRC = xcl2 - -HOST_XF_SRC += - ######################################## # # # Kernel section # diff --git a/aws_demo/gaussianfilter/readme.md b/aws_demo/gaussianfilter/readme.md new file mode 100644 index 0000000..24ad25b --- /dev/null +++ b/aws_demo/gaussianfilter/readme.md @@ -0,0 +1,167 @@ +# Gaussian Filter # + +Example demonstrates using of **`xf::GaussianBlur()`** and **`xf::resize()`** functions of xfOpenCV library in pipeline. Example designed to process one image once. If you would like to process many images in loop you need to extract from kernel interface wrapper FPGA & kernel initialization and finalization operations and move them to host application before and after processing loop respectively. + +## Code structure ## + +![](./../Code_Structure.png) + +| Component | Source files | +| :- | :- | +| *Kernel Configuration* |**`xf_gaussian_filter_config.h`**
    **`xf_config_params.h`**| +| *Host Application* |**`xf_gaussian_filter_tb.cpp`**| +| *Kernel Interface Wrapper* |**`xf_gaussian_filter_accel_aws.cpp`**| +| *Kernel Driver* |**`xcl2.cpp (in SDx library)`**| +| *Kernel* |**`xf_gaussian_filter_kernel_aws.cpp`**| + +## Kernel Configuration # + +Following constants in header files define kernel configuration + +| Constant | Possible values | Default Value | Description | +| :- | :- | :- | :- | +| **`FILTER_SIZE_3`**
    **`FILTER_SIZE_5`**
    **`FILTER_SIZE_7`**|**`0, 1`**| **`1`**
    **`0`**
    **`0`**| Select window size of the Gaussian filter. One of them should be defined as 1. And only one can be defined as 1 - others should be defined as 0 | +| **`FILTER_WIDTH`** |-|-|The window size of the Gaussian filter. Value set automatically depending on which **`FILTER_SIZE_n`** set to 1. +| **`SIGMA`** |-|-|Standard deviation of of Gaussian Filter. Value set automatically depending on which **`FILTER_SIZE_n`** set to 1.| +| **`NPC1`** |**`XF_NPPC1`**
    **`XF_NPPC8`**|**`XF_NPPC1`**|Select level of parallelism in kernel (number of pixels which kernel process per clock cycle).| +| **`XF_RESIZE_INTERPOLATION`** |**`XF_INTERPOLATION_NN`**
    **`XF_INTERPOLATION_BILINEAR`**
    **`XF_INTERPOLATION_AREA`**
    |**`XF_INTERPOLATION_NN`**|Types of Interpolaton techniques| +| **`CV_RESIZE_INTERPOLATION`** |**`cv::INTER_NEAREST`**
    **`cv::INTER_LINEAR`**
    **`cv::INTER_AREA`**
    **`others are not suitable`**|**`cv::INTER_NEAREST`**|Types of Interpolaton techniques| +| **`XF_GAUSSIAN_BORDER`** |**`XF_BORDER_CONSTANT`**
    **`XF_BORDER_REPLICATE`**|**`XF_BORDER_CONSTANT`**|The way in which borders will be processed| +| **`CV_GAUSSIAN_BORDER`** |**`cv::BORDER_CONSTANT`**
    **`cv::BORDER_REPLICATE`**
    **`others are not suitable`**|**`cv::BORDER_CONSTANT`**|The way in which borders will be processed| +| **`COLS_INP`** |**`multiple of 8`**|**`1920`**|Maximum width of input image| +| **`ROWS_INP`** |**`multiple of 8`**|**`1080`**|Maximum height of input image| +| **`SCALE`** |**`> 0 and !=1`**|**`0.5`**|Define scale factor of image after Gaussian Filter.
    **Note: The **`xf::resize()`** doesn't support scale factor 1.** | +| **`COLS_OUT`** |**`multiple of 8`**|**`COLS_INP/2`**|Maximum width of output image. Please keep value to correspond to the scale factor (**`SCALE`**). Value should be **`>= ceil(COLS_INP * SCALE)`** and should be multiple of 8.| +| **`ROWS_OUT`** |**`> 0`**|**`ROWS_INP/2`**|Maximum height of input image. Please keep value to correspond to the scale factor (**`SCALE`**). Value should be **`>= ceil(ROWS_INP * SCALE)`**| + +## Host Application ## +Host application reads test image from file, process it with help of regular OpenCV library on host, perform same processing with help of FPGA kernel with function from xfOpenCV library and compare result. + +Input image of example is ***im0.jpg*** place in root folder of example. First filter applied to the image is **`xf::GaussianBlur()`**, next is **`xf::resize()`**. Both has analog with same name in OpenCV library. Application calculate difference between result images - images assumed equal if difference for each pixel not exceed 1. Result images will be stored into run folder. + +The following images will be in run folder after execution: + +- ***xf_img_out.jpg*** - result of FPGA kernel processing +- ***cv_img_out.jpg*** - result of OpenCV processing +- ***error.png*** - contains difference of values for each pixel of result images + + +## Kernel Interface Wrapper ## + +In conjunction with xfOpenCV library on host application is convenient to use xf::Mat or cv::Mat class and image manipulation functions. Unfortunately the XOCC kernel compiler doesn't support classes/structures as kernel input/output parameters. To pass xf::Mat to a kernel a wrapper is needed. The kernel interface wrapper convert interface convenient to host application to kernel interface available in Amazon F1 instance. + +For this example kernel interface wrapper also perform FPGA initialization, kernel downloading, initialization and finalization. + + +| Parameter Name |Direction|Type | Description | +| :- | :- | :- | :- | +| **`img_inp`** |Input | **`xf::Mat &`** | Input image | +| **`img_out`** |Output | **`xf::Mat &`** | Output image | +| **`sigma`** | Input | **`float`** | Standard deviation of of Gaussian Filter | + +To forward these parameters to kernel wrapper create 2 buffers in global memory for images data. Wrapper decompose **`img_inp`** and **`img_out`** classes and pass member separately. + + +## Kernel Driver ### + +Example use modification of SDx xcl kernel driver v.2 for Amazon F1 instance. Source code of this driver and description could be found in Amazon aws-fpga framework. + +## Kernel ## + +During synthesis for FPGA kernel's parameters should be mapped to HW interfaces supported on Amazon F1 instance. To map kernel parameters **`HLS INTERFACE`** pragma should be used. Supported following interfaces: **`m_axi`** and **`s_axilite`**. For **`m_axi`** offset can be set through **`s_axilite`** port only. + +Because functions from xfOpenCV library operate with **`xf::Mat`** class as image container kernel's parameters should be packed back to variables of this class. To do this you need following: + +- Declare **`xf::Mat`** variable
    ***Note: due to XOCC issues use default constructor only - do not try initialize class members with help of non-default constructors*** +- Assign image size to **`rows`** and **`cols`** members +- Copy image from input buffer to **`data`** member of **`xf::Mat`** or from **`data`** to output buffer + +```cpp +xf::Mat mi; + +mi.rows = rows_inp; +mi.cols = cols_inp; + +for(int i=0; i < rows_inp; i++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS_INP + + for(int j=0; j < (cols_inp >> (XF_BITSHIFT(NPC1))); j++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS_INP/pNPC1 + #pragma HLS PIPELINE + #pragma HLS loop_flatten off + + *(mi.data + i*(cols_inp >> (XF_BITSHIFT(NPC1))) +j) = *(img_inp + i*(cols_inp >> (XF_BITSHIFT(NPC1))) +j); + } + } +``` +**Note: `#pragma HLS` doesn't support constants defined through **`#define`** directive - use `const int`. In the code above `pROWS_INP`, `pCOLS_INP` and `pNPC1` are `const int` variables which get values from constants defined in xf_gaussian_filter_config.h with help of #define directive** + +```cpp + const int pROWS_INP = ROWS_INP; + const int pCOLS_INP = COLS_INP; + const int pNPC1 = NPC1; +``` + +Simple declaration of **`xf::Mat`** object create buffer to store whole image with maximum defined size. This buffer use FPGA internal memory blocks and even big FPGA devices could not have enough resources. You should use **`#pragma HLS stream`** to ask HLS convert big RAM buffer to small FIFO buffer + +```cpp + xf::Mat mi; + #pragma HLS stream variable=mi.data depth=pCOLS_INP/pNPC1 +``` + +Please note that **`#pragma HLS stream`** could be used inside dataflow block, therefore kernel body should be declared as dataflow. This also permit pipeline functions from xfOpenCV library. + +```cpp +void kernel(...) +{ + #pragma HLS INTERFACE ... + #pragma HLS INTERFACE ... + + #pragma HLS dataflow + ... +} +``` + +## Known Issues + +- #### Kernel can't accept class/structure as parameters +**Solution**: use simple types, pass class/structure members as separate parameters of simple types and compose class/structure object back inside kernel. + +- #### Using non-default constructors can cause kernel suspension on FPGA and HW emulation +**Solution**: use default constructor for object declaration and next assign desired values to the members separately. + +```cpp +xf::Mat mi; + +mi.rows = rows_inp; +mi.cols = cols_inp; +``` + +- #### **`#pragma HLS`** doesn't support constants defined through **`#define`** directive. +**Solution**: use **`const int`** instead + + +```cpp +#define ROWS_INP 1080 + +void kernel(...) +{ + const int pROWS_INP = ROWS_INP; + + for(int i=0; i < rows_inp; i++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS_INP + ... + } + ... +} +``` + + +## Revision History + +Date | Readme Version | Release Notes +-------- |----------------|------------------------- +May 2018 | 1.0 | Initial version. diff --git a/aws_demo/gaussianfilter/xf_config_params.h b/aws_demo/gaussianfilter/xf_config_params.h index aff4c18..dfd727c 100644 --- a/aws_demo/gaussianfilter/xf_config_params.h +++ b/aws_demo/gaussianfilter/xf_config_params.h @@ -1,6 +1,3 @@ #define FILTER_SIZE_3 1 #define FILTER_SIZE_5 0 #define FILTER_SIZE_7 0 - -#define RO 0 -#define NO 1 diff --git a/aws_demo/gaussianfilter/xf_gaussian_filter_config.h b/aws_demo/gaussianfilter/xf_gaussian_filter_config.h index 08ecff9..0a35c2b 100644 --- a/aws_demo/gaussianfilter/xf_gaussian_filter_config.h +++ b/aws_demo/gaussianfilter/xf_gaussian_filter_config.h @@ -59,34 +59,21 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #if FILTER_SIZE_3 // Set Gaussian filter parameters depending on constant defined in xf_config_params.h //{ #define FILTER_WIDTH ( 3 ) - #define FILTER ( 3 ) #define SIGMA ( 0.5f) //} #elif FILTER_SIZE_5 //{ #define FILTER_WIDTH ( 5 ) - #define FILTER ( 5 ) #define SIGMA ( 0.8333f ) //} #elif FILTER_SIZE_7 //{ #define FILTER_WIDTH ( 7 ) - #define FILTER ( 7 ) #define SIGMA ( 1.16666f ) //} #endif - #if NO - //{ - #define NPC1 XF_NPPC1 - //} - #endif - - #if RO - //{ - #define NPC1 XF_NPPC8 - //} - #endif + #define NPC1 XF_NPPC1 void gaussian_filter_accel(xf::Mat &img_inp, xf::Mat &img_out, float sigma); //} diff --git a/aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp b/aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp index 8a4ce3d..05307d6 100644 --- a/aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp +++ b/aws_demo/gaussianfilter/xf_gaussian_filter_tb.cpp @@ -73,7 +73,6 @@ int main(int argc, char **argv) cv::resize(cv_img_ref, cv_img_out, cvSize(cv_img_out.cols, cv_img_out.rows), 0, 0, CV_RESIZE_INTERPOLATION ); - imwrite("cv_img_ref.jpg", cv_img_ref); imwrite("cv_img_out.jpg", cv_img_out); diff --git a/aws_demo/make_description.md b/aws_demo/make_description.md new file mode 100644 index 0000000..de91c63 --- /dev/null +++ b/aws_demo/make_description.md @@ -0,0 +1,71 @@ +# Makefiles description # + +Examples for Amazon F1 instance use example specific and common makefile. Example specific makefile is placed at root folder of example and include common makefile ([`aws_demo/common_makefile`](common_makefile)). + +## Example specific makefile ## +Example specific makefile contains following variables to list source files for host application and kernel. + +### Variables for host part ### + +| Variable Name |Necessity | Purpose | +| :------------- | :------------- | +| **`TEST_NAME`** |Mandatory| Name of the host executable which will be created as successful build result in **`run`** folder | +| **`HOST_AWS_SRC`** |Mandatory| List of host source files placed in root folder of example | +| **`HOST_SDx_SRC`**
    **`SDx_LIB_DIR`** | Optional | The **`HOST_SDx_SRC`** contains list of SDx kernel driver source files which provide interaction between host and FPGA kernel on Amazon F1 instance and **`SDx_LIB_DIR`** contains path to these sources. Originally all examples use xcl driver v.2. Default values are assigned in [`common_makefile`](common_makefile). If you would like to use other driver you need to do following:
    1) Modify example source code to use desired driver;
    2) assign list of appropriate library source files to **`HOST_SDx_SRC`**;
    3) setup path to the library in **`SDx_LIB_DIR`** variable.
    Settings of these variables in example specific makefile override default values of [`common_makefile`](common_makefile) | + +### Variables for kernel part ### + +| Variable Name |Necessity | Purpose | +| :------------- | :------------- | +| **`KERNEL`** |Mandatory| Name of the kernel should be same as kernel source file name (without extension) | + + +## Common makefile ## +Common makefile contains following variables and makefile's targets for host application and kernel. + +### Variables for host part ### + +| Variable Name |Default value | Description | +| :------------- | :------------- | +| **`XILINX_SDX`** |**`/opt/Xilinx/SDx/2017.1.op`**| Path to Xilinx SDx toolset on Amazon F1 instance | +| **`XILINX_HLS`** |**`$(XILINX_SDX)/Vivado_HLS`** | Path to Xilinx Vivado HLS | +| **`SDX_CXX`** |**`$(XILINX_SDX)/bin/xcpp`** | Alias for Xilinx SDx compiler | +| **`XOCC`** |**`$(XILINX_SDX)/bin/xocc`** | ALias for Xilinx XOCC compiler | +| **`XILINX_SDX_RUNTIME`**| - | Set automatically to run-time library of selected platform (value of **`$(AWS_PLATFORM)`**).| +| **`XFOPENCV`** |**`/home/centos/src/project_data/xfopencv`** | Location of xfOpenCV library.
    ***Note: If you place xfOpenCV library in other location than recommended (default) please update this variable!*** | +| **`TARGET`** |**`hw_emu`** | The target flow. This variable should be override by desired target flow (**`hw/sw_emu/hw_emu`**) in make command line | +| **`HOST_SDx_SRC`** |**`xcl2`** | List of SDx kernel driver source files which provide interaction between host and FPGA kernel on Amazon F1 instance. Originally all examples use xcl driver v.2.| +| **`SDx_LIB_DIR`** |**`$(SDACCEL_DIR)/examples/xilinx/libs/xcl2`** | Path to SDx kernel driver source files | +| **`CXXFLAGS`** |- | Contains SDx compiler options. Please see default value in [`common_makefile`](common_makefile) | +| **`LDFLAGS`** |- | Contains SDx linker options. Please see default value in [`common_makefile`](common_makefile)
    ***Note: Host application needs specific version of run-time shared libraries. Important to explicitly specify for linker needed libraries with help of `-rpath` option. Take it in mind in case of [`common_makefile`](common_makefile) modification *** | +| **`HOST_AWS_DIR`** |**`./`** | Root folder of example | +| **`HOST_BLD_DIR`** |**`$(TARGET)/build/host`** | Build folder for host application build artifacts| +| **`HOST_RUN_DIR`** |**`$(TARGET)/run`** | Run folder of host application | +| **`HOST_EXE`** |**`$(HOST_RUN_DIR)/$(TEST_NAME)`** | Host application executable name with path | + +### Variables for kernel part ### + +| Variable Name |Default value | Description | +| :------------- | :------------- | +| **`XOCC_OPTS`** |- | Contains XOCC options. Please see default value in [`common_makefile`](common_makefile) | +| **`XOCC_INCL`** |- | Contains paths to search header files. Please see default value in [`common_makefile`](common_makefile) | +| **`KERNEL_BLD_DIR`** |**`$(TARGET)/build/kernel`** | Build folder for kernel build artifacts| +| **`KERNEL_RUN_DIR`** |- | Folder to store kernel binary (`.xclbin`). Default value depends on target flow. Please see default value in [`common_makefile`](common_makefile)| + + +### Makefile targets ### + +| Target label | Description | +| :------------- | :------------- | +| **`all`** | Build host application and kernel for target flow specified by **`$(TARGET)`** variable | +| **`host`** | Build host application only for target flow specified by **`$(TARGET)`** variable | +| **`krnl`** | Build kernel only for target flow specified by **`$(TARGET)`** variable | +| **`clean`** | Clean build artifacts of target flow specified by **`$(TARGET)`** variable.
    ***Note: afi folder of FPGA flow ($(TARGET) == hw) kept untouched. You should clean it manually if needed *** | + + + +## REVISION HISTORY + +Date | Readme Version | Release Notes +-------- |----------------|------------------------- +May 2018 | 1.0 | Initial version. diff --git a/aws_demo/stereopipeline/makefile b/aws_demo/stereopipeline/makefile index 61b13b9..1eabcfc 100644 --- a/aws_demo/stereopipeline/makefile +++ b/aws_demo/stereopipeline/makefile @@ -9,8 +9,6 @@ TEST_NAME = stereo_pipeline_test HOST_AWS_SRC += xf_stereo_pipeline_accel_aws HOST_AWS_SRC += xf_stereo_pipeline_tb -HOST_SDx_SRC += xcl2 - ######################################## # # # Kernel section # From 5a0e44559dc9e6ac7f4ba6b8290a06a8898edb9d Mon Sep 17 00:00:00 2001 From: Serge Date: Thu, 24 May 2018 01:36:11 +0300 Subject: [PATCH 59/73] Fix tables layout issues on GitHub --- aws_demo/make_description.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/aws_demo/make_description.md b/aws_demo/make_description.md index de91c63..678ac6b 100644 --- a/aws_demo/make_description.md +++ b/aws_demo/make_description.md @@ -8,7 +8,7 @@ Example specific makefile contains following variables to list source files for ### Variables for host part ### | Variable Name |Necessity | Purpose | -| :------------- | :------------- | +| :- | :- | :- | | **`TEST_NAME`** |Mandatory| Name of the host executable which will be created as successful build result in **`run`** folder | | **`HOST_AWS_SRC`** |Mandatory| List of host source files placed in root folder of example | | **`HOST_SDx_SRC`**
    **`SDx_LIB_DIR`** | Optional | The **`HOST_SDx_SRC`** contains list of SDx kernel driver source files which provide interaction between host and FPGA kernel on Amazon F1 instance and **`SDx_LIB_DIR`** contains path to these sources. Originally all examples use xcl driver v.2. Default values are assigned in [`common_makefile`](common_makefile). If you would like to use other driver you need to do following:
    1) Modify example source code to use desired driver;
    2) assign list of appropriate library source files to **`HOST_SDx_SRC`**;
    3) setup path to the library in **`SDx_LIB_DIR`** variable.
    Settings of these variables in example specific makefile override default values of [`common_makefile`](common_makefile) | @@ -16,7 +16,7 @@ Example specific makefile contains following variables to list source files for ### Variables for kernel part ### | Variable Name |Necessity | Purpose | -| :------------- | :------------- | +| :- | :- | :- | | **`KERNEL`** |Mandatory| Name of the kernel should be same as kernel source file name (without extension) | @@ -26,7 +26,7 @@ Common makefile contains following variables and makefile's targets for host app ### Variables for host part ### | Variable Name |Default value | Description | -| :------------- | :------------- | +| :- | :- | :- | | **`XILINX_SDX`** |**`/opt/Xilinx/SDx/2017.1.op`**| Path to Xilinx SDx toolset on Amazon F1 instance | | **`XILINX_HLS`** |**`$(XILINX_SDX)/Vivado_HLS`** | Path to Xilinx Vivado HLS | | **`SDX_CXX`** |**`$(XILINX_SDX)/bin/xcpp`** | Alias for Xilinx SDx compiler | @@ -46,7 +46,7 @@ Common makefile contains following variables and makefile's targets for host app ### Variables for kernel part ### | Variable Name |Default value | Description | -| :------------- | :------------- | +| :- | :- | :- | | **`XOCC_OPTS`** |- | Contains XOCC options. Please see default value in [`common_makefile`](common_makefile) | | **`XOCC_INCL`** |- | Contains paths to search header files. Please see default value in [`common_makefile`](common_makefile) | | **`KERNEL_BLD_DIR`** |**`$(TARGET)/build/kernel`** | Build folder for kernel build artifacts| @@ -56,11 +56,11 @@ Common makefile contains following variables and makefile's targets for host app ### Makefile targets ### | Target label | Description | -| :------------- | :------------- | -| **`all`** | Build host application and kernel for target flow specified by **`$(TARGET)`** variable | -| **`host`** | Build host application only for target flow specified by **`$(TARGET)`** variable | -| **`krnl`** | Build kernel only for target flow specified by **`$(TARGET)`** variable | -| **`clean`** | Clean build artifacts of target flow specified by **`$(TARGET)`** variable.
    ***Note: afi folder of FPGA flow ($(TARGET) == hw) kept untouched. You should clean it manually if needed *** | +| :- | :- | +| **`all`** | Build host application and kernel for target flow specified by **`$(TARGET)`** variable | +| **`host`** | Build host application only for target flow specified by **`$(TARGET)`** variable | +| **`krnl`** | Build kernel only for target flow specified by **`$(TARGET)`** variable | +| **`clean`** | Clean build artifacts of target flow specified by **`$(TARGET)`** variable.
    ***Note: afi folder of FPGA flow ($(TARGET) == hw) kept untouched. You should clean it manually if needed *** | From 53342eb4ed3ec5ebb841be9713482a5fd29a596d Mon Sep 17 00:00:00 2001 From: Serge Date: Thu, 24 May 2018 01:38:17 +0300 Subject: [PATCH 60/73] Fix layout issues on GitHub --- aws_demo/make_description.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aws_demo/make_description.md b/aws_demo/make_description.md index 678ac6b..90a7c88 100644 --- a/aws_demo/make_description.md +++ b/aws_demo/make_description.md @@ -60,7 +60,7 @@ Common makefile contains following variables and makefile's targets for host app | **`all`** | Build host application and kernel for target flow specified by **`$(TARGET)`** variable | | **`host`** | Build host application only for target flow specified by **`$(TARGET)`** variable | | **`krnl`** | Build kernel only for target flow specified by **`$(TARGET)`** variable | -| **`clean`** | Clean build artifacts of target flow specified by **`$(TARGET)`** variable.
    ***Note: afi folder of FPGA flow ($(TARGET) == hw) kept untouched. You should clean it manually if needed *** | +| **`clean`** | Clean build artifacts of target flow specified by **`$(TARGET)`** variable.
    **_Note: afi folder of FPGA flow ($(TARGET) == hw) kept untouched. You should clean it manually if needed_** | From d919571a0e7b64cb5cdb1492fdac34588ea599c6 Mon Sep 17 00:00:00 2001 From: Serge Date: Sun, 27 May 2018 01:24:29 +0300 Subject: [PATCH 61/73] Add description for stereo pipeline, remove redundant code --- .../Gaussian_Filter_Diagram.png | Bin 0 -> 7647 bytes aws_demo/gaussianfilter/readme.md | 20 +- .../Stereo_Pipeline_Diagram.png | Bin 0 -> 20704 bytes aws_demo/stereopipeline/readme.md | 198 ++++++++++++++++++ .../xf_stereo_pipeline_accel_aws.cpp | 26 +-- .../xf_stereo_pipeline_config.h | 24 +-- .../xf_stereo_pipeline_kernel_aws.cpp | 194 ++++++----------- .../stereopipeline/xf_stereo_pipeline_tb.cpp | 28 +-- 8 files changed, 313 insertions(+), 177 deletions(-) create mode 100644 aws_demo/gaussianfilter/Gaussian_Filter_Diagram.png create mode 100644 aws_demo/stereopipeline/Stereo_Pipeline_Diagram.png create mode 100644 aws_demo/stereopipeline/readme.md diff --git a/aws_demo/gaussianfilter/Gaussian_Filter_Diagram.png b/aws_demo/gaussianfilter/Gaussian_Filter_Diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..0c687f86232ceabe970b5eb67ebe32753baeda23 GIT binary patch literal 7647 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 QrYxS88d$Yj#V+)}0B%L52><{9 literal 0 HcmV?d00001 diff --git a/aws_demo/gaussianfilter/readme.md b/aws_demo/gaussianfilter/readme.md index 24ad25b..9d22445 100644 --- a/aws_demo/gaussianfilter/readme.md +++ b/aws_demo/gaussianfilter/readme.md @@ -37,7 +37,7 @@ Following constants in header files define kernel configuration ## Host Application ## Host application reads test image from file, process it with help of regular OpenCV library on host, perform same processing with help of FPGA kernel with function from xfOpenCV library and compare result. -Input image of example is ***im0.jpg*** place in root folder of example. First filter applied to the image is **`xf::GaussianBlur()`**, next is **`xf::resize()`**. Both has analog with same name in OpenCV library. Application calculate difference between result images - images assumed equal if difference for each pixel not exceed 1. Result images will be stored into run folder. +Input image of example ***im0.jpg*** placed in root folder of example. First filter applied to the image is **`xf::GaussianBlur()`**, next is **`xf::resize()`**. Both has analog with same name in OpenCV library. Application calculate difference between result images - images assumed equal if difference for each pixel not exceed 1. Result images will be stored into run folder. The following images will be in run folder after execution: @@ -68,9 +68,25 @@ Example use modification of SDx xcl kernel driver v.2 for Amazon F1 instance. So ## Kernel ## +To apply Gaussian filter and change size of processed image the kernel pipeline functions from xfOpenCV library as shown on the image below.
    + +![](./Gaussian_Filter_Diagram.png) + +The kernel has following parameters: + +| Parameter Name |Direction|Type | Description | +| :- | :- | :- | :- | +| **`img_inp`** |Input | **`XF_TNAME(XF_8UC1, NPC1) *`** | Pointer to input image buffer | +| **`img_out`** |Output | **`XF_TNAME(XF_8UC1, NPC1) *`** | Pointer to output image buffer| +| **`rows_inp`**| Input | **`int`** | Height of input image | +| **`cols_inp`**| Input | **`int`** | Width of input image | +| **`sigma`** | Input | **`float`** | Standard deviation of of Gaussian Filter | +| **`rows_out`**| Input | **`int`** | Height of output image | +| **`cols_out`**| Input | **`int`** | Width of output image | + During synthesis for FPGA kernel's parameters should be mapped to HW interfaces supported on Amazon F1 instance. To map kernel parameters **`HLS INTERFACE`** pragma should be used. Supported following interfaces: **`m_axi`** and **`s_axilite`**. For **`m_axi`** offset can be set through **`s_axilite`** port only. -Because functions from xfOpenCV library operate with **`xf::Mat`** class as image container kernel's parameters should be packed back to variables of this class. To do this you need following: +Because functions from xfOpenCV library operate with **`xf::Mat`** class as image container kernel's parameters should be packed back to objects of this class. To do this you need following: - Declare **`xf::Mat`** variable
    ***Note: due to XOCC issues use default constructor only - do not try initialize class members with help of non-default constructors*** - Assign image size to **`rows`** and **`cols`** members diff --git a/aws_demo/stereopipeline/Stereo_Pipeline_Diagram.png b/aws_demo/stereopipeline/Stereo_Pipeline_Diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..94c4f14cfa62582dff646ae0dbf71874cd3dd78e GIT binary patch literal 20704 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 literal 0 HcmV?d00001 diff --git a/aws_demo/stereopipeline/readme.md b/aws_demo/stereopipeline/readme.md new file mode 100644 index 0000000..42ace91 --- /dev/null +++ b/aws_demo/stereopipeline/readme.md @@ -0,0 +1,198 @@ +# Stereo Pipeline # + +Disparity map generation is one of the first steps in creating a three dimensional map of the environment. The xfOpenCV library has components to build an image processing pipeline to compute a disparity map given the camera parameters and inputs from a stereo camera setup. + +Example demonstrates using of **`xf::InitUndistortRectifyMapInverse()`**, **`xf::remap()`** and **`xf::StereoBM()`** functions of xfOpenCV library in pipeline to compute disparity map. Example designed to process one image set (image from left and right cameras) once. If you would like to process many sets of images in loop you need to extract from kernel interface wrapper FPGA & kernel initialization and finalization operations and move them to host application before and after processing loop respectively. + +## Code structure ## + +![](./../Code_Structure.png) + +| Component | Source files | +| :- | :- | +| *Kernel Configuration* |**`xf_stereo_pipeline_config.h`**
    **`xf_config_params.h`**
    **`cameraParameters.h`**| +| *Host Application* |**`xf_stereo_pipeline_tb.cpp`**| +| *Kernel Interface Wrapper* |**`xf_stereo_pipeline_accel_aws.cpp`**| +| *Kernel Driver* |**`xcl2.cpp (in SDx library)`**| +| *Kernel* |**`xf_stereo_pipeline_kernel_aws.cpp`**| + +## Kernel Configuration # + +Following constants in header files define kernel configuration + +| Constant | Possible values | Default Value | Description | +| :- | :- | :- | :- | +| **`XF_WIDTH`** |**`> 0`**|**`1280`**|Maximum width of input image| +| **`XF_HEIGHT`** |**`> 0`**|**`720`**|Maximum height of input image| +| **`XF_CAMERA_MATRIX_SIZE`**|**`9`**|**`9`**|Number of element in camera coordinate system matrix (9 == 3 x 3 matrix)| +| **`XF_DIST_COEFF_SIZE`** |**`4, 5, 8`**|**`5`**|Size of array with distortion coefficients| +| **`NO_OF_DISPARITIES`** |**`0 < value < XF_WIDTH &&`**
    **`value >= PARALLEL_UNITS &&`**
    **`value % PARALLEL_UNITS == 0`**| **`48`**| Number of disparities | +| **`PARALLEL_UNITS`** |**` > 0`**|**`16`**|Number of disparities to be computed in parallel| +| **`SAD_WINDOW_SIZE`** |**`value % 2 == 1 &&`**
    **`> minimum image heght &&`**
    **`< 21`**|15|Size of the window used for disparity computation| +| **`XF_REMAP_BUFSIZE`** |**`> 0`**|**`128`** |Number of input image rows to be buffered inside **`xf::remap()`**| + +## Host Application ## +Host application reads two test images from file (images of left and right cameras) and forward them with cameras matrices, distortion coefficients and transformation matrices predefined in **`cameraParameters.h`** to the kernel for disparity map computation. + +Input images of example **_left.png_** and **_right.png_** placed in root folder of example. Disparity map calculated in kernel writing as image to **_hls_output.png_**. + + +## Kernel Interface Wrapper ## + +In conjunction with xfOpenCV library on host application is convenient to use xf::Mat or cv::Mat class and image manipulation functions. Unfortunately the XOCC kernel compiler doesn't support classes/structures as kernel input/output parameters. To pass xf::Mat to a kernel a wrapper is needed. The kernel interface wrapper convert interface convenient to host application to kernel interface available in Amazon F1 instance. + +For this example kernel interface wrapper also perform FPGA initialization, kernel downloading, initialization and finalization. + + +| Parameter Name |Direction|Type | Description | +| :- | :- | :- | :- | +| **`xf_img_l`** |Input | **`xf::Mat**`XF_WIDTH, XF_NPPC1> &`** | Input image from left camera | +| **`xf_img_r`** |Input | **`xf::Mat**`XF_WIDTH, XF_NPPC1> &`** | Input image from right camera | +| **`xf_img_d`** |Output| **`xf::Mat**` XF_WIDTH, XF_NPPC1> &`**| Output disparity map | +| **`bm_state`** |Input | **`xf::xFSBMState**`NO_OF_DISPARITIES, PARALLEL_UNITS> &`** | Set of various parameters regarding the stereo block matching algorithm | +| **`cameraMA_l_fix`**|Input | **`ap_fixed<32,12>`**| Left camera parameters matrix | +| **`cameraMA_r_fix`**|Input | **`ap_fixed<32,12>`**| Right camera parameters matrix | +| **`distC_l_fix`** |Input | **`ap_fixed<32,12>`**| Left image distortion coefficients | +| **`distC_r_fix`** |Input | **`ap_fixed<32,12>`**| Right image distortion coefficients | +| **`irA_l_fix`** |Input | **`ap_fixed<32,12>`**| Left image transformation matrix | +| **`irA_r_fix`** |Input | **`ap_fixed<32,12>`**| Right image transformation matrix | +| **`cm_size`** |Input | **`int`** | Size of camera parameters matrix | +| **`dc_size`** |Input | **`int`** | Size of distortion coefficients array | + +To forward these parameters to kernel wrapper create 10 buffers in global memory for images data, disparity map and transformation parameters matrices & arrays. Wrapper decompose **`xf_img_l`**, **`xf_img_r`**, **`xf_img_d`** and **`bm_state`** classes and pass member separately. Not all members of **`bm_state`** wrapper transfers to kernel. Most members of **`bm_state`** is predefined by template or calculated based on others members. Therefore kernel could fully restore values of host side **`bm_state`** based on template and restricted set of values. Wrapper forward as regular parameters of type **`int`** following members of **`bm_state`**: **`preFilterType`**, **`preFilterCap`**, **`minDisparity`**, **`textureThreshold`**, **`uniquenessRatio`** + + +## Kernel Driver ### + +Example use modification of SDx xcl kernel driver v.2 for Amazon F1 instance. Source code of this driver and description could be found in Amazon aws-fpga framework. + +## Kernel ## + +To calculate disparity map the kernel pipeline functions from xfOpenCV as shown on the image below.
    + +![](./Stereo_Pipeline_Diagram.png) + +The kernel has following parameters: + +| Parameter Name |Direction|Type | Description | +| :- | :- | :- | :- | +| **`img_l`** |Input | **`XF_TNAME(XF_8UC1, XF_NPPC1) *`** | Pointer to input image buffer from left camera | +| **`img_r`** |Input | **`XF_TNAME(XF_8UC1, XF_NPPC1) *`** | Pointer to input image buffer from right camera | +| **`cameraMA_l_fix`**|Input | **`ap_fixed<32,12> *`** | Pointer to buffer with left camera parameters matrix | +| **`cameraMA_r_fix`**|Input | **`ap_fixed<32,12> *`** | Pointer to buffer with right camera parameters matrix | +| **`distC_l_fix`** |Input | **`ap_fixed<32,12> *`** | Pointer to buffer with left image distortion coefficients | +| **`distC_r_fix`** |Input | **`ap_fixed<32,12> *`** | Pointer to buffer with right image distortion coefficients | +| **`irA_l_fix`** |Input | **`ap_fixed<32,12> *`** | Pointer to buffer with left image transformation matrix | +| **`irA_r_fix`** |Input | **`ap_fixed<32,12> *`** | Pointer to buffer with right image transformation matrix | +| **`img_d`** |Output| **`XF_TNAME(XF_16UC1, XF_NPPC1) *`**| Pointer to buffer for output disparity map | +| **`preFilterType`**
    **`preFilterCap`**
    **`minDisparity`**
    **`textureThreshold`**
    **`uniquenessRatio`**
    | Input | **`int`**|Restricted set members of **`xf::xFSBMState<...>`** structure which have arbitrary values. This set is enough to restore values of all member of **`xf::xFSBMState<...>`** same as on host side| +| **`cm_size`** |Input | **`int`** | Size of camera parameters matrix | +| **`dc_size`** |Input | **`int`** | Size of distortion coefficients array| +| **`rows`** |Input | **`int`** | Height of images and disparity map| +| **`cols`** |Input | **`int`** | Width of images and disparity map | + + + +During synthesis for FPGA kernel's parameters should be mapped to HW interfaces supported on Amazon F1 instance. To map kernel parameters **`HLS INTERFACE`** pragma should be used. Supported following interfaces: **`m_axi`** and **`s_axilite`**. For **`m_axi`** offset can be set through **`s_axilite`** port only. + +Because functions from xfOpenCV library operate with **`xf::Mat`** class as image container kernel's parameters should be packed back to objects of this class. To do this you need following: + +- Declare **`xf::Mat`** variable
    ***Note: due to XOCC issues use default constructor only - do not try initialize class members with help of non-default constructors*** +- Assign image size to **`rows`** and **`cols`** members +- Copy image from input buffer to **`data`** member of **`xf::Mat`** or from **`data`** to output buffer + +```cpp +xf::Mat xf_img_l; +xf::Mat xf_img_r; + +xf_img_l.rows = rows; xf_img_l.cols = cols; +xf_img_r.rows = rows; xf_img_r.cols = cols; + +for(int i=0; i < rows; i++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS + + for(int j=0; j < (cols >> (XF_BITSHIFT(XF_NPPC1))); j++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pCOLS/pNPC + #pragma HLS PIPELINE + #pragma HLS loop_flatten off + + *(xf_img_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + *(xf_img_r.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_r + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + } + } +``` +**Note: `#pragma HLS` doesn't support constants defined through **`#define`** directive - use `const int`. In the code above `pROWS`, `pCOLS` and `pNPC` are `const int` variables which get values from constants defined in xf_stereo_pipeline_config.h with help of #define directive** + +```cpp +const int pROWS = XF_HEIGHT; +const int pCOLS = XF_WIDTH; +const int pNPC = XF_NPPC1; +``` + +Simple declaration of **`xf::Mat`** object create buffer to store whole image with maximum defined size. This buffer use FPGA internal memory blocks and even big FPGA devices could not have enough resources. You should use **`#pragma HLS stream`** to ask HLS convert big RAM buffer to small FIFO buffer + +```cpp +xf::Mat xf_img_l; +xf::Mat xf_img_r; + +#pragma HLS stream variable=xf_img_l.data depth=pCOLS/pNPC +#pragma HLS stream variable=xf_img_r.data depth=pCOLS/pNPC +``` + +Please note that **`#pragma HLS stream`** could be used inside dataflow block, therefore kernel body should be declared as dataflow. This also permit pipeline functions from xfOpenCV library. + +```cpp +void kernel(...) +{ + #pragma HLS INTERFACE ... + #pragma HLS INTERFACE ... + + #pragma HLS dataflow + ... +} +``` + +## Known Issues + +- #### Kernel can't accept class/structure as parameters +**Solution**: use simple types, pass class/structure members as separate parameters of simple types and compose class/structure object back inside kernel. + +- #### Using non-default constructors can cause kernel suspension on FPGA and HW emulation +**Solution**: use default constructor for object declaration and next assign desired values to the members separately. + +```cpp +xf::Mat xf_img_l; +xf::Mat xf_img_r; + +xf_img_l.rows = rows; xf_img_l.cols = cols; +xf_img_r.rows = rows; xf_img_r.cols = cols; +``` + +- #### **`#pragma HLS`** doesn't support constants defined through **`#define`** directive. +**Solution**: use **`const int`** instead + + +```cpp +#define XF_HEIGHT 720 + +void kernel(...) +{ + const int pROWS = XF_HEIGHT; + + for(int i=0; i < rows; i++) + { + #pragma HLS LOOP_TRIPCOUNT min=1 max=pROWS + ... + } + ... +} +``` + + +## Revision History + +Date | Readme Version | Release Notes +-------- |----------------|------------------------- +May 2018 | 1.0 | Initial version. diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp b/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp index 2c8a90f..1bae1c1 100644 --- a/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp @@ -12,22 +12,16 @@ typedef xf::xFSBMState xf_BMSt void stereo_pipeline_accel ( - xf::Mat &xf_img_l , xf::Mat &xf_img_r, - - xf::Mat &xf_img_s , - - xf::Mat &xf_map_x_l , - xf::Mat &xf_map_y_l , - xf::Mat &xf_map_x_r, - xf::Mat &xf_map_y_r, - - xf::Mat &xf_remaped_l , xf::Mat &xf_remaped_r, + // Left | Right + xf::Mat &xf_img_l, xf::Mat &xf_img_r, + + xf::Mat &xf_img_d, xf::xFSBMState &bm_state, - ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, - ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , - ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , + ap_fixed<32,12> *cameraMA_l_fix , ap_fixed<32,12> *cameraMA_r_fix, + ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , + ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , int cm_size, int dc_size @@ -64,7 +58,7 @@ void stereo_pipeline_accel cl::Buffer buffer_dc_l(context, cl_mem_flags(CL_MEM_USE_HOST_PTR | CL_MEM_READ_ONLY ), dc_size * 4, (void*)distC_l_fix ); cl::Buffer buffer_dc_r(context, cl_mem_flags(CL_MEM_USE_HOST_PTR | CL_MEM_READ_ONLY), dc_size * 4, (void*)distC_r_fix ); cl::Buffer buffer_ir_l(context, cl_mem_flags(CL_MEM_USE_HOST_PTR | CL_MEM_READ_ONLY ), cm_size * 4, (void*)irA_l_fix ); cl::Buffer buffer_ir_r(context, cl_mem_flags(CL_MEM_USE_HOST_PTR | CL_MEM_READ_ONLY), cm_size * 4, (void*)irA_r_fix ); - cl::Buffer buffer_s (context, cl_mem_flags(CL_MEM_USE_HOST_PTR | CL_MEM_WRITE_ONLY), pixel_qnt * 2, xf_img_s.data); + cl::Buffer buffer_d (context, cl_mem_flags(CL_MEM_USE_HOST_PTR | CL_MEM_WRITE_ONLY), pixel_qnt * 2, xf_img_d.data); std::vector kernel_wr_buf; @@ -94,7 +88,7 @@ void stereo_pipeline_accel //----------- Launch the Kernel -----------// - krnl(cl::EnqueueArgs(q, cl::NDRange(1,1,1), cl::NDRange(1,1,1)), buffer_l, buffer_r, buffer_cm_l, buffer_cm_r, buffer_dc_l, buffer_dc_r, buffer_ir_l, buffer_ir_r, buffer_s, bm_state.preFilterType, + krnl(cl::EnqueueArgs(q, cl::NDRange(1,1,1), cl::NDRange(1,1,1)), buffer_l, buffer_r, buffer_cm_l, buffer_cm_r, buffer_dc_l, buffer_dc_r, buffer_ir_l, buffer_ir_r, buffer_d, bm_state.preFilterType, bm_state.preFilterCap, bm_state.minDisparity, bm_state.textureThreshold, @@ -108,7 +102,7 @@ void stereo_pipeline_accel //----------- Copy Result from Device Global Memory to Host Local Memory -----------// std::vector kernel_rd_buf; - kernel_rd_buf.push_back(buffer_s); + kernel_rd_buf.push_back(buffer_d); q.enqueueMigrateMemObjects(kernel_rd_buf, CL_MIGRATE_MEM_OBJECT_HOST); diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_config.h b/aws_demo/stereopipeline/xf_stereo_pipeline_config.h index 371bfb9..ec9eefc 100644 --- a/aws_demo/stereopipeline/xf_stereo_pipeline_config.h +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_config.h @@ -46,29 +46,19 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define XF_CAMERA_MATRIX_SIZE 9 #define XF_DIST_COEFF_SIZE 5 -#define IN_TYPE ap_uint<8> -#define OUT_TYPE ap_uint<16> - void stereo_pipeline_accel ( - xf::Mat &xf_img_l , xf::Mat &xf_img_r, - - xf::Mat &xf_img_s , - - - xf::Mat &xf_map_x_l , - xf::Mat &xf_map_y_l , - xf::Mat &xf_map_x_r, - xf::Mat &xf_map_y_r, - - xf::Mat &xf_remaped_l , xf::Mat &xf_remaped_r, + // Left | Right + xf::Mat &xf_img_l, xf::Mat &xf_img_r, + + xf::Mat &xf_img_s, xf::xFSBMState &bm_state, - ap_fixed<32,12> *cameraMA_l_fix , ap_fixed<32,12> *cameraMA_r_fix, - ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , - ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , + ap_fixed<32,12> *cameraMA_l_fix , ap_fixed<32,12> *cameraMA_r_fix, + ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , + ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , int cm_size, int dc_size diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp b/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp index aaae0d3..2080d2d 100644 --- a/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp @@ -13,25 +13,15 @@ extern "C" { void xf_stereo_pipeline - ( - XF_TNAME(XF_8UC1 , XF_NPPC1) *img_l , + ( + // Left | Right + XF_TNAME(XF_8UC1, XF_NPPC1) *img_l, XF_TNAME(XF_8UC1, XF_NPPC1) *img_r, - XF_TNAME(XF_8UC1 , XF_NPPC1) *img_r, - -// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_l, -// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_l, - -// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_r, -// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_r, - -// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_l, -// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_r, - - ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, - ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , - ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , + ap_fixed<32,12> *cameraMA_l_fix , ap_fixed<32,12> *cameraMA_r_fix, + ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , + ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , - XF_TNAME(XF_16UC1 , XF_NPPC1) *img_s , + XF_TNAME(XF_16UC1, XF_NPPC1) *img_d , int preFilterType, int preFilterCap, @@ -47,61 +37,33 @@ extern "C" ); } -void xf_stereo_pipeline( - XF_TNAME(XF_8UC1 , XF_NPPC1) *img_l, +void xf_stereo_pipeline + ( + // Left | Right + XF_TNAME(XF_8UC1, XF_NPPC1) *img_l, XF_TNAME(XF_8UC1 , XF_NPPC1) *img_r, - XF_TNAME(XF_8UC1 , XF_NPPC1) *img_r, - -// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_l, -// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_l, - -// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_r, -// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_r, - -// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_l, -// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_r, - - ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, - ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , - ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , + ap_fixed<32,12> *cameraMA_l_fix , ap_fixed<32,12> *cameraMA_r_fix, + ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , + ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , - XF_TNAME(XF_16UC1 , XF_NPPC1) *img_s, + XF_TNAME(XF_16UC1, XF_NPPC1) *img_d, - int preFilterType, - int preFilterCap, - int minDisparity, - int textureThreshold, - int uniquenessRatio, + int preFilterType, + int preFilterCap, + int minDisparity, + int textureThreshold, + int uniquenessRatio, - int cm_size, - int dc_size, + int cm_size, + int dc_size, - int rows, - int cols - ) + int rows, + int cols + ) { #pragma HLS INTERFACE m_axi port=img_l offset=slave bundle=gmem_i_l #pragma HLS INTERFACE m_axi port=img_r offset=slave bundle=gmem_i_r -// #pragma HLS INTERFACE m_axi port=img_map_x_l offset=slave bundle=gmem_1 -// #pragma HLS INTERFACE m_axi port=img_map_y_l offset=slave bundle=gmem_1 - -// #pragma HLS INTERFACE m_axi port=img_map_x_r offset=slave bundle=gmem_1 -// #pragma HLS INTERFACE m_axi port=img_map_y_r offset=slave bundle=gmem_1 - -// #pragma HLS INTERFACE m_axi port=img_remapped_l offset=slave bundle=gmem_0_l -// #pragma HLS INTERFACE m_axi port=img_remapped_r offset=slave bundle=gmem_0_r - -// #pragma HLS INTERFACE m_axi port=mapxLMat offset=slave bundle=gmem -// #pragma HLS INTERFACE m_axi port=mapyLMat offset=slave bundle=gmem -// -// #pragma HLS INTERFACE m_axi port=mapxRMat offset=slave bundle=gmem -// #pragma HLS INTERFACE m_axi port=mapyRMat offset=slave bundle=gmem -// -// #pragma HLS INTERFACE m_axi port=leftRemappedMat offset=slave bundle=gmem -// #pragma HLS INTERFACE m_axi port=rightRemappedMat offset=slave bundle=gmem - - #pragma HLS INTERFACE m_axi port=cameraMA_l_fix offset=slave bundle=gmem_l #pragma HLS INTERFACE m_axi port=cameraMA_r_fix offset=slave bundle=gmem_r @@ -111,31 +73,12 @@ void xf_stereo_pipeline( #pragma HLS INTERFACE m_axi port=irA_l_fix offset=slave bundle=gmem_l #pragma HLS INTERFACE m_axi port=irA_r_fix offset=slave bundle=gmem_r - #pragma HLS INTERFACE m_axi port=img_s offset=slave bundle=gmem_s + #pragma HLS INTERFACE m_axi port=img_d offset=slave bundle=gmem_s #pragma HLS INTERFACE s_axilite port=img_l bundle=control #pragma HLS INTERFACE s_axilite port=img_r bundle=control -// #pragma HLS INTERFACE s_axilite port=img_map_x_l bundle=control -// #pragma HLS INTERFACE s_axilite port=img_map_y_l bundle=control - -// #pragma HLS INTERFACE s_axilite port=img_map_x_r bundle=control -// #pragma HLS INTERFACE s_axilite port=img_map_y_r bundle=control - -// #pragma HLS INTERFACE s_axilite port=img_remapped_l bundle=control -// #pragma HLS INTERFACE s_axilite port=img_remapped_r bundle=control - -// #pragma HLS INTERFACE s_axilite port=mapxLMat bundle=control -// #pragma HLS INTERFACE s_axilite port=mapyLMat bundle=control - -// #pragma HLS INTERFACE s_axilite port=mapxRMat bundle=control -// #pragma HLS INTERFACE s_axilite port=mapyRMat bundle=control - -// #pragma HLS INTERFACE s_axilite port=leftRemappedMat bundle=control -// #pragma HLS INTERFACE s_axilite port=rightRemappedMat bundle=control - - #pragma HLS INTERFACE s_axilite port=cameraMA_l_fix bundle=control #pragma HLS INTERFACE s_axilite port=cameraMA_r_fix bundle=control @@ -145,7 +88,8 @@ void xf_stereo_pipeline( #pragma HLS INTERFACE s_axilite port=irA_l_fix bundle=control #pragma HLS INTERFACE s_axilite port=irA_r_fix bundle=control - #pragma HLS INTERFACE s_axilite port=img_s bundle=control + + #pragma HLS INTERFACE s_axilite port=img_d bundle=control #pragma HLS INTERFACE s_axilite port=preFilterType bundle=control @@ -172,47 +116,48 @@ void xf_stereo_pipeline( const int pNPC = XF_NPPC1; - xf::Mat leftMat ; // don't use non default constructor xf::Mat<...> leftMat(rows, cols) - kernel will suspend on hw emulation and FPGA - xf::Mat rightMat; + xf::Mat xf_img_l; // don't use non default constructor xf::Mat<...> xf_img_l(rows, cols) - kernel will suspend on hw emulation and FPGA + xf::Mat xf_img_r; - #pragma HLS stream variable=leftMat.data depth=pCOLS/pNPC - #pragma HLS stream variable=rightMat.data depth=pCOLS/pNPC + #pragma HLS stream variable=xf_img_l.data depth=pCOLS/pNPC + #pragma HLS stream variable=xf_img_r.data depth=pCOLS/pNPC - xf::Mat dispMat; + xf::Mat xf_img_d; - #pragma HLS stream variable=dispMat.data depth=pCOLS/pNPC + #pragma HLS stream variable=xf_img_d.data depth=pCOLS/pNPC - xf::Mat map_x_l; - xf::Mat map_y_l; + xf::Mat xf_map_x_l; + xf::Mat xf_map_y_l; - #pragma HLS stream variable=map_x_l.data depth=pCOLS/pNPC - #pragma HLS stream variable=map_y_l.data depth=pCOLS/pNPC + #pragma HLS stream variable=xf_map_x_l.data depth=pCOLS/pNPC + #pragma HLS stream variable=xf_map_y_l.data depth=pCOLS/pNPC - xf::Mat map_x_r; - xf::Mat map_y_r; + xf::Mat xf_map_x_r; + xf::Mat xf_map_y_r; - #pragma HLS stream variable=map_x_r.data depth=pCOLS/pNPC - #pragma HLS stream variable=map_y_r.data depth=pCOLS/pNPC + #pragma HLS stream variable=xf_map_x_r.data depth=pCOLS/pNPC + #pragma HLS stream variable=xf_map_y_r.data depth=pCOLS/pNPC - xf::Mat remapped_l; - xf::Mat remapped_r; + xf::Mat xf_remapped_l; + xf::Mat xf_remapped_r; - #pragma HLS stream variable=remapped_l.data depth=pCOLS/pNPC - #pragma HLS stream variable=remapped_r.data depth=pCOLS/pNPC + #pragma HLS stream variable=xf_remapped_l.data depth=pCOLS/pNPC + #pragma HLS stream variable=xf_remapped_r.data depth=pCOLS/pNPC xf::xFSBMState bm_state; - leftMat .rows = rows; leftMat .cols = cols; - rightMat.rows = rows; rightMat.cols = cols; - dispMat .rows = rows; dispMat .cols = cols; - map_x_l .rows = rows; map_x_l .cols = cols; - map_y_l .rows = rows; map_y_l .cols = cols; - map_x_r .rows = rows; map_x_r .cols = cols; - map_y_r .rows = rows; map_y_r .cols = cols; + xf_img_l.rows = rows; xf_img_l.cols = cols; + xf_img_r.rows = rows; xf_img_r.cols = cols; + xf_img_d.rows = rows; xf_img_d.cols = cols; + + xf_map_x_l.rows = rows; xf_map_x_l.cols = cols; + xf_map_y_l.rows = rows; xf_map_y_l.cols = cols; + xf_map_x_r.rows = rows; xf_map_x_r.cols = cols; + xf_map_y_r.rows = rows; xf_map_y_r.cols = cols; - remapped_l.rows = rows; remapped_l.cols = cols; - remapped_r.rows = rows; remapped_r.cols = cols; + xf_remapped_l.rows = rows; xf_remapped_l.cols = cols; + xf_remapped_r.rows = rows; xf_remapped_r.cols = cols; bm_state.preFilterType = preFilterType ; bm_state.preFilterCap = preFilterCap ; @@ -230,26 +175,26 @@ void xf_stereo_pipeline( #pragma HLS PIPELINE #pragma HLS loop_flatten off - *(leftMat .data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); - *(rightMat.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_r + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + *(xf_img_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + *(xf_img_r.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_r + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); } } - xf::InitUndistortRectifyMapInverse < XF_CAMERA_MATRIX_SIZE, XF_DIST_COEFF_SIZE, XF_32FC1, XF_HEIGHT, XF_WIDTH, XF_NPPC1 > (cameraMA_l_fix, distC_l_fix, irA_l_fix, map_x_l, map_y_l, cm_size, dc_size); + xf::InitUndistortRectifyMapInverse < XF_CAMERA_MATRIX_SIZE, XF_DIST_COEFF_SIZE, XF_32FC1, XF_HEIGHT, XF_WIDTH, XF_NPPC1 > (cameraMA_l_fix, distC_l_fix, irA_l_fix, xf_map_x_l, xf_map_y_l, cm_size, dc_size); - xf::remap ( leftMat, remapped_l, map_x_l, map_y_l ); + xf::remap ( xf_img_l, xf_remapped_l, xf_map_x_l, xf_map_y_l ); - xf::InitUndistortRectifyMapInverse < XF_CAMERA_MATRIX_SIZE, XF_DIST_COEFF_SIZE, XF_32FC1, XF_HEIGHT, XF_WIDTH, XF_NPPC1 > (cameraMA_r_fix, distC_r_fix, irA_r_fix, map_x_r, map_y_r, cm_size, dc_size); + xf::InitUndistortRectifyMapInverse < XF_CAMERA_MATRIX_SIZE, XF_DIST_COEFF_SIZE, XF_32FC1, XF_HEIGHT, XF_WIDTH, XF_NPPC1 > (cameraMA_r_fix, distC_r_fix, irA_r_fix, xf_map_x_r, xf_map_y_r, cm_size, dc_size); - xf::remap ( rightMat, remapped_r, map_x_r, map_y_r); + xf::remap ( xf_img_r, xf_remapped_r, xf_map_x_r, xf_map_y_r); - xf::StereoBM ( remapped_l, remapped_r, dispMat, bm_state); + xf::StereoBM ( xf_remapped_l, xf_remapped_r, xf_img_d, bm_state); @@ -264,19 +209,8 @@ void xf_stereo_pipeline( #pragma HLS PIPELINE #pragma HLS loop_flatten off - //*(img_map_x_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(map_x_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); - //*(img_map_y_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(map_y_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); - - //*(img_remapped_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(remapped_l.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); - //*(img_remapped_r + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(remapped_r.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); - - *(img_s + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(dispMat.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + *(img_d + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(xf_img_d.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); } } } - - - - - diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_tb.cpp b/aws_demo/stereopipeline/xf_stereo_pipeline_tb.cpp index e5d023a..273e67b 100644 --- a/aws_demo/stereopipeline/xf_stereo_pipeline_tb.cpp +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_tb.cpp @@ -27,8 +27,20 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***************************************************************************/ -#include "xf_headers.h" + +#include +#include +#include + +#include "opencv/cv.h" +#include "opencv2/imgproc/imgproc.hpp" +#include "opencv2/highgui/highgui.hpp" +#include "opencv2/video/tracking.hpp" + +#include "common/xf_sw_utils.h" + #include "xf_stereo_pipeline_config.h" + #include "cameraParameters.h" using namespace std; @@ -57,15 +69,7 @@ int main(int argc, char** argv) int rows = cv_img_l.rows; int cols = cv_img_l.cols; - xf::Mat mapxLMat(rows,cols); - xf::Mat mapyLMat(rows,cols); - xf::Mat mapxRMat(rows,cols); - xf::Mat mapyRMat(rows,cols); - - xf::Mat leftRemappedMat(rows,cols); - xf::Mat rightRemappedMat(rows,cols); - - xf::Mat xf_img_s(rows,cols); + xf::Mat xf_img_d(rows,cols); // camera parameters for rectification @@ -106,13 +110,13 @@ int main(int argc, char** argv) printf("starting the kernel...\n"); - stereo_pipeline_accel(xf_img_l, xf_img_r, xf_img_s, mapxLMat, mapyLMat, mapxRMat, mapyRMat, leftRemappedMat, rightRemappedMat, bm_state, cameraMA_l_fix, cameraMA_r_fix, distC_l_fix, distC_r_fix, irA_l_fix, irA_r_fix, 9, 5); + stereo_pipeline_accel(xf_img_l, xf_img_r, xf_img_d, bm_state, cameraMA_l_fix, cameraMA_r_fix, distC_l_fix, distC_r_fix, irA_l_fix, irA_r_fix, 9, 5); cv::Mat out_disp_16(rows,cols,CV_16UC1); cv::Mat out_disp_08(rows,cols,CV_8UC1 ); - out_disp_16.data = xf_img_s.copyFrom(); + out_disp_16.data = xf_img_d.copyFrom(); out_disp_16.convertTo(out_disp_08, CV_8U, (256.0/NO_OF_DISPARITIES)/(16.)); From e9c1d23f65ed70e6d6aec966cba30990c96d8639 Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Tue, 29 May 2018 19:04:35 +0900 Subject: [PATCH 62/73] xf_pyr_dense_optical_flow URAM optimization: findGradients() is roughly done (no co-sim and other checks). --- include/imgproc/xf_pyr_dense_optical_flow.hpp | 2 +- .../xf_pyr_dense_optical_flow_find_gradients.hpp | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/include/imgproc/xf_pyr_dense_optical_flow.hpp b/include/imgproc/xf_pyr_dense_optical_flow.hpp index 7727606..931cdfd 100644 --- a/include/imgproc/xf_pyr_dense_optical_flow.hpp +++ b/include/imgproc/xf_pyr_dense_optical_flow.hpp @@ -293,7 +293,7 @@ const int ITCMP_INT = FLOW_INT+12; scale_up( strmFlowU_split, strmFlowU_scaled, strmFlowV_split, strmFlowV_scaled, prev_rows, prev_cols, rows, cols, 2, scale_up_flag, scale_in); //Finding the Temporal and space gradients for the input set of images - findGradients(currImg, nextImg, strmIt_float, strmIx, strmIy, rows, cols, strmFlowU_scaled, strmFlowV_scaled, strmFlowU_in1, strmFlowV_in1, level); + findGradients(currImg, nextImg, strmIt_float, strmIx, strmIy, rows, cols, strmFlowU_scaled, strmFlowV_scaled, strmFlowU_in1, strmFlowV_in1, level); //finding the hessian matrix find_G_and_b_matrix(strmIx, strmIy, strmIt_float, sigmaIx2, sigmaIy2, sigmaIxIy, sigmaIxIt, sigmaIyIt, rows, cols, level); diff --git a/include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp b/include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp index 4fcac07..2f6c53f 100644 --- a/include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp +++ b/include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp @@ -98,7 +98,7 @@ ap_fixed findIntensity(unsigned char lineBuffer[NUM_LINES+1][MA } // end findIntensity() -template +template void findGradients(unsigned char *currImg3, unsigned char *nextImg, hls::stream< ap_fixed > &strmIt, hls::stream< ap_int<9> > &strmIx, hls::stream< ap_int<9> > &strmIy, unsigned int rows, unsigned int cols, hls::stream< ap_fixed > &strmFlowUin, hls::stream< ap_fixed > &strmFlowVin, hls::stream< ap_fixed > &strmFlowU_in1, hls::stream< ap_fixed > &strmFlowV_in1, int level) { @@ -133,10 +133,15 @@ sprintf(name,"gy_hw%d.txt",level); unsigned int read_nxtimg = 0; unsigned char lineBuffer[NUM_LINES+1][MAXWIDTH]; -#pragma HLS array_partition variable=lineBuffer complete dim=1 +#pragma HLS array_reshape variable=lineBuffer complete dim=1 unsigned char curr_img_buf[2][MAXWIDTH]; -#pragma HLS array_partition variable=curr_img_buf complete dim=1 +#pragma HLS array_reshape variable=curr_img_buf complete dim=1 + +if (USE_URAM) { +#pragma HLS RESOURCE variable=lineBuffer core=XPM_MEMORY uram +#pragma HLS RESOURCE variable=curr_img_buf core=XPM_MEMORY uram +} unsigned char effBufferedLines = std::min(NUM_LINES,(1<<(NUM_PYR_LEVELS - 1 - level))*(WINSIZE-1) + 1); /**** Change this appropriately in original function***/ ap_uint<8> totalLinesInBuffer = effBufferedLines + 1; From 254a58eb8e07bf0d1c147e5672f9ea66e81686bb Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Wed, 30 May 2018 09:49:53 +0900 Subject: [PATCH 63/73] xf_pyr_dense_optical_flow URAM optimization: comment added with suggested fix of possible padding problem. --- include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp b/include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp index 2f6c53f..776b211 100644 --- a/include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp +++ b/include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp @@ -71,6 +71,8 @@ ap_fixed findIntensity(unsigned char lineBuffer[NUM_LINES+1][MA // Find which location in linebuffers to access int lx0 = tmp_locj; + // AK,ZoTech: here out of bound of current level picture access may happen, thus workaround for bound padding suggested: + // int lx1 = lx0 + ((lx0<(cols-1)) ? 1:0); int lx1 = lx0 + 1; ap_fixed fracx = ap_fixed(tmp_locj - lx0); From 183689a1780b24c636bb5347a7d913904a012cce Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Wed, 30 May 2018 10:10:17 +0900 Subject: [PATCH 64/73] xf_remap() function: non-functional extra changes (spaces, tabs, cosmetics) are rolled-back. --- include/imgproc/xf_remap.hpp | 495 +++++++++++++++++------------------ 1 file changed, 247 insertions(+), 248 deletions(-) diff --git a/include/imgproc/xf_remap.hpp b/include/imgproc/xf_remap.hpp index 40e53cd..e4f26f5 100644 --- a/include/imgproc/xf_remap.hpp +++ b/include/imgproc/xf_remap.hpp @@ -46,128 +46,129 @@ namespace xf{ template void xFRemapNNI( - hls::stream< SRC_T > &src, - hls::stream< DST_T > &dst, - hls::stream< MAP_T > &mapx, - hls::stream< MAP_T > &mapy, - uint16_t rows, uint16_t cols + hls::stream< SRC_T > &src, + hls::stream< DST_T > &dst, + hls::stream< MAP_T > &mapx, + hls::stream< MAP_T > &mapy, + uint16_t rows, uint16_t cols ) { - DST_T buf[WIN_ROW][COLS]; + DST_T buf[WIN_ROW][COLS]; #pragma HLS ARRAY_PARTITION variable=buf complete dim=1 - SRC_T s; + SRC_T s; - ap_uint<64> bufUram[WIN_ROW][(COLS+7)/8]; + ap_uint<64> bufUram[WIN_ROW][(COLS+7)/8]; #pragma HLS RESOURCE variable=bufUram core=XPM_MEMORY uram - SRC_T sx8[8]; + SRC_T sx8[8]; #pragma HLS ARRAY_PARTITION variable=sx8 complete dim=1 - DST_T d; - MAP_T mx_fl; - MAP_T my_fl; + DST_T d; + MAP_T mx_fl; + MAP_T my_fl; - assert(rows <= ROWS); - assert(cols <= COLS); - int ishift=WIN_ROW/2; - int r[WIN_ROW] = {}; - int row_tripcount = ROWS+WIN_ROW; + assert(rows <= ROWS); + assert(cols <= COLS); + int ishift=WIN_ROW/2; + int r[WIN_ROW] = {}; + int row_tripcount = ROWS+WIN_ROW; - loop_height: for( int i=0; i< rows+ishift; i++) - { + loop_height: for( int i=0; i< rows+ishift; i++) + { #pragma HLS LOOP_FLATTEN OFF #pragma HLS LOOP_TRIPCOUNT min=1 max=row_tripcount - loop_width: for( int j=0; j< cols; j++) - { + loop_width: for( int j=0; j< cols; j++) + { #pragma HLS PIPELINE II=1 #pragma HLS dependence variable=buf inter false #pragma HLS dependence variable=bufUram inter false #pragma HLS dependence variable=r inter false #pragma HLS LOOP_TRIPCOUNT min=1 max=COLS - if(i> s; + if(i> s; if (USE_URAM) { - sx8[j%8] = s; - for (int k=0; k<8; k++) bufUram[i % WIN_ROW][j/8](k*8+7,k*8) = sx8[k]; - } - } + sx8[j%8] = s; + for (int k=0; k<8; k++) bufUram[i % WIN_ROW][j/8](k*8+7,k*8) = sx8[k]; + } + } if (!USE_URAM) - buf[i % WIN_ROW][j] = s; - r[i % WIN_ROW] = i; - - if(i>=ishift) - { - mapx >> mx_fl; - mapy >> my_fl; - int x = (int)mx_fl; - int y = (int)my_fl; - - bool in_range = (y>=0 && y=0 && x=ishift) + { + mapx >> mx_fl; + mapy >> my_fl; + int x = (int)mx_fl; + int y = (int)my_fl; + + bool in_range = (y>=0 && y=0 && x void xFRemapLI( - hls::stream< SRC_T > &src, - hls::stream< DST_T > &dst, - hls::stream< MAP_T > &mapx, - hls::stream< MAP_T > &mapy, - uint16_t rows, uint16_t cols + hls::stream< SRC_T > &src, + hls::stream< DST_T > &dst, + hls::stream< MAP_T > &mapx, + hls::stream< MAP_T > &mapy, + uint16_t rows, uint16_t cols ) { - // Add one to always get zero for boundary interpolation. Maybe need initialization here? - DST_T buf[WIN_ROW/2+1][2][COLS/2+1][2]; + // Add one to always get zero for boundary interpolation. Maybe need initialization here? + //AK,ZoTech: this buffer needs initialization as workaround for correct boundary filtering, otherwise X are generated in co-sim. + DST_T buf[WIN_ROW/2+1][2][COLS/2+1][2]; #pragma HLS array_partition complete variable=buf dim=2 #pragma HLS array_partition complete variable=buf dim=4 - SRC_T s; - + SRC_T s; + //URAM storage garnularity is 3x3-pel block in 2x2-pel picture grid, it fits to one URAM word ap_uint<72> bufUram[(WIN_ROW+1)/2][(COLS+1)/2]; #pragma HLS RESOURCE variable=bufUram core=XPM_MEMORY uram SRC_T lineBuf[COLS]; //addtitional cashing as VHLS doesn't support URAM Byte Enables - SRC_T s3x3[2][9]; //URAM-wide word is doubled to resolve pipelining read/write dependency + SRC_T s3x3[2][9]; //URAM-wide word is doubled to resolve pipelining read/write dependency #pragma HLS ARRAY_PARTITION complete variable=s3x3 dim=0 - SRC_T s3x3_2[9]; + SRC_T s3x3_2[9]; SRC_T s0,s3; - MAP_T mx; - MAP_T my; + MAP_T mx; + MAP_T my; - assert(rows <= ROWS); - assert(cols <= COLS); - int ishift=WIN_ROW/2; - int r1[WIN_ROW] = {}; - int r2[WIN_ROW] = {}; - int row_tripcount = ROWS+WIN_ROW; + assert(rows <= ROWS); + assert(cols <= COLS); + int ishift=WIN_ROW/2; + int r1[WIN_ROW] = {}; + int r2[WIN_ROW] = {}; + int row_tripcount = ROWS+WIN_ROW; - loop_height: for( int i=0; i< rows+ishift; i++) - { + loop_height: for( int i=0; i< rows+ishift; i++) + { #pragma HLS LOOP_FLATTEN OFF #pragma HLS LOOP_TRIPCOUNT min=1 max=row_tripcount - loop_width: for( int j=0; j< cols+3; j++) - { + loop_width: for( int j=0; j< cols+3; j++) + { #pragma HLS PIPELINE II=1 #pragma HLS dependence variable=buf inter false #pragma HLS dependence variable=bufUram inter false @@ -176,235 +177,233 @@ void xFRemapLI( #pragma HLS dependence variable=r2 inter false #pragma HLS LOOP_TRIPCOUNT min=1 max=COLS - if(i> s; - } + if(i> s; + } if (USE_URAM && i0 && (j/2)>1) for (int k=0; k<9; k++) bufUram[(i/2-1)%(WIN_ROW/2)][j/2-2](k*8+7,k*8) = s3x3[!!(j&2)][k]; + if ((i/2)>0 && (j/2)>1) for (int k=0; k<9; k++) bufUram[(i/2-1)%(WIN_ROW/2)][j/2-2](k*8+7,k*8) = s3x3[!!(j&2)][k]; } else if (j0) { - for (int k=0; k<6; k++) s3x3[!!(j&2)][k] = bufUram[(i/2-1)%(WIN_ROW/2)][j/2](k*8+7,k*8); + for (int k=0; k<6; k++) s3x3[!!(j&2)][k] = bufUram[(i/2-1)%(WIN_ROW/2)][j/2](k*8+7,k*8); s3x3[!!(j&2)][6] = s0; s3x3[!!(j&2)][7] = s; s3x3[!!(j&2)][8] = 0; } - } + } } else if (j0) for (int k=0; k<9; k++) bufUram[(i/2)%(WIN_ROW/2)][j/2-1](k*8+7,k*8) = s3x3_2[k]; + if ((j/2)>0) for (int k=0; k<9; k++) bufUram[(i/2)%(WIN_ROW/2)][j/2-1](k*8+7,k*8) = s3x3_2[k]; } else { // odd col s3x3_2[0] = s0; - s3x3_2[1] = lineBuf[j]; + s3x3_2[1] = lineBuf[j]; s3x3_2[3] = s3; - s3x3_2[4] = s; + s3x3_2[4] = s; - // this clearing is needed only for case of bottom zero padding (curently last(bottom-right) sample value is used) + // this clearing is needed only for case of bottom zero padding (curently last(bottom-right) sample value is used) s3x3_2[6] = 0; s3x3_2[7] = 0; s3x3_2[8] = 0; - //if (j==(cols-1)) { //these clearing and save is needed only at last column but may done every cycle - s3x3_2[2] = 0; - s3x3_2[5] = 0; - for (int k=0; k<9; k++) bufUram[(i/2)%(WIN_ROW/2)][j/2](k*8+7,k*8) = s3x3_2[k]; - //} - } + //if (j==(cols-1)) { //these clearing and save is needed only at last column but may done every cycle + s3x3_2[2] = 0; + s3x3_2[5] = 0; + for (int k=0; k<9; k++) bufUram[(i/2)%(WIN_ROW/2)][j/2](k*8+7,k*8) = s3x3_2[k]; + //} + } } } if (!USE_URAM && j=ishift && j> mx; - mapy >> my; - float x_fl = mx; - float y_fl = my; - - int x_fix = (int) ((float)x_fl * (float)HLS_INTER_TAB_SIZE); // mapx data in A16.HLS_INTER_TAB_SIZE format - int y_fix = (int) ((float)y_fl * (float)HLS_INTER_TAB_SIZE); // mapy data in A16.HLS_INTER_TAB_SIZE format - - int x = x_fix >> HLS_INTER_BITS; - int y = y_fix >> HLS_INTER_BITS; - int x_frac = x_fix & (HLS_INTER_TAB_SIZE-1); - int y_frac = y_fix & (HLS_INTER_TAB_SIZE-1); - int ynext = y+1; - - ap_ufixed iu, iv; - iu(HLS_INTER_BITS-1, 0) = x_frac; - iv(HLS_INTER_BITS-1, 0) = y_frac; - - // Note that the range here is larger than expected by 1 horizontal and 1 vertical pixel, to allow - // Interpolating at the edge of the image - bool in_range = (y>=0 && y=0 && x=ishift && j> mx; + mapy >> my; + float x_fl = mx; + float y_fl = my; + + int x_fix = (int) ((float)x_fl * (float)HLS_INTER_TAB_SIZE); // mapx data in A16.HLS_INTER_TAB_SIZE format + int y_fix = (int) ((float)y_fl * (float)HLS_INTER_TAB_SIZE); // mapy data in A16.HLS_INTER_TAB_SIZE format + + int x = x_fix >> HLS_INTER_BITS; + int y = y_fix >> HLS_INTER_BITS; + int x_frac = x_fix & (HLS_INTER_TAB_SIZE-1); + int y_frac = y_fix & (HLS_INTER_TAB_SIZE-1); + int ynext = y+1; + + ap_ufixed iu, iv; + iu(HLS_INTER_BITS-1, 0) = x_frac; + iv(HLS_INTER_BITS-1, 0) = y_frac; + + // Note that the range here is larger than expected by 1 horizontal and 1 vertical pixel, to allow + // Interpolating at the edge of the image + bool in_range = (y>=0 && y=0 && x k01 = (1-iv)*( iu); // iu-iu*iv - ap_ufixed<2*HLS_INTER_BITS + 1, 1> k10 = ( iv)*(1-iu); // iv-iu*iv - ap_ufixed<2*HLS_INTER_BITS + 1, 1> k11 = ( iv)*( iu); // iu*iv - ap_ufixed<2*HLS_INTER_BITS + 1, 1> k00 = 1-iv-k01; //(1-iv)*(1-iu) = 1-iu-iv+iu*iv = 1-iv-k01 - assert( k00 + k01 + k10 + k11 == 1); - - DST_T d; - - if(in_range) - d = d00 * k00 + d01 * k01 + d10 * k10 + d11 * k11; - else - d = 0; - - dst<< d; - } - } - } + d00 = d3x3[(y%2 )*3 + x%2 ]; + d01 = d3x3[(y%2 )*3 + x%2+1]; + d10 = d3x3[(y%2+1)*3 + x%2 ]; + d11 = d3x3[(y%2+1)*3 + x%2+1]; + } else { + d00=buf[ya0][0][xa0][0]; + d01=buf[ya0][0][xa1][1]; + d10=buf[ya1][1][xa0][0]; + d11=buf[ya1][1][xa1][1]; + + if(x%2) { + std::swap(d00,d01); + std::swap(d10,d11); + } + if(y%2) { + std::swap(d00,d10); + std::swap(d01,d11); + } + } + ap_ufixed<2*HLS_INTER_BITS + 1, 1> k01 = (1-iv)*( iu); // iu-iu*iv + ap_ufixed<2*HLS_INTER_BITS + 1, 1> k10 = ( iv)*(1-iu); // iv-iu*iv + ap_ufixed<2*HLS_INTER_BITS + 1, 1> k11 = ( iv)*( iu); // iu*iv + ap_ufixed<2*HLS_INTER_BITS + 1, 1> k00 = 1-iv-k01; //(1-iv)*(1-iu) = 1-iu-iv+iu*iv = 1-iv-k01 + assert( k00 + k01 + k10 + k11 == 1); + + DST_T d; + + if(in_range) + d = d00 * k00 + d01 * k01 + d10 * k10 + d11 * k11; + else + d = 0; + + dst<< d; + } + } + } } template void xFRemapKernel( - hls::stream< SRC_T > &src, - hls::stream< DST_T > &dst, - hls::stream< MAP_T > &mapx, - hls::stream< MAP_T > &mapy, - uint16_t rows, uint16_t cols + hls::stream< SRC_T > &src, + hls::stream< DST_T > &dst, + hls::stream< MAP_T > &mapx, + hls::stream< MAP_T > &mapy, + uint16_t rows, uint16_t cols ) { - if(INTERPOLATION_TYPE == XF_INTERPOLATION_NN) { - xFRemapNNI(src, dst, mapx, mapy,rows,cols); - } else if(INTERPOLATION_TYPE == XF_INTERPOLATION_BILINEAR) { - xFRemapLI(src, dst, mapx, mapy,rows,cols); - } - else { - assert (((INTERPOLATION_TYPE == XF_INTERPOLATION_NN)||(INTERPOLATION_TYPE == XF_INTERPOLATION_BILINEAR)) && "The INTERPOLATION_TYPE must be either XF_INTERPOLATION_NN or XF_INTERPOLATION_BILINEAR"); - } + if(INTERPOLATION_TYPE == XF_INTERPOLATION_NN) { + xFRemapNNI(src, dst, mapx, mapy,rows,cols); + } else if(INTERPOLATION_TYPE == XF_INTERPOLATION_BILINEAR) { + xFRemapLI(src, dst, mapx, mapy,rows,cols); + } + else { + assert (((INTERPOLATION_TYPE == XF_INTERPOLATION_NN)||(INTERPOLATION_TYPE == XF_INTERPOLATION_BILINEAR)) && "The INTERPOLATION_TYPE must be either XF_INTERPOLATION_NN or XF_INTERPOLATION_BILINEAR"); + } } //#pragma SDS data data_mover("_src_mat.data":AXIDMA_SIMPLE,"_remapped_mat.data":AXIDMA_SIMPLE,"_mapx_mat.data":AXIDMA_SIMPLE,"_mapy_mat.data":AXIDMA_SIMPLE) //#pragma SDS data mem_attribute("_src_mat.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS,"_remapped_mat.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS,"_mapx_mat.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS,"_mapy_mat.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS) #pragma SDS data access_pattern("_src_mat.data":SEQUENTIAL,"_remapped_mat.data":SEQUENTIAL,"_mapx_mat.data":SEQUENTIAL,"_mapy_mat.data":SEQUENTIAL) #pragma SDS data copy("_src_mat.data"[0:"_src_mat.rows*_src_mat.cols"], "_remapped_mat.data"[0:"_remapped_mat.size"],"_mapx_mat.data"[0:"_mapx_mat.size"],"_mapy_mat.data"[0:"_mapy_mat.size"]) - -template -void remap(xf::Mat &_src_mat, xf::Mat &_remapped_mat, xf::Mat &_mapx_mat, xf::Mat &_mapy_mat) +template +void remap (xf::Mat &_src_mat, xf::Mat &_remapped_mat, xf::Mat &_mapx_mat, + xf::Mat &_mapy_mat) { - #pragma HLS inline off - #pragma HLS dataflow +#pragma HLS inline off +#pragma HLS dataflow - assert ((MAP_T == XF_32FC1) && "The MAP_T must be XF_32FC1"); -// assert ((SRC_T == XF_8UC1) && "The SRC_T must be XF_8UC1"); -// assert ((DST_T == XF_8UC1) && "The DST_T must be XF_8UC1"); - assert ((NPC == XF_NPPC1) && "The NPC must be XF_NPPC1"); + assert ((MAP_T == XF_32FC1) && "The MAP_T must be XF_32FC1"); +// assert ((SRC_T == XF_8UC1) && "The SRC_T must be XF_8UC1"); +// assert ((DST_T == XF_8UC1) && "The DST_T must be XF_8UC1"); + assert ((NPC == XF_NPPC1) && "The NPC must be XF_NPPC1"); - hls::stream< XF_TNAME(SRC_T,NPC)> _src; - hls::stream< XF_TNAME(MAP_T,NPC)> _mapx; - hls::stream< XF_TNAME(MAP_T,NPC)> _mapy; - hls::stream< XF_TNAME(DST_T,NPC)> _remapped; + hls::stream< XF_TNAME(SRC_T,NPC)> _src; + hls::stream< XF_TNAME(MAP_T,NPC)> _mapx; + hls::stream< XF_TNAME(MAP_T,NPC)> _mapy; + hls::stream< XF_TNAME(DST_T,NPC)> _remapped; - int depth_est = WIN_ROWS*_src_mat.cols; + int depth_est = WIN_ROWS*_src_mat.cols; - uint16_t rows = _src_mat.rows; - uint16_t cols = _src_mat.cols; + uint16_t rows = _src_mat.rows; + uint16_t cols = _src_mat.cols; - int loop_count = (rows*cols); - int TC=(ROWS*COLS); + int loop_count = (rows*cols); + int TC=(ROWS*COLS); - int ishift = WIN_ROWS/2; - int row_tripcount = ROWS+WIN_ROWS; + int ishift = WIN_ROWS/2; + int row_tripcount = ROWS+WIN_ROWS; - xfremap_rows_loop: - for (int i = 0; i < rows+ishift; i++) - { - #pragma HLS LOOP_FLATTEN OFF - #pragma HLS LOOP_TRIPCOUNT min=1 max=row_tripcount - - xfremap_cols_loop: - for (int j = 0; j < cols; j++) - { - #pragma HLS pipeline ii=1 - #pragma HLS LOOP_TRIPCOUNT min=1 max=COLS + xfremap_rows_loop: + for (int i = 0; i < rows+ishift; i++) + { +#pragma HLS LOOP_FLATTEN OFF +#pragma HLS LOOP_TRIPCOUNT min=1 max=row_tripcount - if (i < rows) - { - _src.write(*(_src_mat.data + i*cols + j)); - } + xfremap_cols_loop: + for (int j = 0; j < cols; j++) + { +#pragma HLS pipeline ii=1 +#pragma HLS LOOP_TRIPCOUNT min=1 max=COLS - if (i >= ishift) - { - _mapx.write(*(_mapx_mat.data + (i-ishift)*cols + j)); - _mapy.write(*(_mapy_mat.data + (i-ishift)*cols + j)); - } - } - } - - xFRemapKernel (_src, _remapped, _mapx, _mapy, rows, cols); - - xfremap_output_loop: - for (int i = 0; i < loop_count; i++) - { - #pragma HLS pipeline ii=1 - #pragma HLS LOOP_TRIPCOUNT min=1 max=TC - _remapped_mat.data[i] = _remapped.read(); - } + if (i < rows) { + _src.write(*(_src_mat.data + i*cols + j)); + } + + if (i >= ishift) { + _mapx.write(*(_mapx_mat.data + (i-ishift)*cols + j)); + _mapy.write(*(_mapy_mat.data + (i-ishift)*cols + j)); + } + } + } + + xFRemapKernel (_src, _remapped, _mapx, _mapy, rows, cols); + + xfremap_output_loop: + for (int i = 0; i < loop_count; i++) + { +#pragma HLS pipeline ii=1 +#pragma HLS LOOP_TRIPCOUNT min=1 max=TC + _remapped_mat.data[i] = _remapped.read(); + } } } From 5057dd49a071ff824eef803176c0c64708d3e799 Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Wed, 30 May 2018 10:37:40 +0900 Subject: [PATCH 65/73] xf_pyr_dense_optical_flow URAM optimization: extra default values for template parameters are removed. --- include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp | 2 +- include/imgproc/xf_pyr_dense_optical_flow_scale.hpp | 2 +- include/imgproc/xf_pyr_down_gaussian_blur.hpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp b/include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp index 776b211..c008a23 100644 --- a/include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp +++ b/include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp @@ -100,7 +100,7 @@ ap_fixed findIntensity(unsigned char lineBuffer[NUM_LINES+1][MA } // end findIntensity() -template +template void findGradients(unsigned char *currImg3, unsigned char *nextImg, hls::stream< ap_fixed > &strmIt, hls::stream< ap_int<9> > &strmIx, hls::stream< ap_int<9> > &strmIy, unsigned int rows, unsigned int cols, hls::stream< ap_fixed > &strmFlowUin, hls::stream< ap_fixed > &strmFlowVin, hls::stream< ap_fixed > &strmFlowU_in1, hls::stream< ap_fixed > &strmFlowV_in1, int level) { diff --git a/include/imgproc/xf_pyr_dense_optical_flow_scale.hpp b/include/imgproc/xf_pyr_dense_optical_flow_scale.hpp index 775af57..9b11634 100644 --- a/include/imgproc/xf_pyr_dense_optical_flow_scale.hpp +++ b/include/imgproc/xf_pyr_dense_optical_flow_scale.hpp @@ -215,7 +215,7 @@ void process(ap_fixed buf[2][MAXWIDTH], ap_fixed +template void scale_up( hls::stream< ap_fixed > &inStrm0, hls::stream< ap_fixed > &outStrm0, hls::stream< ap_fixed > &inStrm1, hls::stream< ap_fixed > &outStrm1, unsigned short int inRows, unsigned short int inCols, unsigned short int outRows, unsigned short int outCols, int mul, const bool scale_up_flag, float scale_comp) { diff --git a/include/imgproc/xf_pyr_down_gaussian_blur.hpp b/include/imgproc/xf_pyr_down_gaussian_blur.hpp index 069db49..1a1ede9 100644 --- a/include/imgproc/xf_pyr_down_gaussian_blur.hpp +++ b/include/imgproc/xf_pyr_down_gaussian_blur.hpp @@ -246,7 +246,7 @@ if (USE_URAM) { } // Row_Loop } -template +template void xFPyrDownGaussianBlur( hls::stream< XF_TNAME(DEPTH,NPC) > &_src, hls::stream< XF_TNAME(DEPTH,NPC) > &_dst, ap_uint<8> win_size, From 00c5a5301017b8838ff073b1ca0c2ce082573eee Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Wed, 30 May 2018 12:49:28 +0900 Subject: [PATCH 66/73] xf_pyr_dense_optical_flow URAM optimization: find_G_and_b_matrix() function is roughly done (no co-sim and further checks). --- include/imgproc/xf_pyr_dense_optical_flow.hpp | 2 +- ...f_pyr_dense_optical_flow_oflow_process.hpp | 27 ++++++++++++------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/include/imgproc/xf_pyr_dense_optical_flow.hpp b/include/imgproc/xf_pyr_dense_optical_flow.hpp index 931cdfd..c4c2cce 100644 --- a/include/imgproc/xf_pyr_dense_optical_flow.hpp +++ b/include/imgproc/xf_pyr_dense_optical_flow.hpp @@ -296,7 +296,7 @@ const int ITCMP_INT = FLOW_INT+12; findGradients(currImg, nextImg, strmIt_float, strmIx, strmIy, rows, cols, strmFlowU_scaled, strmFlowV_scaled, strmFlowU_in1, strmFlowV_in1, level); //finding the hessian matrix - find_G_and_b_matrix(strmIx, strmIy, strmIt_float, sigmaIx2, sigmaIy2, sigmaIxIy, sigmaIxIt, sigmaIyIt, rows, cols, level); + find_G_and_b_matrix(strmIx, strmIy, strmIt_float, sigmaIx2, sigmaIy2, sigmaIxIy, sigmaIxIt, sigmaIyIt, rows, cols, level); //computing the the optical flow diff --git a/include/imgproc/xf_pyr_dense_optical_flow_oflow_process.hpp b/include/imgproc/xf_pyr_dense_optical_flow_oflow_process.hpp index 2500114..cdc9a7c 100644 --- a/include/imgproc/xf_pyr_dense_optical_flow_oflow_process.hpp +++ b/include/imgproc/xf_pyr_dense_optical_flow_oflow_process.hpp @@ -29,29 +29,38 @@ ***************************************************************************/ #ifndef __XF_PYR_DENSE_OPTICAL_FLOW_OFLOW_PROCESS__ #define __XF_PYR_DENSE_OPTICAL_FLOW_OFLOW_PROCESS__ -template +template void find_G_and_b_matrix(hls::stream< ap_int<9> > &strmIx, hls::stream< ap_int<9> > &strmIy, hls::stream< ap_fixed > &strmIt, hls::stream< ap_fixed > &sigmaIx2, hls::stream< ap_fixed > &sigmaIy2, hls::stream< ap_fixed > &sigmaIxIy, hls::stream< ap_fixed > &sigmaIxIt, hls::stream< ap_fixed > &sigmaIyIt, unsigned int rows, unsigned int cols, int level) { #pragma HLS inline off // bufLines is used to buffer Ix, Iy, It in that order ap_int<9> bufLines_ix[WINSIZE][MAXWIDTH+(WINSIZE>>1)]; -#pragma HLS array_partition variable=bufLines_ix complete dim=1 +#pragma HLS array_reshape variable=bufLines_ix complete dim=1 ap_int<9> bufLines_iy[WINSIZE][MAXWIDTH+(WINSIZE>>1)]; -#pragma HLS array_partition variable=bufLines_iy complete dim=1 +#pragma HLS array_reshape variable=bufLines_iy complete dim=1 ap_fixed bufLines_it[WINSIZE][MAXWIDTH+(WINSIZE>>1)]; -#pragma HLS array_partition variable=bufLines_it complete dim=1 +#pragma HLS array_reshape variable=bufLines_it complete dim=1 ap_fixed colsum_IxIx[MAXWIDTH+(WINSIZE>>1)]; ap_fixed colsum_IxIy[MAXWIDTH+(WINSIZE>>1)]; ap_fixed colsum_IyIy[MAXWIDTH+(WINSIZE>>1)]; ap_fixed colsum_IxIt[MAXWIDTH+(WINSIZE>>1)]; ap_fixed colsum_IyIt[MAXWIDTH+(WINSIZE>>1)]; -#pragma HLS RESOURCE variable=colsum_IxIx core=RAM_T2P_BRAM -#pragma HLS RESOURCE variable=colsum_IxIy core=RAM_T2P_BRAM -#pragma HLS RESOURCE variable=colsum_IyIy core=RAM_T2P_BRAM -#pragma HLS RESOURCE variable=colsum_IxIt core=RAM_T2P_BRAM -#pragma HLS RESOURCE variable=colsum_IyIt core=RAM_T2P_BRAM + +#pragma HLS ARRAY_MAP variable=bufLines_ix instance=buffers vertical +#pragma HLS ARRAY_MAP variable=bufLines_iy instance=buffers vertical +#pragma HLS ARRAY_MAP variable=bufLines_it instance=buffers vertical + +#pragma HLS ARRAY_MAP variable=colsum_IxIx instance=buffers vertical +#pragma HLS ARRAY_MAP variable=colsum_IxIy instance=buffers vertical +#pragma HLS ARRAY_MAP variable=colsum_IyIy instance=buffers vertical +#pragma HLS ARRAY_MAP variable=colsum_IxIt instance=buffers vertical +#pragma HLS ARRAY_MAP variable=colsum_IyIt instance=buffers vertical + +if (USE_URAM) { +#pragma HLS RESOURCE variable=bufLines_ix core=XPM_MEMORY uram +} ap_fixed colsum_prevWIN_IxIx[WINSIZE]; ap_fixed colsum_prevWIN_IxIy[WINSIZE]; From d32f2763672cde192a84a472aa53fb3525ff4aca Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Wed, 30 May 2018 17:09:38 +0900 Subject: [PATCH 67/73] xf_pyr_dense_optical_flow URAM optimization: auMedianBlur() function is roughly done. --- include/imgproc/xf_pyr_dense_optical_flow.hpp | 4 +- .../xf_pyr_dense_optical_flow_median_blur.hpp | 39 ++++++++++--------- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/include/imgproc/xf_pyr_dense_optical_flow.hpp b/include/imgproc/xf_pyr_dense_optical_flow.hpp index c4c2cce..2983895 100644 --- a/include/imgproc/xf_pyr_dense_optical_flow.hpp +++ b/include/imgproc/xf_pyr_dense_optical_flow.hpp @@ -303,8 +303,8 @@ const int ITCMP_INT = FLOW_INT+12; find_flow(sigmaIx2, sigmaIy2, sigmaIxIy, sigmaIxIt, sigmaIyIt, strmFlowU_in1, strmFlowV_in1, strmFlowU_fil, strmFlowV_fil, flagU, flagV, rows, cols,level,scale_up_flag,init_flag); //filtering the flow vectors using median blur - auMedianBlur (strmFlowU_fil, strmFlowU_fil_out, flagU, WINDOW_SIZE,1,rows,cols); - auMedianBlur (strmFlowV_fil, strmFlowV_fil_out, flagV, WINDOW_SIZE,1,rows,cols); + auMedianBlur (strmFlowU_fil, strmFlowU_fil_out, flagU, WINDOW_SIZE,1,rows,cols); + auMedianBlur (strmFlowV_fil, strmFlowV_fil_out, flagV, WINDOW_SIZE,1,rows,cols); //stitching the U and V flow streams to a single flow stream stitch_stream_fixed_int(strmFlowU_fil_out, strmFlowV_fil_out, strmFlow, rows, cols, level); diff --git a/include/imgproc/xf_pyr_dense_optical_flow_median_blur.hpp b/include/imgproc/xf_pyr_dense_optical_flow_median_blur.hpp index e0a4a7b..53b0a35 100644 --- a/include/imgproc/xf_pyr_dense_optical_flow_median_blur.hpp +++ b/include/imgproc/xf_pyr_dense_optical_flow_median_blur.hpp @@ -132,24 +132,19 @@ void ProcessMedian3x3(hls::stream< ap_fixed > & _src_mat, #pragma HLS pipeline #pragma HLS LOOP_FLATTEN OFF - if(row < img_height && col < img_width) - buf[row_ind[win_size-1]][col] = _src_mat.read(); // Read data - else - buf[row_ind[win_size-1]][col] = 0; - for(int copy_buf_var=0;copy_buf_var(img_height-1)) && (copy_buf_var>(win_size-1-(row-(img_height-1))))) - { - buf_cop[copy_buf_var] = buf[(row_ind[win_size-1-(row-(img_height-1))])][col]; - } - else - { - buf_cop[copy_buf_var] = buf[(row_ind[copy_buf_var])][col]; - } + buf_cop[copy_buf_var] = buf[copy_buf_var][col]; } + + if(row < img_height && col < img_width) + buf_cop[row_ind[win_size-1]] = _src_mat.read(); // Read data + else buf_cop[row_ind[win_size-1]] = 0; + + buf[row_ind[win_size-1]][col] = buf_cop[row_ind[win_size-1]]; + // if(NPC == AU_NPPC8) // { @@ -167,7 +162,9 @@ void ProcessMedian3x3(hls::stream< ap_fixed > & _src_mat, #pragma HLS UNROLL if(col(img_height-1)) && (extract_px>(win_size-1-(row-(img_height-1))))) + src_buf[extract_px][win_size-1] = buf_cop[(row_ind[win_size-1-(row-(img_height-1))])]; + else src_buf[extract_px][win_size-1] = buf_cop[(row_ind[extract_px])]; } else { @@ -221,7 +218,7 @@ void ProcessMedian3x3(hls::stream< ap_fixed > & _src_mat, -template +template void auMedian3x3(hls::stream< ap_fixed > &_src_mat, hls::stream< ap_fixed > &_out_mat, hls::stream< bool > &flag, ap_uint<8> win_size, uint16_t img_height, uint16_t img_width) @@ -245,8 +242,14 @@ void auMedian3x3(hls::stream< ap_fixed > &_src_mat, ap_fixed P0; ap_fixed buf[WIN_SZ][(COLS >> NPC)]; -#pragma HLS ARRAY_PARTITION variable=buf complete dim=1 +#pragma HLS ARRAY_RESHAPE variable=buf complete dim=1 + +if (USE_URAM) { +#pragma HLS RESOURCE variable=buf core=XPM_MEMORY uram +} +else { #pragma HLS RESOURCE variable=buf core=RAM_S2P_BRAM +} //initializing row index @@ -311,7 +314,7 @@ void auMedian3x3(hls::stream< ap_fixed > &_src_mat, } // Row_Loop } -template +template void auMedianBlur( hls::stream< ap_fixed > &_src, hls::stream< ap_fixed > &_dst, hls::stream< bool > &flag, ap_uint<8> win_size, @@ -329,7 +332,7 @@ void auMedianBlur( imgwidth = imgwidth >> NPC; - auMedian3x3< ROWS, COLS, DEPTH, NPC, WORDWIDTH, (COLS>>NPC)+(WIN_SZ>>1), WIN_SZ, WIN_SZ_SQ, FLOW_WIDTH, FLOW_INT>(_src, _dst,flag,WIN_SZ,imgheight,imgwidth); + auMedian3x3< ROWS, COLS, DEPTH, NPC, WORDWIDTH, (COLS>>NPC)+(WIN_SZ>>1), WIN_SZ, WIN_SZ_SQ, FLOW_WIDTH, FLOW_INT, USE_URAM>(_src, _dst,flag,WIN_SZ,imgheight,imgwidth); } From 3f38733d05c1ad09c7ecfb30eccdc847c34814fc Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Wed, 30 May 2018 19:24:33 +0900 Subject: [PATCH 68/73] xf_pyr_dense_optical_flow URAM optimization: reduction of URAMs used in auMedianBlur() function by restructuring loops. --- include/imgproc/xf_pyr_dense_optical_flow.hpp | 3 +- .../xf_pyr_dense_optical_flow_median_blur.hpp | 59 +++++++++++-------- 2 files changed, 37 insertions(+), 25 deletions(-) diff --git a/include/imgproc/xf_pyr_dense_optical_flow.hpp b/include/imgproc/xf_pyr_dense_optical_flow.hpp index 2983895..92079c4 100644 --- a/include/imgproc/xf_pyr_dense_optical_flow.hpp +++ b/include/imgproc/xf_pyr_dense_optical_flow.hpp @@ -303,8 +303,7 @@ const int ITCMP_INT = FLOW_INT+12; find_flow(sigmaIx2, sigmaIy2, sigmaIxIy, sigmaIxIt, sigmaIyIt, strmFlowU_in1, strmFlowV_in1, strmFlowU_fil, strmFlowV_fil, flagU, flagV, rows, cols,level,scale_up_flag,init_flag); //filtering the flow vectors using median blur - auMedianBlur (strmFlowU_fil, strmFlowU_fil_out, flagU, WINDOW_SIZE,1,rows,cols); - auMedianBlur (strmFlowV_fil, strmFlowV_fil_out, flagV, WINDOW_SIZE,1,rows,cols); + auMedianBlur (strmFlowU_fil, strmFlowU_fil_out, flagU, strmFlowV_fil, strmFlowV_fil_out, flagV, WINDOW_SIZE,1,rows,cols); //stitching the U and V flow streams to a single flow stream stitch_stream_fixed_int(strmFlowU_fil_out, strmFlowV_fil_out, strmFlow, rows, cols, level); diff --git a/include/imgproc/xf_pyr_dense_optical_flow_median_blur.hpp b/include/imgproc/xf_pyr_dense_optical_flow_median_blur.hpp index 53b0a35..892468c 100644 --- a/include/imgproc/xf_pyr_dense_optical_flow_median_blur.hpp +++ b/include/imgproc/xf_pyr_dense_optical_flow_median_blur.hpp @@ -115,22 +115,13 @@ void auMedianProc( template void ProcessMedian3x3(hls::stream< ap_fixed > & _src_mat, hls::stream< ap_fixed > & _out_mat, hls::stream< bool > &flag, - ap_fixed buf[WIN_SZ][(COLS >> NPC)], ap_fixed src_buf[WIN_SZ][1+(WIN_SZ-1)], + ap_fixed buf[WIN_SZ][(COLS >> NPC)], ap_fixed src_buf[WIN_SZ][1+(WIN_SZ-1)], ap_fixed buf_cop[WIN_SZ], ap_fixed OutputValues[1], - ap_fixed &P0, uint16_t img_width, uint16_t img_height, uint16_t &shift_x, ap_uint<13> row_ind[WIN_SZ], ap_uint<13> row, ap_uint<8> win_size) + ap_fixed &P0, uint16_t img_width, uint16_t img_height, uint16_t &shift_x, ap_uint<13> row_ind[WIN_SZ], ap_uint<13> row, ap_uint<16> col, ap_uint<8> win_size) { #pragma HLS INLINE - ap_fixed buf_cop[WIN_SZ]; -#pragma HLS ARRAY_PARTITION variable=buf_cop complete dim=1 - uint16_t npc = 1; - Col_Loop: - for(ap_uint<16> col = 0; col < img_width+(WIN_SZ>>1); col++) - { -#pragma HLS LOOP_TRIPCOUNT min=1 max=TC -#pragma HLS pipeline -#pragma HLS LOOP_FLATTEN OFF for(int copy_buf_var=0;copy_buf_var > & _src_mat, } } } - } // Col_Loop } template -void auMedian3x3(hls::stream< ap_fixed > &_src_mat, - hls::stream< ap_fixed > &_out_mat, hls::stream< bool > &flag, ap_uint<8> win_size, +void auMedian3x3(hls::stream< ap_fixed > &_src_mat0, + hls::stream< ap_fixed > &_out_mat0, hls::stream< bool > &flag0, + hls::stream< ap_fixed > &_src_mat1, + hls::stream< ap_fixed > &_out_mat1, hls::stream< bool > &flag1, + ap_uint<8> win_size, uint16_t img_height, uint16_t img_width) { ap_uint<13> row_ind[WIN_SZ]; @@ -231,18 +224,25 @@ void auMedian3x3(hls::stream< ap_fixed > &_src_mat, ap_uint<16> row, col; - ap_fixed OutputValues[1]; + ap_fixed OutputValues[2][1]; #pragma HLS ARRAY_PARTITION variable=OutputValues complete dim=1 +#pragma HLS ARRAY_PARTITION variable=OutputValues complete dim=2 + ap_fixed buf_cop[2][WIN_SZ]; +#pragma HLS ARRAY_PARTITION variable=buf_cop complete dim=1 +#pragma HLS ARRAY_PARTITION variable=buf_cop complete dim=2 + - ap_fixed src_buf[WIN_SZ][1+(WIN_SZ-1)]; + ap_fixed src_buf[2][WIN_SZ][1+(WIN_SZ-1)]; #pragma HLS ARRAY_PARTITION variable=src_buf complete dim=1 #pragma HLS ARRAY_PARTITION variable=src_buf complete dim=2 +#pragma HLS ARRAY_PARTITION variable=src_buf complete dim=3 // src_buf1 et al merged ap_fixed P0; - ap_fixed buf[WIN_SZ][(COLS >> NPC)]; + ap_fixed buf[2][WIN_SZ][(COLS >> NPC)]; #pragma HLS ARRAY_RESHAPE variable=buf complete dim=1 +#pragma HLS ARRAY_RESHAPE variable=buf complete dim=2 if (USE_URAM) { #pragma HLS RESOURCE variable=buf core=XPM_MEMORY uram @@ -268,7 +268,8 @@ else { #pragma HLS LOOP_TRIPCOUNT min=TC max=TC #pragma HLS pipeline #pragma HLS LOOP_FLATTEN OFF - buf[init_buf][col] = _src_mat.read(); + buf[0][init_buf][col] = _src_mat0.read(); + buf[1][init_buf][col] = _src_mat1.read(); } } @@ -280,7 +281,8 @@ else { { #pragma HLS LOOP_TRIPCOUNT min=WIN_SZ max=WIN_SZ #pragma HLS UNROLL - buf[init_buf][col] = buf[row_ind[win_size>>1]][col]; + buf[0][init_buf][col] = buf[0][row_ind[win_size>>1]][col]; + buf[1][init_buf][col] = buf[1][row_ind[win_size>>1]][col]; } } @@ -299,7 +301,15 @@ else { // } // } P0 = 0; - ProcessMedian3x3(_src_mat, _out_mat, flag, buf, src_buf,OutputValues, P0, img_width, img_height, shift_x, row_ind, row,win_size); + Col_Loop: + for(ap_uint<16> col = 0; col < img_width+(WIN_SZ>>1); col++) + { +#pragma HLS LOOP_TRIPCOUNT min=1 max=TC +#pragma HLS pipeline +#pragma HLS LOOP_FLATTEN OFF + ProcessMedian3x3(_src_mat0, _out_mat0, flag0, buf[0], src_buf[0], buf_cop[0], OutputValues[0], P0, img_width, img_height, shift_x, row_ind, row,col,win_size); + ProcessMedian3x3(_src_mat1, _out_mat1, flag1, buf[1], src_buf[1], buf_cop[1], OutputValues[1], P0, img_width, img_height, shift_x, row_ind, row,col,win_size); + } // Col_Loop //update indices ap_uint<13> zero_ind = row_ind[0]; @@ -316,8 +326,11 @@ else { template void auMedianBlur( - hls::stream< ap_fixed > &_src, - hls::stream< ap_fixed > &_dst, hls::stream< bool > &flag, ap_uint<8> win_size, + hls::stream< ap_fixed > &_src0, + hls::stream< ap_fixed > &_dst0, hls::stream< bool > &flag0, + hls::stream< ap_fixed > &_src1, + hls::stream< ap_fixed > &_dst1, hls::stream< bool > &flag1, + ap_uint<8> win_size, int _border_type,uint16_t imgheight,uint16_t imgwidth) { #pragma HLS inline off @@ -332,7 +345,7 @@ void auMedianBlur( imgwidth = imgwidth >> NPC; - auMedian3x3< ROWS, COLS, DEPTH, NPC, WORDWIDTH, (COLS>>NPC)+(WIN_SZ>>1), WIN_SZ, WIN_SZ_SQ, FLOW_WIDTH, FLOW_INT, USE_URAM>(_src, _dst,flag,WIN_SZ,imgheight,imgwidth); + auMedian3x3< ROWS, COLS, DEPTH, NPC, WORDWIDTH, (COLS>>NPC)+(WIN_SZ>>1), WIN_SZ, WIN_SZ_SQ, FLOW_WIDTH, FLOW_INT, USE_URAM>(_src0, _dst0,flag0,_src1, _dst1,flag1,WIN_SZ,imgheight,imgwidth); } From 64b62aa8abad1b17c87e96122f8784ff699b86aa Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Mon, 4 Jun 2018 13:22:34 +0900 Subject: [PATCH 69/73] xf_pyr_dense_optical_flow URAM optimization: more loops restructuring in auMedianBlur() to exclude deadlocks in co-sim. --- .../xf_pyr_dense_optical_flow_median_blur.hpp | 43 +++++++++++-------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/include/imgproc/xf_pyr_dense_optical_flow_median_blur.hpp b/include/imgproc/xf_pyr_dense_optical_flow_median_blur.hpp index 892468c..1ac33d7 100644 --- a/include/imgproc/xf_pyr_dense_optical_flow_median_blur.hpp +++ b/include/imgproc/xf_pyr_dense_optical_flow_median_blur.hpp @@ -113,29 +113,15 @@ void auMedianProc( } template -void ProcessMedian3x3(hls::stream< ap_fixed > & _src_mat, +void ProcessMedian3x3( hls::stream< ap_fixed > & _out_mat, hls::stream< bool > &flag, - ap_fixed buf[WIN_SZ][(COLS >> NPC)], ap_fixed src_buf[WIN_SZ][1+(WIN_SZ-1)], ap_fixed buf_cop[WIN_SZ], + ap_fixed src_buf[WIN_SZ][1+(WIN_SZ-1)], ap_fixed buf_cop[WIN_SZ], ap_fixed OutputValues[1], ap_fixed &P0, uint16_t img_width, uint16_t img_height, uint16_t &shift_x, ap_uint<13> row_ind[WIN_SZ], ap_uint<13> row, ap_uint<16> col, ap_uint<8> win_size) { #pragma HLS INLINE uint16_t npc = 1; - - for(int copy_buf_var=0;copy_buf_var(_src_mat0, _out_mat0, flag0, buf[0], src_buf[0], buf_cop[0], OutputValues[0], P0, img_width, img_height, shift_x, row_ind, row,col,win_size); - ProcessMedian3x3(_src_mat1, _out_mat1, flag1, buf[1], src_buf[1], buf_cop[1], OutputValues[1], P0, img_width, img_height, shift_x, row_ind, row,col,win_size); + + for(int copy_buf_var=0;copy_buf_var(_out_mat0, flag0, src_buf[0], buf_cop[0], OutputValues[0], P0, img_width, img_height, shift_x, row_ind, row,col,win_size); + ProcessMedian3x3(_out_mat1, flag1, src_buf[1], buf_cop[1], OutputValues[1], P0, img_width, img_height, shift_x, row_ind, row,col,win_size); } // Col_Loop //update indices From a21fcedd5663f2489885d0cfae577ea98f79809c Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Mon, 4 Jun 2018 13:26:52 +0900 Subject: [PATCH 70/73] xf_pyr_dense_optical_flow URAM optimization: adding comment about workariound to exclude X values in co-sim. --- include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp b/include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp index c008a23..d80d597 100644 --- a/include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp +++ b/include/imgproc/xf_pyr_dense_optical_flow_find_gradients.hpp @@ -134,6 +134,7 @@ sprintf(name,"gy_hw%d.txt",level); unsigned int read_curimg = 0; unsigned int read_nxtimg = 0; + //AK,ZoTech: this buffer needs initialization as workaround to exclude "X" values in co-sim. unsigned char lineBuffer[NUM_LINES+1][MAXWIDTH]; #pragma HLS array_reshape variable=lineBuffer complete dim=1 From d06a5e8a3727bfe31ed1fe8a013340b8f73a300a Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Mon, 4 Jun 2018 18:52:47 +0900 Subject: [PATCH 71/73] xf_pyr_dense_optical_flow URAM optimization: restructuring loop inside xFPyrDownGaussianBlur() to decrease its pipeline depth. --- include/imgproc/xf_pyr_down_gaussian_blur.hpp | 31 +++++++++---------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/include/imgproc/xf_pyr_down_gaussian_blur.hpp b/include/imgproc/xf_pyr_down_gaussian_blur.hpp index 1a1ede9..1fff772 100644 --- a/include/imgproc/xf_pyr_down_gaussian_blur.hpp +++ b/include/imgproc/xf_pyr_down_gaussian_blur.hpp @@ -99,34 +99,31 @@ void xFPyrDownprocessgaussian(hls::stream< XF_TNAME(DEPTH,NPC) > & _src_mat, #pragma HLS LOOP_FLATTEN OFF #pragma HLS LOOP_TRIPCOUNT min=1 max=TC #pragma HLS pipeline - - XF_TNAME(DEPTH,NPC) bufWord[WIN_SZ]; -#pragma HLS ARRAY_PARTITION variable=bufWord complete dim=1 - for (int k=0; k(img_height-1)) && (copy_buf_var>(win_size-1-(row-(img_height-1))))) - { - buf_cop[copy_buf_var] = buf[(row_ind[win_size-1-(row-(img_height-1))])][col]; - } - else - { - buf_cop[copy_buf_var] = buf[(row_ind[copy_buf_var])][col]; - } + buf_cop[copy_buf_var] = buf[copy_buf_var][col]; } + + if(row < img_height && col < img_width) + buf [row_ind[win_size-1]][col] = + buf_cop[row_ind[win_size-1]] = _src_mat.read(); // Read data + for(int extract_px=0;extract_px(img_height-1)) && (extract_px>(win_size-1-(row-(img_height-1))))) + { + src_buf[extract_px][win_size-1] = buf_cop[(row_ind[win_size-1-(row-(img_height-1))])]; + } + else + { + src_buf[extract_px][win_size-1] = buf_cop[(row_ind[extract_px])]; + } } else { From 99baddef730b1cb8e31ec19a1b0ca316b6e5852e Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Tue, 5 Jun 2018 11:46:09 +0900 Subject: [PATCH 72/73] xf_pyr_dense_optical_flow URAM optimization: improving latency for xFPyrDownGaussianBlur() function. --- include/imgproc/xf_pyr_down_gaussian_blur.hpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/imgproc/xf_pyr_down_gaussian_blur.hpp b/include/imgproc/xf_pyr_down_gaussian_blur.hpp index 1fff772..6c61198 100644 --- a/include/imgproc/xf_pyr_down_gaussian_blur.hpp +++ b/include/imgproc/xf_pyr_down_gaussian_blur.hpp @@ -215,11 +215,13 @@ if (USE_URAM) { for(col = 0; col < img_width; col++) { #pragma HLS LOOP_TRIPCOUNT min=1 max=TC + #pragma HLS pipeline + XF_TNAME(DEPTH,NPC) const bufTemp = buf[row_ind[win_size>>1]][col]; for(int init_buf=0; init_buf < WIN_SZ>>1;init_buf++) { #pragma HLS LOOP_TRIPCOUNT min=1 max=WIN_SZ #pragma HLS UNROLL - buf[init_buf][col] = buf[row_ind[win_size>>1]][col]; + buf[init_buf][col] = bufTemp; } } From 78e871e7a64ec4c07f5320024b0ca2b4f9199a96 Mon Sep 17 00:00:00 2001 From: Alexander Kropotov Date: Mon, 25 Jun 2018 16:09:56 +0900 Subject: [PATCH 73/73] xf_remap update: adding flexible partitioning for URAM buffer to have every partition equal to URAM to overcome cascading timing issue. --- include/imgproc/xf_remap.hpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/include/imgproc/xf_remap.hpp b/include/imgproc/xf_remap.hpp index e4f26f5..4ea675a 100644 --- a/include/imgproc/xf_remap.hpp +++ b/include/imgproc/xf_remap.hpp @@ -60,6 +60,18 @@ void xFRemapNNI( ap_uint<64> bufUram[WIN_ROW][(COLS+7)/8]; #pragma HLS RESOURCE variable=bufUram core=XPM_MEMORY uram + //additional separation of URAM buffer to single URAMs to exclude their built-in cascading and thus limited timing + //due to inability of VHLS to schedule built-in cascade register (OREG_CAS) + enum { + BUF_DEPTH = WIN_ROW * ((COLS+7)/8), + URAM_DEPTH = 4096, + BUF_URAMS = (BUF_DEPTH + URAM_DEPTH-1) / URAM_DEPTH, + PART_FACTOR = BUF_URAMS != 2 ? BUF_URAMS : 1 // exluding factor=2 as it leads to II degradation, so built-in cascading is left for the case of just 2 URAMs + }; + if (USE_URAM) { + assert(PART_FACTOR <= ((COLS+7)/8)); + #pragma HLS array_partition variable=bufUram dim=2 factor=PART_FACTOR block + } SRC_T sx8[8]; #pragma HLS ARRAY_PARTITION variable=sx8 complete dim=1 @@ -146,6 +158,18 @@ void xFRemapLI( //URAM storage garnularity is 3x3-pel block in 2x2-pel picture grid, it fits to one URAM word ap_uint<72> bufUram[(WIN_ROW+1)/2][(COLS+1)/2]; #pragma HLS RESOURCE variable=bufUram core=XPM_MEMORY uram + //additional separation of URAM buffer to single URAMs to exclude their built-in cascading and thus limited timing + //due to inability of VHLS to schedule built-in cascade register (OREG_CAS) + enum { + BUF_DEPTH = ((WIN_ROW+1)/2) * ((COLS+1)/2), + URAM_DEPTH = 4096, + BUF_URAMS = (BUF_DEPTH + URAM_DEPTH-1) / URAM_DEPTH, + PART_FACTOR = BUF_URAMS != 2 ? BUF_URAMS : 1 // exluding factor=2 as it leads to II degradation, so built-in cascading is left for the case of just 2 URAMs + }; + if (USE_URAM) { + assert(PART_FACTOR <= ((COLS+1)/2)); + #pragma HLS array_partition variable=bufUram dim=2 factor=PART_FACTOR block + } SRC_T lineBuf[COLS]; //addtitional cashing as VHLS doesn't support URAM Byte Enables SRC_T s3x3[2][9]; //URAM-wide word is doubled to resolve pipelining read/write dependency #pragma HLS ARRAY_PARTITION complete variable=s3x3 dim=0

`bG7~ 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∋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Ž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πQvhwrm?@+W#sBM|FoGoiu|ou>`&4|6u4F? z!gxf65|PB(u&vu)56_tuyKD1nUD=$WsiC^C@Thh}Ff!75ozeZYc2E~0qR;#B)ROa& zQKJiGGoDPtgD7IC#YnzPMH+IFZZlA%Vad(!h7DPoHW0DW1uFMWU+oJcflL1iVo52~ zSX{)|^=1BZ+fZ3y?qQy|F}FD*$F^|#2QXCAVspa>Bi^*_3$Hw)Mj;Ac#Fnm^evrOn zM>UwH%Qy(LTe{{DNl`o84g24fC4ryB=MMLIuZ`-`@{veBg!} zDzh8+x2*s{qI8V>RGYhk%Auo?DVLKHl~KkRvqkD0Ps3H^u_XD@CvE(%g~po2p~AtT z-h_m_F)C$g89a!ak!^HC&E?Or`W4q?~m@%K}-)Q`+ zRkPr8qYm6B8bFY&D#&Z!@k6a68!K1ObujePY$M1i-x&)RisrD-7Uo4)Qr zTL}=`c4(UKisjkdoHU4;*;X3tvr(9*B9TW*;!tlxBVn>F>#PBj;Bjf%9PfpF79G|~8cD4Q{$HvN-kdYwP zW#obHZnuc?t`q@dWVm(6uBtlYyCA3(2ZO_fWg3|{vBA}N)8#~1wkBYM!TQmp`JJ8?Ge?Ikc zVIjavf!grdln8QFMf&=f^u>v?lPHskXg$w?OvhOP*UYjZCKG4q>%Tv3EGBrsN$3eG z-`cWo;)#qX+^O(4zklWu2x-&?wn{L>R5r;VI>wOE@|v6_QF`d#2VdVw4e z7J_~~@J&j=x7E*MmabfW4}6po!kb&`x_ahw$EHty9G`6Ksqwqx;;8i>BF@l2ekAR{ zFX?J^A*j7Ul-_)yt9#CZl&0FM*=|%5ac*qft}0^7=csCs)q z;7(mu*0un+=R%YHktJ-VsnB&o82bop4w*x}CeIejGa!lz&z1`l;oUXfIem(4Qiy%0 z?P|M@ zplJ}p$-a9WgF+x+4!cH9{p%ZIm-;BRG{}lMtJ$BZH&?eb+v=B|(-&Sd+uSoU=;D{Y z_+@V9(#cruKTU+dBTSy1L;dYY8oTO_!v#6XX<4kkaG(xGRH~!Z=g!U@O$|}C0GNE} zbh04j-~P$jx@IFcucPUM_wNc{3(Zo8OFDREH0DG=nc|->SyfTfMHxSrNzpJ*PYf;* z-Pc(u6lr5hZc(M?t@wfO-6Ja%sH0p6Ea(uKkkK0AV$s&)reR<=3^NEU8$1$yTyybJT67*A;G*8jG$QXezqQ2aWCKQhi`N@xtpMi$F3 z)<0u?;pv&k9;kQ8+>>zFl#y;xX*(mLK_;dYoJ=u1fk@6rKYXPb-tKqWzQ*rLc=$<) zhf+E2v>(G*E&|9UDa7%~4Ok%MBAj!33w{&Q13fo`9Fn=n2lo;1w5RLOYXPrXW{OlM ztKL!NcU8A=<|sAq?Kp5;{Pfy(4s3@@xPJjxl{QWO@iByJ9B>V0r$|ZD4^G9*_kF2T zB>32(h>YaIC23s%XsZ^R40GeDy(@zEOR;P!O1ELAP&J3razi&9*s1Hht&|HmQ#uT( z5|dOgr$dM>qf5|r;vzjhbhuE19hk^6e%hla!DQJf!uTXE7B^6Hz8+N?EqzX~k5>1E z+b{HWE!+x?_%f?o!Z<2<7bECsXVZzj1v@XHHe5O(?`%4$1>vppO>W1p zw3hf3ngeSYdCR-W#i1~tO}WFTeH3XqE|-4obd4J>{@&bhKg_o>8pzsjQ0$v-biSl; zOA*CDEhkvySF8Uli3Q&SsrX1GrQtHQaUw0kp6TyE#W_?S7)fx^i6g2s^Akwt%7z@L zk&=;;%2_V>13u_prc6vd7lmWY}#EEaR6>)D_lJo)reA~gIfb=DE4^{TfngrY0YL;-rjF~s!WV`C(@X> z9^#5oevvOgYOvx$^4%6P%hBO`f`^zM?PD=w7B|z{bRl~8Z9>WMJ;LE zmOh`cH?D||o;hA~>u*&ee1gXo#vzi;UQchlvTmB3D!!w`UrUpbHr_ll;hhbg8mpci ztv`O~MoDVpRI!|BIyu!p+nO+Al=0GhbDYS^^(1p;iGteJ|G=8XLhwK}rovlNbKTa@ zh zvE>-(Gj0T5;kA*GH=j_7Pg{zS56b=PK?Okk@%vx!3_Jt@E#*`@!>L@6S*~JUwC-EL)=G}%u>j^4NX4S zG%%|%D~x{lUw0m&z*H_07QzhjP@#?puKLIl2mg@$s1!;h2&u41MBH9m`^SyZJuN_h zh44_|yla9{BoYA=mI;frB;D}S)yQMllN$iQV=M-ot+U5lLd~X_1T@5)YrH%?7_(GY z6aDL`@6td6_-IQ^qzY0AVh;7Ods>Z6Rb(dfB&PEf6!wb4I8yenz zZZAKyYPW7rbyeY1aaQ)xw4VwFC;BJmu1$|WRFavSMPz4<#20Hog+ZK~!t$#}rd(e^kZaC+ry)aLhl1#4x>nSuR%55}%Za zByjLtxGY{q$oei@&P-d-KqUNXO&s&G@znOk z0meq@8ZN}hgV(hS#e@gbR3Y2NB-%~0-^aJ0@mQXz{D`eFZf3)nSM1?DS}j?N6epwc zc(I;-Ai!;@{+`%)iZX0NmKf8ZwXWoi+;)Arm};Y<0xwRy=A44mxd8m17sqs4HTgzM zjk@*cpAHXcjC!_jJc&34FB5`rp|uCpIeDP_E@->$giEEPrTljLsEMZZ;i2MFj~~1O zo>B!|omT6nr@-~Juih=gekS^g#vhmzdXiP#`^O!hXvgu?IjY(}d@XVtt*Saps8S~1 z*po{)4*GELwer9SJ9B@~&z^iVjzs?8Td-z&P6L~EkSfg3&^pw~!>KHgq*u}(*V#CG zM1=;CpIN^aA}SJ)fVmE+{<0Eskys&D*i8~K<5XP4mQ_sQsoBGQ~HMlV`@!ge~@NGhECWtnfWfN#N=bxOeH6;q} zdtZhnrT0?2boH0Jz7uhvq^M*hQF)3Ua{cnM_hDOqTP;^YsmjC5 zq}ggomMj}M51SEsXr>jxrhPS#loM=NVIhSTt``7gF3WT?Dwvx~@G<1J!@Qg=;7lg^ z1}8=<`_^^)%Sg=ee9S^0@&>Kg(gVVJwLyVCWxJXNhcjO^8|(GJcaDFVtetizr`TsQvLm z2A}N&;Dzh_5)-?CzyJl1 zEq%EGFW-H&W+^p%uCh;eX|gWgA+CRZvFFWp-$7PqJl^7ZJ1P4p`%xNoAHOM}YEzTH zo{WxOo3 zb$F_HwIYS1!$0aG&H_G*gQsK4^GlLRv9dI-HW$n|rFZ?C7@-V_3&z3jm^>_xdayg8 z?@A_%DT`%t_M38%EH1Y!5Ea^#DuD>Sbu$H_lql46j89%E5QqeiSL259LJTFy3=h6o z4Kou7-dcRwN`b#ayD7X+5)`<~ziLO!hq{IQ3Rj5?=2>O3I7seH^RTAtoTC%`A2R|I zqfabxr5xlmZGTwh<*5I1% z9a?T!K!Gt26&ENfmQ+Zlq_4MlB`ioy>1=8Zsp)At>9=FyVRiIEQCobG9{pVoxIb)q zoe)0ZIyIDP|4H}w^eV1^$=8a-f%`rR_2$!9*>a-IE}#sg0K{xaG?WP#c#6xxBzV6Q zz~%EcGGTxaCNeqN?$s^Ab{Hqabksc-qjDUb-Z`VODDgo^-PfU3gT%!g+EN`n$9Y&_r^`;iVB z6rpFsQYcyQwW-;miOG?LO*;BqY_r#WhLq@PuJIo5I=-?KV_m@KT|($Vbeo&0ZW$Rf z_Up;Zxf%B9Hx?9gW_hl0HMtPm&zS7J&s{J1u^~j|k@VOAdD#>H@R1I@FCK%#&TbJ} zX0l=W`<%9^;?hHDgQ}d0B<%-nr$IPY6!1S>0o2NuP*aJ?(wTX z$dss!lS2-4a8*3Mh4A3$fGI)@QEatXwj3?53w&N8@0RX0UZy6k0mD}6Z|rr3c$PE? zfnYAR&X5O(8TBVX^bMC2+GN8#Jh7bskcbWWgSK2ojh&y^Pk;LE%Vh4-><^W5V@sdv zy~2MO4vUzdsH`9MzUXrFz{qNd3@|GwpIx-+<%IV%Kz`pJd~ojU!ib_Tv#7Fd^mN6h z(#DEQ{qq%LHM4;6c(XnIZ;fTHq0Zws?Kmpm)v6ClM8WXUo!(BdSawdu+I^{wvs(+N zpLRyMrwG|xx+nQWUCXf*IA#FXUS=_)GKZ(aUVgHCnhkC`D7FZ2Tq->7uPU39X3o+U zHkiJ0-BLq6H;;wK1*YY?9LI^Hq~Lf|MhkM(_W%i+z`tE2hJlQa+w^)-C(}urN%7N4 zR?^zs0H@k@E=3`erI~lK{gvm=N5*JsBF`siXdvPmP@)K|kh&hNvWs~+Jm*8Uc{??9 zN}VuQ$-me1sOR^TnhjgLK6^6Ery%uU@HtiG@tE@CnGmet#8J^|x)tWag>1fBd`8SpPYqYOwBS6rxYwy% zh1uZD6G|>(7XL9H~KofMH9BV60R^^1vl5#pzzYCv1nrR|ZbYh>@2b7U}L?^Bc3^n-hi z@o8s_%NBVWla1eZmL@J^OF_4+0NKv1@2)g&oxCEe;H~V8v3)XzEaii ztR0~jA}yl$;o`=LpN+=Gez~p~o}Kv4uPXA_%48-brf)^9mzgYt@enK&l{Prr&>#7x zmS{-?e8OOz7&!U&ih`Rf{=XJL;ef#(IF-hmn@;Kkyf3lM3kEs1r_V05nu9M3qQ+9O z3qkaEPDt$E!Y{2g8DNH7EMOo~!Xws%>EzH3A4H^=e@&87m)s#Li(-n=ArB{8!Gv`j z$L3;ZvEGG5xl&HPSp1)-o!O{Nfzb&JCR41*{U$9yR7Jf{;n0;#u`E^`w2w)!$>Wu_ zoRAw68B6^ZJ2eX*-R!F#C|VmQ66}}8kK9~w-zsj@H;w>IQmdVaEO)sr@BiA*&n+f+ zrD#X~q^P#JfDc7S&h*wz6ni98uw}cpZECw6E8JJ<1TjS^Y#UDHeo9Eo4Vp|CclrGJ zA1zwzst;~pQf{&@%4Jf{sbD`syZD~YcnU1z@GVlWRn{$R`cLM~c451eWD_sbIlGMf z4~g7uEgf!conUa~pmFQ+5?1qq*kpHRtQ5%5=pl|!b}jZwh(F{>zz=qEI$Y=9=nC|b zm!XTp6Md({XO0#YtDXxeNK820RLsRp!`(}F919xIS zfND*A>T)m#ydNq^4l$?23R^He9VE$86nBIA||_=gfgwz<2rrSJv)I=gQWwnTdi1 z6D8>7u&nMxF+Gq+GA7otgP_EXu;b8>+ z%MzU*!A&h_H^WbA$zEA%6~|0{8Tqa8;85Dm%GBYCRRfi`3eQLE@XN5@{+pLa3OoLl z-MQ)lI{kidEXsEk@ktjtOX1K9iA*h#R${tQ;pwyO8=>bIUx!TLii}W9nv+kF&&ar-)DdQu)TR^qJVMlXW+e>{}aCdI_cYQ#$PR4ppm~h z{7-B`dc*gC#59<#F>G59Mxr*E$kCxtU z%UP4@PVsLVi=Me}9)x^lwNR|x`G#2LypewC+YIX{=AC3%` z^E^{zmJPOa0cEYV3yCiYdT?e!NM$Cu5ROiS4b@;RScE)vttgp9*=WcoD(GOKaw0g@ zbm%U()OkxH`G+4?UOj2M1;vD-7MLE7PyhHU2mTs3i(WUZpfFR*S|7}f z5^R7C!{BuYyv8-y7cY@=Dj8fbRYlqPtghte0JcVPo3lUxGO;W5(a43sNd7CSWE#PD&+nEh2eOOdSQ6{%dGdz*w|VKfR8+si6Fwy z$0D~@e>t?V zQPwTZ-!&H|R!4-}dKt%6eV=-8?|vsICmXW*?c&_b)yhM%UYa{cAd};ROA~In zAUboV=G>1jUgugEEzN&wJeW@Pkp25R1xy*=u zco}9&FW9FAFV{azu5>5g&Z#(HF{s6Z?$S6m&+aQc>Z}t;RRtO-cxTxuLzGD?=`s4U zb?i+{%;AF@;Om)(v0mp2AR5UQllET8So}3+aUmK4prH(;S27^eKoSsvPCc|<^^F`7 z@;H25XiBa+3ZucjH8Db?(C`plOU-wuL%uV zx0c=+FHWN>NRXA3*&?HQ%{GrgaAsS^VxfK2or&X1i!*NFP8rovUnc6CQzHuGe?56^ ziLsQ>fyKJcjiE%myFftKHsZ|vU2fgJT@G*q$-s8J31PhLgt`0d}` z#pu=7EcKtKu$a<9cwe@9?R^G(MDM4UO<_M~czJxqOw5Ah!XkyM_|+rjMmoTRY{IZy$qDHx7sHzG?)Of0@zuP!-<(sv#-K?dX^>2z?LNoZzxLlwV(U=`TjAoVXdDh zcu?}t*I}yB||tQ#0QmcJ@oCsaFn(*}jn>;3N1J zpa$m3A%1P-;^fuE#k#s~6Rmei{@2pD1Ez+?AnHO2Kp^YQT1}4T4z;q-+bUR#f{Q5| zZRBZZDk)sVurkH6{75n=Ow5ZYl$FhuXYIfCN!x($nK&=g#F|_wRZ>p(R-5PU$rvd!FA~9eMU_*(zwQOz}}fK#6y8 zCRqqyHyr8j-g_lAJ}o~-^Tb5d!Wz#PvKfc900$9>*YS=qDWM}kdY(J4X z_j%T?r>18ahmUX^4Fa#Z{CRAZA*92x30ZqR(^!1BR42?cg*w^)ki^mF3V^00m#V`2 zkK^rO8@Nz=(YdoxF{x!4yQe<)Z3m<)RZ9E-nxq~)HXFTJ8#z0BwQ_I8klliNY zF0*3sQx4GKGRbpiM`j)Yu-PpA9*{DhY;H_Z2(L4jhAw8eXGbqu#LS=VTpI0JTpSI3 zJ2^f7DI@wz*v(uu#Sx@CxD=l&uc_>EtMc6h3Wb-V{l$#YO3x?}9U;$5}Nt|~<{Dww*dwWA-W+zM6N6)pWFk7oU9G3aT zWzyrblb%wiCo*0p7wQNJ+xd<7E{r#>SV>3_zLZ(p~TxALztRY|~tv+Ox zSpQU)z61BsG!<;h2Ep`SxomL~jU32(R2p1l*pbLBinC0Vqwm&yooQKCco4uOXM5Ir zn#rt6A*jZ6Y^VO~O z8)l3~_Z`XH%%F6j>-I3oKprFp`bGLbVxG*A-tcy)Q8iX=k7olGkH(2bYg@RhP#}{C zx-J$czKz`bzcjva2qyJEc}*t=I8^|EiXE^D!kLT@FBtcYl}P7!N>CbU91zNoYU=a2 zx6%3mIfgnqfLL>+z0m&K;i3Au8<*v8#^cf z0JU@1PBtWin$87_Jai~KXPm2bexdQ+`k05uRn$y&gUBP6+kpf0-plvO&VxyS4y71U zm|`AXuuBWb;4U=WR{+k9{A%>j&unoi)rCZ%-{(VV5$XAQWaCvUX^f!#oRNV)4i)vY zF$IYWe4#i{ULuW8K<&h0TfJH(!KcQrE{!c!0R(Yg0V1)0o5bu?>(`?cRxX4T8-m=p zU(e|FEPbxb{kJdT$lLk;si>ix)al;(vGt<^7yCzM8*{HV*T-eEC#j|v;6zsuUBC%W zwlrl@44*Ni7z(;^j78s@wAZ^e z4<^{#-Q#oF?Pzf<6$rFcI70T>eau*D$P|xXKIF*(FReUuLrU5iPh(i{Aw&U?M$KJ+ z^g2iHnpk!uJvU1)8A}XfEdOw5!-eNLhOrnHV-8II;eK;q#LjkDOr5Lrc`XI!*|V4t zleg46w$y($;rsf*)YPj>lbpP6MO491?z!D9lnfoQ3V4`+UkBBfvIRFnQdiP8+&_CeD^J3 z(`!y)gQ00Tp$B3=(_Gf-^Bu8Rv^f1udPHQoVio8p&=3jN(Or-Csb^K*TkVpz(~La) zEkP$ZOsN{Jb^(Aa=bmv8p3PPB;vSo$*O{h?4bDg+8n2XD!gh;M1$E)!K|u~ACPxw^ zpPcP){W3Ya;7jL*z6b9JxOE}cTNH<;yK?(S7f*Z#xAU7=nfcXALn=FfxTv{Y^VreTo4w;M!>FEw$K!&& z4Pn9v{HxI!8N0H}b?1STt;ZTu2>nn8WBA!a#di-~h)`ww;V!mqmUo8^tdC&Uz3gR% z6?AumPrBFfE@sCIaFklqH#>khbrdu`3thR}Q_C#;(qk4UaxGFjza21>&jxt8KU+ws z_qn%eXL#3e@g2>BO}TA5dlo_mXZvRxBh*D~RnoHY%MB(B9&~gY37iqdfsXKHDA)X= z3(DsiOM@o+EmG&^>i0rqAw6qj4G4I4dZNQ5Bsp?o9b)^`q$vGr^ZD?z-N_Kpj05?O z!H3n!GKdx9pe9vz{q4)}@P6hhK%iJ^z%>$ZaiHb_eW22V+1-A*8)*Ji!Brr9 zT$tNl3f5DzWD;3ea6GOQbHz6<161|EilYGMOOjYgk8?>3#44LABmjP`P8(1?x-ois zuNPnE1Gt<3OK6e0^M{^q*N;wD-Yn6R;4~mYj$%}+Re42e=%(ZLORbX@)e2S$wdSj? z+uA`C$GQI4*XyaiUz`{Puf7a6b=+l{l86WV&@+;we)1;KD(_U;9|I-`QvOVPS58Da zw~#AVB3tnLcOft-WGNx2*Cm#emZbos4I}e&9R4n*a||dJMYq*2?U!baG8O@@-F{a0hBA>HHt^TI&X zgMhZ&2N#o^$6X7q4-`L)QrIcjtaDrIaP#b9K#~bgD?Z}L$IW0oX^SOKhNtN`ymG|w zL?Sd|A?&8^*r;g%z1GBAYu%&OvHCSAFYp?*{LfWLf!v}p97o`eFVSsd-HN`%xKWeiA|Q5mjYS4 zO*XwqD;dKs`1w;G$lA8ym(vBf7)ccK!n>+UHve0Wl z!&sQZ`@1i9>A6vLkDG@GFoQ|?LK0Kd>(bFa+$sAfAC_I_@C5N_Z4QNxg0$dWa~eA@ zM%9_JjajTxmohk!_WZI;DQLBJV`%NyCX=;-mZKGPNs=UyU@Kjqi}h9l5kpw;dOYEuk4$4Kw#p6xH9m=dlT2XEfP7PH^7hMg z|1E&@U2|bC`?b7Ox<%YB%RcPROcXa1-Ren?m?_Fo#ly>K8I`JQUwpq>F#M_2Xs&E*Y(V{7TT0w}rVY|pne9}`aB-TM zo=hgj=r)g~Kv9KIASMtMR95=9_7|TzmVcMqh*ri~I?kFX&n$cPFeBG7m}z>!3g|hS zF2jymKs)7uL2MPqE!t19!Z8Jk&0gK?Iv4TgwO#YJHKT8q7BkzXCdbFWM1GlX1vhN> z_Nuv$i$ft?iVAc){lz9)H=*>5tEnZ;7WJ*%qiWfcOdy~x;ftvk9FwJ%reO>mcprEs z0}`Ot8L&Y4Bql%eR>svvjqc0{Q7$hGye2EAP!q+^E!5O^CUCMVq7bL1mX!@H)Cmd1 z5ewq-1c}Es$U=>KknHl}wh$r|Kz3}DsNf@H6+zbqUz^K{Z2Ajt?-GyuP5zCS#oiRD zp)tx4@Flw#?w}|vlYtB$I%O~#@6ee z?Aplqd!lPi#^~6gcWXFIrsw;T4gfA-lq98QxU;TvqcuO(_$;wp(M! zWVQqE9b3LmhyJbVTix~}m2HhD?y7(%NllkXVwK&Fn=+&@n_>04^?$%O5wp#{YALks zUD9z#DubToa7lV`J1m;)^c*qZ^t6#D79eoPT6#5=uRJqTiJvO`OS5t#U9kT@1bul3 z9jMH0M4r7Qr1yEI6Y=U0f??EC8|2ww4FZ# z)6d+>=(&W3IP)l##{&`i@Y-88t=e}hM;b&(Lni-TuEH0T1NSY6g#iZBc@KV7;yz zxLD`RfCOKP&CXc}c{8FrlTa7^#wcuSh8x&oo}BK_&G6g(0j&LnyD=P}jG7$gSu{q1 z8Nui8lKuOc%b5P2;xlD159ux3>_F1-x4xJNQ<$*a5|DcHpj4^0KI+Q-xo2s>cmKOW zQ?7Oh{LUHNvyNabDIP|!uoNKMo1QorbGBPAUJ7m@M+{H^9e{EK+A4j+$Rk9&C5~_m z9APY_k&mU=#FZa`x7oZg_rBc52^51+X#$0vWKkB2qV-I~?X=nDp}b zt$v$!F53vCcA1ZF80sAqBpZSyAOXV>-`w1)Z@@)lIyb5G+9q6rzVM)R7wi!Nf z+d~iBIm2DU!yr77bd+msnvz325a9x;Aq8VG^bO!xDaXbD_E0$z1kg&c1@ca>J^*Kz z&-JdC!A?L3f)X+=pXhh#;L+o`6eb0Wsq3r%`P(-}?Vt_;?v|GsWvpmGY5qV$Z*dt= z+4PV!*OLq^NJ<45PY8GfW=b=JU-WoS^5vukSAfYN0j5~MD)0@QwC^^`i6>=IOibZ} zGH>52sY652_TNdRu9CyrjyT1=&g5{*+xVRKji1imiYfoE&0mfEr*^oF>3WLM+CNHj ze5M{)I|Rug3K=iI<-7ZsEg$RzKi2MAt*3`3FU5S-i~y09TCN5P*~h!%#IGI}zNRuC zMMlrw-?46hwORBf%r1RX@buN0gi4Jxh)ahMuv_x9WSOMCxiA;pVve!0U7Tu{cGyZt ziX}3uHU*}!xZ==*{}A3ym>0d8jm8S;$I=JP$SI>DLZ&>ng4<6u5EdL*it&EjSa9%2 zt=GoygXK_Ij@^-`=PkEk8z-X0$7Xfue(l9B*~`_Dt@Za}=i7XNrz?O^!GK=V?Lvsu4e3rih9_SHe9XS6n*~O z!UD(^9shSh*M6xlw*>cY%!-&DiKwae{iUbycqMvb?aE^t2@E@w@ly*IU-`7s{T=$r zCo>>Z89~^=ao@^3zu#TAFV*f=6_dRr0tL=tan)S|-MwcO2qug~xC`1-5IgU6%o zbv?Go_33Pm6R-H-p_AI3#=a?EGZ67elnz5=R;Gt;zU2dFEXW-+ZR*cj zD$$TqxNXvb%6C#%J(JBwk>ydWhF{UL6biu2H+Y~JH#L3Ig_ltC`Ft*0j$qxFC+G2Y zxgm{w1vMW7lP)w+RefPK)25Fne}FH)UHIAR$68+w@H-J8%8R>_ApK`rSI>I*nMowd z4G#YHXbLzzD;U|hth82aO#(NnJfwx8Z?mD$E&2cSrBaQs*i+0<596>Lv0|s zb?#}9d{+nnGBwy~i@cO{Joxqn`@($oj~9lS$+0J2B*Tg5w0tn1A5lgv#JhkZzXFD2 z#0YL$19r^$XC&J9azgWTk#g!?Yiqo6{5xyC^l6QZQE(|?V_r~c8a^5M2#N{lJtjdBi*+UMetwzT_}lQz@V&$$4Lx1cBq&TW)|NUsd2sYN@ra6MPt*G1 z5oud$knmAbC>{%@x`4nFa_n0t44Rf@;Cn&rd*~xsb*w5kLM$zu{EX7Lq?rFcnRXMf zmw(L8f#_#--@kvi@Rg2jw0%`+ShxwCBWaN02@!zMEg5`d)-Y(PN}@1hE5 zSi-c@;1C@ZCK8>-&!NWsG(}xFx-mQVCG4-K1I<&Z z(9(RQwQ1V?ZOe=%!os;UH5q!qnU+Kp9xN3iR3#xKB1nDgI7#&gNA(uzL1bi7LC?b2 z_+(<-azrb`QK*S^vL#|W4AFRQIE4gH!h8VlP%GYaDPi?fN&8wl1k5}IymR;5D9LfQUy8DVw18O00gKAK#&!RfPK;7hUuWbQKlR6R38ptw}Ma90Rn!+Wc%k zC#5*E4dEslxL0MTp~e z&LlFFO0|PPDdgZbu?QbzNwjb$kv`?(H_l(LNmw6u8}c6s`WPM4(2;m|Wp#$Nq5w>` zJXVz07&CnDbfs(SQNI(iLxcW{0dBEJpCy``@)5d;8V&rjX{r_8u4zd>2es$*iv~FSqG1=h?BPh)v&C zS6Zj673+ORODMP_`>v%x?NqyLaV9)>tS`UI7Q5e^^a;HOd4~+giMDdPH0`MLefQPz zV97&>77#!((Iexcg~NliXoLG>5k2WaH(!pV<=vMilQ znj?_T5hOTovaeDx`z4G_vJ>WV=?~^t$5s~R+tSvy;cN-2;9Hc7;D^5v!oYdg3cf9@ zjKwc?wQcQuEB)CuDSLPGH^@Y-pGo&tA)BPOU1Cvdtyo>)gSAT7&<{0|G1SG8$`nTu z3EmlVNryzmpAmnOjrd6(Vm^!|M~z!Ko&tkRTUiM$%68WR67`_7?SZI-7L>G2G4`de znF2D=2U9O5Dl1L(SgUConqUz=$%NNdMWo^3j%5+XW24><*xsZ970^TZF1O9eDg{x0 z!t{HR5YTggKwNIsCM?Gcll&0TN!_msM!L=2wX1^C^9_a%x*>bWJX^KDRhee%{;)&z0DN-EpYc6-C@ME8aJqM5VjP zi#5?^S{7jD4|Zh!r1YoslQP1ZY!b3KDK*#A)iY@ec^Tc{TMv)So&n>-F5Y7)SD)`5 zd1ZJ;$M+sIc%iVxXg{aKe@eek5ZfvBe)>ZjsQ!zUXf;V~CR$r(RLONp{ z6j700_(9(eY>rHtcR73jt2TfSHgcJK&L))`CV~B;ZE(*yTy72p1Iq%4{oKGJ0 zQ@b6@&NoDto-uM!MV1f+5{r$>n;J0!#+2zh)5?K>29ubW7)QS;|Bb1Ecj1F$0ekT; z#!%b;^A5}DFr@J<2Q45*YHuEHhMXcgXbV+IK9=G)vn63UPuv?YM<7+mmTp*x`FjNR0mMPp+atZ*T9bLc#TI{d;6}^X- zNy>uW5saKRy=i?!xU~vFQ%|)s+#%D$HTF{^Sx z?9=@K4M;u}f(`Qprv61wy$c~x#sbHO*x{(=>3v#}%=_%73s0}G)r2AAV;f)Qs2SH@6XH-1D~o7%08%XHjcY;<_Gd zCoRIz;&1mdgEEy{F=k)93n=xq52<*h-L^CpEdzK`mp(F0$gBWjT=FAdbTV@475NBy zJ9BplTSWsX{(&G+N&@0clA4h62vMDvFBG!twQ1^z^^s#oFMj9}l+^iQ0kH^;m@ac_CH3sKYLur2jK)omg4Rq^Cx*TB^Gc4wD) z3uiU-;j+TN1D)9ya86XrH6jFW#s0LFrG@-5|H3}tOhw=tdtC`hRfB>&T(pR3eD2u* zNsM2Sb?e;hSDVyAf}CJz@%w<_-P+h(+7FS0Osg#Q!`zwVO*jArO%Dz;UT5;8BWs^;x;6UVNm^NV8xtX5@_vTAe`@4|1qBY$Mc<&p|N2Kp3I{4N;I z7@?}+@)WQBLh@Z*8 z&}C_D&E z_yAhL8c|FR?|W!K3*%D)=C1F@j1s_8WdO!OIyE^KPWF9|yISu<9I<7SxS+QSD=Se6 z@l6*=5J$Ya21ew5Urw-iiw5;}M}^Ag=WbZ4gQkGmGrp-+3Vcllne9lTgAMWd!6F_I zL{t2h63$fA_-&5_*!{jh%&YB^oHNf|{xx8GQosIZ&@_ACDA3+%KXJO+p z#aNz(aycu9iiT>wKW&bDzc95hH6c@c{rXiQdmc0h{k6I-)vIG|j79d6hTPClTR2EH z)_VvP#W13LwqnvQiV*pbvp#03^CwYhXOq%-HfkOEY5Dny>rQe0)L{XGiX8bdNtg#< zFmRah{wAs<21$&hK|Xqux*?9a`B=yf)*cu6^YDngUADGF#D2HKmHyUiU)zE@>^BVL z$AeC{w)oB@UiJM1;X=O@KYuy^}mV z?*60E^(mvb`@p_C2`~YLv_-3Qu`WTR9rP$ze)nn3;Pjz^=m^Hvp=~C&CV@UvjB?hE z*9J^(=5~={J`CBQ!C>u^IyLPG5>1Ij?set{&Rleme_R(13`0hPyt_S+1G3itU0OT%{NVW z|7`r;_$j<&1X|tN+&wlu7giC~u#faXU)3aTM-QZr+TC=_KV7i^gI*NW_~IwAqK_M^ z3-JxUoL5_WBZyF~q~wO_E9`pCmv7T^UpA&i7Xae{gLK-@b?Lz5SL>@(i6)>ENAA(> zUWmVY`)Sw0&kK|D%j0v;eRs7r9#bx!P<}Pl*a6CdBTCaLqmSx&DIG%`eW!+xwY6^< z#yfo-&ln31T)GQ?;UvPy(N&{pW@f2MgF4>;2%{E%3)$%@`>`g)(BRFt8_xwT0@@~Q zQf7)12YS$4)k%{H9QFTx7``6}G0V@D9R zsep8XxG>^Yej94Qd&1q|W36$VV!iR$`n(;KzaOdvGU8q>xqvKDS$T?=-*u-S@Sqi< zMvuc^f^YM8N}TE~C4U@No%c)PQ0*Jh++fRkduj>LLJibSOytTDhlo&QPsCuQsq3W% zR@3ZtJTp57eZa$_TR_Fh;PBk2UcJ!0~_ONu=$G`ilTN7n7(fu!*5}?q3C)dO#TPbFMS56iq!X!n4m@yFNMD!v~9v$9$Liw-5HDR10nLyB%|)ZIeFK(c&> zgNOaJdfK(QqxdkkL2 zj||tg-;6=dWhtN+4;;xpq-*4o1W3D1sW2QX{=RFX(5bmtBy#ZB-C5()UoG#M|-1*!$T6 zTik@az`)n#Q@z(f0u20Huu&#kXt}LxlPVEWzf;RCFF_@%ATLQJ$sp`(S<_@^c3w~` z+$a^Y4NCvC%u?b243VguzbZ?!sbWaI6BK>l2XrEU1bzqyM)M0ElDa|A!yVUCx$NLV z6!%OSCL<=Y{0F-bGD<++tLKrR&{>YzTGV;5PbuwyDmpSV#=H*_N4a0&r)qG9rRFG#!?e1=qBIcfmjnqt|H z-M_D8@0MG%9Wz#6P%uy)(A=5Pvrhc8{ z(N}lc`ZUlUo_bd~Kpy=A$?Mx#T%2fcUlXempQ`FcjC*e#>DEP{zR<&qK{l&fn+@KKqMJ^0mQKa6WAG zKoV96MsC|8%A4d!aB!fl$(&WLDC?6q=`_IiI%YD%g0$@4Fnky@COtd<4R1W(8nb`X z)<)TLg8MnoZ%5ZoZx89xoU1(g$y&J%kO96Ic;$5sO24-%;`jD8_&&|aD92AA<{pWC z(r9GNP$8Y5)!&1+L47!RAKow1cPmB>ndR9RmQT`nD5U-1TE#c3H>tJp?hknAV%dZj zCO$J*hr;uC-#9XTw7#WlvibU;RN!MebL?vDJ%r>W6EwQ|!j9>_4c3zYmZNf}TM7 zjeTUDm(yj^io7nT!RLP2cP{wP6pT+MTxu4+nvR~_|DlZVmvkB+FqUA?n*24~tdy-? zn06lhTs$c7-&mcWj^#LRwR&YJs3y}9IW~2jUIyj@WE#&a*@;?1C43B|TjWs7M$ay_NT(GouZz{}?M!ki zdQe08T~0GvYw8>DbY#Bu#Ft`~>DftZAO_p1PZQ ztT<-psF}b%v^vUR!ujzeEzMF@|0{aVnOBLL+jWpm^Q_TI#+%=l7nd*W%HsXd&F>0) zT@cm_Lxwwqy!u$&zbU(i0l#(ZV(+B5fnjioXKLO0Yjt|uN)xFb#rH_P9cnE1hoAiN8?`<&Po4@aiK7@obF$$U#X9fKlI(6t>Loj+N#)_-TMPlupA zWq#2GmKQZ^*5)VQ`kD^;{bMg(Ia=Gl2~UgAC$bW;Q0%Y5I59rp>smsdE|`ba&c+a}Qc4Ue?E z$#1$P(fYw+d9{{b`Cd0aO)|vOI3T^5!7KNuad8_pWtF#0PgVj=(}l#zu!3i%MTv^Y zOMJlLP-$L6P7Wb%Y0;@%k1k(#!onjt4!40Tg=jfE^GS2qp9f(MmB(uubw7ZM)4Mw$ zVz?h}&hu{h5G+*6w>!J*m(W4{ZN4xtXm)kwUPJe}Nc;!D*{ojSkos!X5I;Qs1CD6y zgGxIV>`X;wS1p-kL9{p`S-i(X4vJY?P9PY$AK$CVI7pTGAKQ34(|V<)y7P9}NkMt2 zxMoQ@`TApV6wK@#9IshI7^dqRF*^yO+6iX_lWTKj?P|gIk)wMLza?ay!xJ^>HMw4H z%@%Z?O*XIGX|YEpDDv+ZTb)+eiXFtp+UblpKf;(-8ZP{fEb02W#9H6)h3DBg_b7f9 z6|E|iKNW}QZm2ouL6c%Njew=-D+#jE`RTP7SIq+gz%Wrp>fThHiGXabR}V~|T!Nu@ynDh~Z&bK4V@(%L*9rWsH|8h16sMn8wr;G8eslg7nFqb^a;q)0#wCh4X8_Nm zQ?<0*O1P3@Isyl`)#~>O#AjPd$|`K!IN7-SSN59aVFtCl(=2U|N}~7TGHQL??0;1u zhZy2>Q19{1?$Q1B2#!^Mne!1R8p@Mng+>}P%VP(v`is-1sJWOPh9g|A?0MwUUjZ|c zKgRR$s5C^e)`t+_bH%Pri)V_4-misCMT^D#6|(-QV4j_wof-WaA#tzU*T;llbKGF) zt~96|QS#|n>!+f`r7!?`<>fh1?P!8(x(+VM!sh1Z0(sqiKlRnc+q@^L zeUigsW|pK0`lzTofd9`1Y(^43ge-Nr>RGdv>sZCMK3S6D;4#wPG8>(8>2SDz*wX2H z)=jJ!GKycy9kj|wE7dJ@7!H1g8?WVMmtx;+HNY3kEevwh&1#J`0|do;P^)KR?q^$3 z&n1_)dD(x9wAYb8uIL-CiyHFL&l}F?Sf#0NPyIhGfEJ?{f2p~9c-mGp72ju+&r;?{ zYGus{8)E|hmVc+BCnqaS>%?siW&?S`e27*JLD##OE97Qy-=`GPy|ea_^>xkUbow~C z3t;caKa_j;F!@-`D?WrgOmIPYS|;_@dp~vHhmDgs6MU4p$UV1wm-jz*tS=a^G`f;gsHTAr|+s5#f~P#b1laLFv$dNrGr`8nb*@^fVYTzAdHwgeOvvrK{U_HhVpqd*}DXI=Vexx zXQD!FQ>{{O->z*qa#Sq4MXf8(s7PBMb45{O{EsPD#{mJb*2K7kgoge>2Q%}-T)vHz z`?_cK{G36Dq%4Zxx&??2_L73~^3c1<+V;WPjQ%pM5~x{7oix9J5EVN4n2Pb1yBP2} z6NgG4IM5h1;>U7l&))@yW4V%(b2ReRThto3?T0eBGi9&*v2Jd#M|fl;tHFG3Khn@s z+mXi5;d`C5E2UHMBCcI>xd-iUf&a0@;qP69Ljtnrl~&nDOU`t{m>F-`AO%5{;3S3{ zxQ?WF4@Mb*Zi|ALw*LE5tTC`XFSFZe*shRL7sapW3FYx^Xbrx5mP}*ftCrR(%=@GX zzq`&9U7M&qyX5suN}URmu64<*k0dP1W=0MQkQ(+u$=#DBtsAb&#mW)?7*9uo>gq;< zw#HmP)nptn9B^9$P_Hty$9UV@I_jIvRXyzOB-5ybfL*_GQ*44Dwy0!@Ax_OqdvUls zD%p6k2OSk!C-oxgU&@<%^^)mlj$FB{od!t`r6ZC#<>NK8D5G^3+kpCHG5{Dn=Q0ae} z!968ys3n0vYqe>w`OkG(j?DMc$l6q`7NJ)v5I3BDebSSlZG^|+U!GI=>4(yIHoZ@6 zdSC{c6-|jvZ+|Yi8k=Rkal+?N<>>O#iR>z$EC9uvGdT$)?bAR+m-^l_Ii0xjJSr|; zskn5xZm4<2FKDs0v{u~Q`e^{?;tI6g*Ukq?4BvEHj%}>8ZhTj`TCacc^Qkr~_LP;| z;pGL?@A=Img6ZLydw|+}f#VU0!4S$G5@qBaeux!N2zh+sWhjaK`YO!248o#&^r5`3I6)n zJ8njF-T$7$#$2U!;`-GcAsq$1of2H*+n3oihbDD>GF+>q9L6lQ%*}eBZzc*@V+Yf` z%*=uC`*5(_<_Ql$7n^BTFn?I-%X`Y{cr_pUn7~pY^0B9Z_t3;k+@e=W!)ZAJ$@93{ zAI~lIkd&2rq=yDIm03nTF849W&itXvhv*~uUJyf1ISu`A+qGo_vjYYb$}0GhRN(4g z8}LnR-4Y(S8Yvz*Jso}Pw)DHWYa!dRzkpz4>+)e)%;|}@0}vD3r-YkEr8XtTGZT~& zs*8C}ukQ(oP4ew>o5^BZ+O^KH`0=g^9^*pzwo5g#W?9&hc(U*3&jl3YRkZC=t#N$o z$Z7wNhVYfy_L(A6v#b;w12b~C^~Ozs_4@4hC2?oAdPQiL1C@FgFYg)FU#xxGw_vuT z#IC#|7|K$2i#g$v`GJZyR3Go{Ar&A#|#x4Xy%pPw!En0P5&vdc1*6Cng(_OfKiEc;?;k& z9kO{&K$%0=OnY5M7{2Vyw9B~cJVB?r;o3#GcS+e((mqBK`k`P)wOfi zF6U!=o1=o?(JGh*M4)duE_vy&Y;xh zuD8adv%WmD>(%77d$m6K_U6pB^~sWxf=RK)%+o#?pqkwr-UrMdq$ZS(1+m^Sr)+I9 z%KjXt(OL-*L6l#V8)1_@R<=K0S}+WZvwJE^3C)!a-GK%jRq*(IA!sG~@mqeQhnhB*esx3uX#jDeGvnmed8*;)l> z+UlZUh*1s4WeEolns+$WR#-4}ycs`dSfTLY>ghUHYsIoZYi(sf>O!SHIP3{v_vuZk2%nHy8$_Dzr z!fA-19`9aZbNOVD$=rUptvs_7wvb5_alJ&7k2yka*gt3MP%92~YP^rdQ1`~Do$h5G z!JY{3G@ga=;S9+~LmpMHFnTF^Wa7UIhR1C?W~ims;~o)Aw!rqkiB zXd*zgWFUA$xJ7+{&hoMmbwalFJ5cKEo}8o5qWG2{Y(C(4mKWdRB7ZafHlBT;H#%mr z$B%I`__3M|$^k|9OlRmsHu#>PrOBkSG9QtwcCvcGfajs}@f^nNGV&qZ*kNP-JaX>Q zR7>LOugQ^(rIBN@d@S`G)%KOeb&qu$32vyv-iQ9)3o>~i$CB>yZ$e!`Ua7|i9NakP zoEeipT??;Bd-F0x3d22F4ocT9uzw@8E$hi98_|PfwpG|@hz-uxoi*9b{Q)EE7wd`$ z6LgBsSw{@2wb%IQ#jFl{*Ueu~Q+%|`pHx!#kf`$F5S~S`(HlawgUjFqs#+{HDz~ea zy)ueYt~U-gIOYQd-vWq5Km(CD$M@gs;PGCKz4V_&D{e{C2M@~9~F26*xr zgGSx*($#W8-c!O4kZtP0+AC}8V?P;heT%G*_|vu?e=M#uEjs;b*zfh&>g9wb#ZRZq zwoGy+-CDWaXF8*l>Ye9!DZFa*$y&VWF!Pj*P?MZYye88@WQ$;o2_Nzam-n8^vA6Z4 zF@HEvfgP}3hoIy*&SD0?vT;KtU|Y&<44xTR7KO#d zvu;6vO0mt?CfUjfNdG0Fwh3)Q)`F3gGOC7_oQFE+i@>{~g|wLmdPUjY)vv1Wd= z*w^IU$kBHT<7Z7Y&9WqA2i;7q6;qY(lrtLd?pM2LeQ5K-d^FT<46Mr|@VlL$dBA@; zXJC{=^|ANSxH6gHAy=ZM*;G2xT;0!%8kBt|`7qVT*5_H>6q%<>%X`uXRCYDm6=5;= zDpPtV+QRBw`u&X0O0D!ijOZ8Nxlrp|VXk6Z!`s`>Qf za*5&5Ofn|9wz^zDe%5nl8vwj4IYxMq)?OqvN+(-r>!WGNEN_eVNZXDSI~LgAMNv;a zv9e7+ki7L4g8sE<_0eI3H*=@_gIDV1r4}C~vRZdY<`54|NiN)Ly`o!D>qDi=GcBow zs3<7KTO%qsFE{Kc)i9eIy0AD_JFw)cjt?h{9^moc2AkOYTP`e3D^+(mdim9FTG1C~ z#7hE!;1Buy`iA1?xoxk8r|Skx>!zM|FDTM9Tz&79OlD+iSA?dHE{?Y=k17}2VqA}M zJ?`>*;sZ#~*NX7N z%yoyk*Ecg4&uYVP_!07b#R}QTXsoI8OY^$8aHiTv!!3=QEpZRJ zR$J~O+q|-5{l-#KP%WLF>buEO0F?HTt6C8CA%k8ger+-t?Uqe*quK(9h0qe>Hi4T% zC^I1ow8%VO*nr`jL9$UJez>{=;u&%m?=pwze@(q>Q!9>4uI3V3SK&OMeA z3#4cGgr1yc)N5qqVyoWow_uP<7>W<3($dJecBL%$xwnwO1T9`#d|z|8PH5AgX-3cf zo%;E1>3htG-^{~)eWn9O^cn}hg)ri^!4{l}M``i`LTx#KP{V$1#3kF|b9mS{mIP?S zjW#cO4J7N7rnjG4wKq@bSSMQpYW|VBx99E+AALKPA79@(JiX*6YxEsSh;{M4)a-Q5 zERCq`9R>hf<&Rdy%F;WaYeogiRG`{EcR9SED!V5;kJpAVg8OL#gnYX@bT@{r#^LG~ z9(LkGelYK;J$}xh*Vts>_Z-ImI(OmM|7G;u-tO1xmd7m(v&9Tm_?irK^@KehYOcI} zyF9GdSYA|P;PT41FQwKcz;R=(mCvgCBFCKI#r~8u@jB{h{9Sy;ZPew-9)264HaKR|SygsiK0}c|K7e|neOcT(cD_`|ijD0=Q~tNy960oMfO#>#WghgzW`_;`>U?UrUqV3v`2yLWAGpp2o}l2f^pPR_BH}X#qE$# zr1(`Vh?xmv@BX~?^zj!+_4CL7G$CV+GdgTxR&4Bx*xmH~LyEb<=GI}oE&RI5mN;ul z{Vtu1Ps6QOtfhzKrKN2+7@(=F04B!k1FZF*32~Z67xx2f$Vapx8Ev~E96>Gut}2h|FvWI%2CUDN^c@IQvJvL^77=(5#>~xzyDtxLgp-`82k5T z&L&_~=1aXH$7^ju_FlUmnKdGrCAb=g)?Pvx@ADM zA_fl~(>!%87S$lx0hc_yerV@I75!xRjbMM}#@yWe+mpKmgJbq4kx&p!E3zX8%9$t7 zkEm|}gE~zpy~EbSaVx8~FG`SFrloDK^0Ll6y6#98HW>oM`j0s5*(%i&gF^}bPM6#) zs-0cjPz=nBxbDCn|2DQWRPzqmM6QZnEK#n_v_TwPgk z+w{Qe2UKE9GC{Tzaaam&-r$VtknM`oaEC39M8ZK*>tuH_}-<*Jv$6Vha_VvTNVvq!%QtsKf&(Q{ zu=^2MysIj;n0>W3nJ)RdkXTeXa-D4j`vJIS=h)&|Uk(=vKEghP#p1oM+1y~$j!9+h z(wy%vS_MzI{hwSZ}L6d=`fm-I>C zQ4u~PUMzzqsTOn7MJRn#ryIL^mpLY>!wr&z;#$ItPlTT-)KgV4%QFW7mC$w(RblC$Q*j6n00JC4`VW=(iK9ip#V>YN3(g*Pg-mnI(&z_&hhBxTFvZkeJzI;NkN>f7&_=W{7>M)abA7M_%c_2*B;+ zIaWWr*{)!=j>M$ItxP;#nh8VwUMHQBt?jr%P$izQ6tdp~X1;0Nq#W6p->Aibi)l^c zDuH1so7UpL+k;LNgA1iyKRTY_kgdop?<1ra+jGwf+>nPjqHSmC$ysi~RA^{AGl(FH z_;v_TX{^!jK%(tzKX((E`}X5eS2RExe0eFmlnuLhUw)nRst-zKf8Kg!R=obb73RRZ zinM!CQp8$WNMo(c30z<8QUzS>cGd{Tf!nbQbl56$D1wk{38tEWBazTlm8|p*KzzUy zk-vuy?|0Uwbx~2{hY1K?SjFkl-UGlQ4N?c4A{vB!O!{GZuz8MI# z50$5CZ%Q70lP5@8r0hUvX5Zi6gF8}s=w?<4;7&=QZpq$fY=j~_*l@U-jdw>9&1-M! zQ$}ZtT5KAKXMFL!L+z75neq$pfYxJ&_U_E8hve?oho*9UsU!mRhsq(^%03eqQiNqa zz~FbR0Ib>B7r)2#9i?LLS&r0`k=p7Fcqo@qN6)K}ftH&&oDBF>F7P4u@2@T$2M5Q)RQ-4)2 z4QRB^P8FSg#I66ub?nd|<{Z&RL-B}kDr9VMI~`uO4Phl*OS>E6FN3xtRWFlt+)hyG zJ8vD@3gczf(|6H(%*=N8P%ytYxm`J;+of3e+P)Uq4Je8wC>FXh;;$&(m#*!kzyocl zq+^QtHrAxLbwgUI00v|X(NgMZL+Jr*$%ttRveiHNP?clgzkvIBykUc2}5+D1r{uJ zq+4BNUnW6dbA-RE9J`Q7%3nJ8&k^e2!}OswMVqPhde;(58R5SzD;+ZTrxC)wl<4}~ zyaCa@h1->!>`T8v;bhv7fa7+MWGwatbJRks&5api^YTl?auKA|7e892lC(?_jl~qu z084e)CUH$+v|$K!t`d6D4dIX01>Tz*nU3H{v^;P#EqJ#uaJ1BqG@9v1MC?#~$p#bX z;D2eg5qf&8joH-=Q~$Q@u8dduCi4a@9hTtK*xfr0>L1JD-iKzQ{s&&-R=)Xt;Vy3` zpTKC{N{1r^lt67L)QWq^`}G#^D-Z1MG}_eH#1U7$V@LUUfWJSsZZ66bRECMA9W&@t z2+(=|R%I)&+f+HCP(RL59Ww(n)sO$(ux+U{8l=^(dL9w+0Aa-j-^?qh!noO=CXxcl zhDKPSAF#iT2i?E|R~;busxBag{ZrxBh;Z}WTt+OMOV%PMMIuiuLYa-G*q*Q>Z=P+j zg`yp5XfGo;kwh=L^jeB?U1x^|nD-Y{EBY%_xf0G=695D5YV7=R-}&c(C3 zPtJrT3qNPbOLs4GFjmJwn@jgWt6zw!k&NAV0oQbNXWIQOO9KNMm6aNuamodYk*f>y z(~65-#MZ3)XW3P2fGS&B_{RK<^2zS^qK@BT$aX}Ux#{%trHY+u-wu&5x`?U{k1ZLN zM(*URkKol?X&4)j`;-Zh!=ty{;~cx)ao?%{nySTw*3YcV`k7J~sQU z_U3h)TG|8IHc%1_1`UYOIV5x+6>)MqYWp|;ux7Q}s#4&oXpPTvt8;Dtn|-vsE1Jdx zHt}q7(vPIt*#)yP;7%L@l)ByvC8AHT=LwNW!%^7}Uvjcyk<(lF$u_B{&N5Y0`;XyJ{xeCTCt zwHpx|ZkB0Hd%?CmivVqz71pk`7qu#XZAe?2TCJlG$K%1HhDpnKGY$<)O*{_<&k?Fg z!mGVs`$}9}SW9M`ia$fmzp7?7Y)b=EA`MRfP;EP<8i9p?U)d%>+nJmjvSwD}h;>5a zNMD1jWy4}5ac%lp*B21-^DJHc-w~zMG;!_b$OIPw=sOwFFslEZdUfL0Da^x&QFATt zOj8l<@+e-bD6Sx26Yu^`?)~K8beplkv-BgS7%=`YCpu<$1o4lbkF(7(wXEPjXT zO1CyNw&_^J;5Jnw?|bqxZprn(cJs5+kJt-8)QXwQt|P@S&aizUNaWny@~^qJN|th? zy~w)hSTGp?X!db@(gQ}ACbk%Z2Q$$pikq@*R!)LJhdHzxBpwz3F0dQ-_f;XubAV9R zZUDRgvV#YXzTZsQ70$twsi-H1HeVMpe30Q_RgDL7=tF?4NPOiUS;>&Z4u{kW& zmjH&0#spwGb9R`dzQ0dM)|MN>lSt6Rqg)c5T1q`J)Tmrt(pxOBX01(c#1g6*)F!0d zolRQ5P>cnxKw|}9=Ds17xZOR9zO>WBtt?OqNcGzbBq+QtD}9~(c`JiMW1^{&9nYkt zO~}hZv7vwHRsy=%)}MT4WfrWBI{$YWHQk@~fpg!<2mM==Ywh71ZPwk`qU$z4EOliz z;LBm3@(%4Rj-V1~gW%&gl22_uVwua&?2%?vZ~Lq}41pL89)gV-k`}yKNyc+x2auejTN;)EPPNjkCE7~^q`9Fss!0sDoC(jg*rO}B)_h{Hu zBu7p>4#ty`0|e<93ZNV23IZAL#_vPzMuel~s5AIh%_wNGHvs|OE#W${*-$1FEdrzX zu!2ee67*eN`Yt$Df#^+0T25I`vCJ@~+#AKaMj9Srvx%8DHx?J#5{4Dy`e;?H_Ac)3 zmJZudJO!8W+!)xS1mnCj{}4csHIp8dayt~{)XbN!NGqC;ev z#IThJlR-*A2~b)LiV{Ks2v0*;TD^j})rHmoK`u*02r-e7O%N2lA`rw&to1^@$YQ7< z1VaG@3cuD85DA-F*_B0>{N`rRKBJviwjSpvor7cls!kBWS9kHu36;J|ph6ei{6mo@8i z$fiFXNn2hS?L4yatTqm``r1b93$dRLtt+vDGxohdOA5qB(4I4USVS-~b#7k~L)ZX3`w zSTS%omPSsuR{qawX-i9cm+<8fW9**n$HAharJ2Z6MG9600!SDoxY*S4TC3*eiSq;M zXM>y0*dm9<9LkIeC1Q8rnikfgz*LA>w|2OLxBZ%}%9cxf+?2ZfaYnbkYLlAm*{+uy z>Ig%!fQ;RD#0N1hb-s#-rO3~+I&LLVFrU<|GCVP$v#S##!#H@L0YC%9O>sSxr3$qw zO1jEw$p^GBS8m48zM0hnh$Ldg#XyL(GpOa+X^to#VdoJk!2}O8Lo~0Io6algCszu6 zR=%bYi5N=YQ--yDfDE(4157hiPF`XUo2VWI87 zcuq|=+Z7c!!Ech9TN(|+nk8ishjzPL1V?Szc2jg}vF{?1TgzJPJ8|U6g&-?gQLO|T zC=>%G?!YNpuB9+hKJaq0ZObNVP#gK_CP)O<b7hwB$C?c_fZ%{tY1#! zW85P}HoDcIrp8x^`pIA9!X7_!&xW3!@QvbPJ5{$}4wgj%TZ6ObPv!e;_%l%MtD4>~ z>WZxV=00yGr;FLZQwD4xg|!cz;y?n4`?uk?GO@_t=>)x6Ss})dxtld2so0qMkSz1O z92Nm;Q73%{(s45Vpz%264vd)pvoMDg%rUHRXVU%TD9q@+(__hX;oe(++my2Wu3I-T z^y@Dd2W%M@m@Ukav9h}X8FaQUUoUyo9|5^ktm8>)%J}-~QnZ_7w5#29x7!O0QuWPJ z7qs726AmZ*d2CxQRttclv;z8Sr}?nEn|y_^SJaPY&sl ztzwAh;aLy9>vGvOtt6g(WYvNfgW(ISB}|3?W>Y_rirj7oG?t+)(LKzm7Rc0(bvC^5 zUY;%cM|{{yRu6X7Pes2@TT3Lg7Ptar$DrND{i7d0e*CjEbs2YuiJYMy7trQ!a+ARE zDR+{z?N+_2sT|h*tCie>>TEsAVKQK#h&5K|U9%^av$4Q4VgaLw#3(7RXTS_V*v?~D z@UTkOfS&0Yvi}1kD!tHN?qqB*=D=nWDFg}Oo!&zwZQd6*n)rvYU%G^2Jg#7&dAo?2 zK-^!4VP{%$L1*fxIj^RTTe$h;$$|lFASbgPcPC}&^yRoOt}ntq7%yG^nv1ypp1QU& zw{gEJ#%ke2BI=#;clyIq0VgDYzDE zF15+aEXEm+09b#1z?qVZx4hO%Ho7L0;kEJMwEqfT2rFih?|dcw4LR?Ba1%?8vD^Tm zuaf8DND&!;W=>Za#&e6&wINIqb>PHBKmzl)p3#5YvB)f8B`l?`PTXHwU_?v&goE~sqZ;q-kMfTE*`U^8fn-X>bx~ep_9Zpt4$szH+jA@&+ z|K&TZFONFg*hIWXGa^V|&YlujpK}9$UPd{oTWt-kkRVC5TtzltIZR|Bc{GCXbyt!@ zNg*43#ie!FNPB$Q(ED|AT`w7eFO%}R$NsCA{8Nq(ru{Fzy%YkMN4MswK8PqEXD}S+ zzijP`W=E*V4VXUJ5iUv!Il4n|%o{;(NSnK(Ue+?8+8-i!>L~}&ox&&{IXPvW7&;cX=`rC z3!I8M1&-ZFwzOW__9~kzt+NC=5!Rux>;_zwniX&2x(Eo5v{gz zvcDE6X0!3TzVgB6F!xr(*cWKrztZy#q*L1^ZV>}5+HVxCyU0YoRc`D4ZHo&>($+sr zOxj$Us<9IMqD--a33S9>pEJ(n)8{#S$3&4qL;Fn0zSOtRO=8r+-mxme&5RRaDh8j} z1qCRJ-K9pe{r`bYr{YK!4r;O}%yXj5C^=v4+HGU4sjO5xUkOrnwYIh{d0o)`TWxJ^ zoqNnua$#fnPZNCBtg6&=tM$-1qGbZ zGrOoEbg(#IInMtpFNTycYyh6c8etNi0@y(HC&oD*4Y#pAzP}W}Q}OttCo6v4>x2M62oiT$4CNh#xfa0pD*^mms0->8 zh)7W$cdv_%GiCg?|k8(jNE~-FMFP4F_mB@X3NM0UdSUj zK7LDc4fT6dHJ>DHR<{gkGD zKe=~M%RktEGq_^NJwuBULS7SjoC--i|FbA7p-bF5Ztu{gOoe`ch@z0yIt}9Q_tieA z4f;``x_3tZF3SA<5~F>8Ik!x-EH$qH(z8DREJ{t>h?y$*cF^@rV7~N%+n;(k=cMJnJ!Fy`ObKb zs0&i%%Z~7DiXvUr^@U>luZYFb&-m*NS^8`?H0vQ;4G55vs4{OW)MZ9c zUkt0XJXq4MqjGSz))Kz?*>`$-MCGois0aL420>|c#F3!1AWRJROcV5$M!?wH= zgd1-$cA>9z(Q>7J&c4wSm^mc{I{6OE$`-B9yXHlpfll{ zP?c*1O9+}Oy0TZ3TFHM2FN!KAA0TZ0h{3<7%K!Ky`YzyfN4MB*3pm;v*hMeS$&7As<4=>)m@PNNY!^YKHj(l|t~wx_bIdD<7`u;D<4zR?5x}(sJTs3E9CP&90TKkNc;&>x&|+?WJ(XaJ^jtQ-159z~m23k$cH}n^oP3r6 zM2Eq+V6xpT7_a56ZL`Y*xZ4OPeVBB6f?UilEJ#_IT6bPssZ3NmWd;sCuC}V;C|Cwk zPGbmPRGH$Y-^PQ8E%{ZdFWgo(VwSy5d+$XF6Xkv z*~S3MAy~&ei>|Bf`-8bJ?bCeyInS;an#AF~_y(9=TPf1@HEr}I#>7rojLXV^-KdL+ zTaZnuNmfX$)t#|y`wBfG%1^f)291?g=dwxG=cdzbSj#08N}JS zZ0czHJv~|TR+VA7TjaaNwY8N|{MM>7#%7<_H53ML;K1=2@Bi(D1wSO~C|qSIh;#sn z58LlUd3*k`9f}>3bsYHJiFvM`Aeys~^Z3C?<-px>X0d^m?@%~QbUpceHb<2mF~G|4j~J-6@S`(1xI;-#LY(z0 z!``^>W0Yc6jdvp>Y%I*Oh#4*y5I)7|%8SGD%mG5A-e!x_zSSkAO)0n&ZR_fh;k325 zt@qdpdNaP(=8yNzf&G#QtqeayFeRxW3xSi#3?~R9;o;dN!ju_{#Atz3hYw0`yF2m$ zN2))AKtYPMJhA_vEX0c8lo*!}fYf7kSZuxjVB7tZEQ1;baE)Q^(Y7CYO2!I+V5G|N z5`NNA3;I|chg0lwd$$z!HBZgeHKk}X(l)FWMq9qGV?81Z28mEj504V~Pc+&6IsP^MhzxKo{~bt|MAYPj3hnv5ag*))Mg76d} zPP;GKUoR+Quko2y6n_`exvnm{5b{V zfpE>7ER@>{S;khqGHCaRr>9{Lv$s|@qQ`?P&1iPO^-#7s_)|`SZo|2lS{SnlXcQwa zUeiwW@B3d))!X%$ru9!7oy@>=2KhA+`VNdLx{;yZK}rsW2#$$y=CCu$=VZ+XD4MsT zqIqtaKUY~N@arcVK-<|nzQ2>ha+pt}&wah6{XSP;+izfjL2v^|FA+!Tl><(3BnT!% z<@3mxo+-?5f&47wcCX?$0s-buh5*3(9~Kg;1@Yxg zt@n~l&5v15qaZql0_XzLk0y$)b|w+fib>peM>&(0w5vq#TcZXkRzV&7}@?#;nsRmqbYL6&1{o&8+9f}5}qOg631km57uZVy8O3SNsPv? ziAkz^5Hu=ln<)%s*xT`K(YPq@@`T=A%VcuX-!*kk7Apb&YvOL1RRH76?H)3L6Q;5& z6Yz12Z?>~CQ;?1YQrq{-k3#@RxyGh5pNivx9bR&tT!xQ>nOOj*D_a}^7)nIhVk5$% zA5&9wrB}SxM}lTDISEqVa@8l3i(*+0ucI*6!l1O3loVa% z43+LXX+h^G>ZQfByJtLzw&q0gn>GNSTWUY>E=l`h&n$TEedTF~>56Cqx*D&UT3miR zy5Q;A^?uYkZTU}|qMIjt8ww7ToZ1w>sbrs5R?jA&%|YEmCgJ^VrJZ{_&NH7wI~3P&`nt+ytL28wDU_>$7BK|>@Y)6eqQ>DW1%kLG0J zXnD_cIotlrvHLmZLI|`<*KI85mFP7vh8c(|doA3Ke7=>fjQq|Fiz$Z4ROniE^8JnfRrTEpE#z4RJ$~r z6l{T1>{ASINo^vogpt?z#ihjC?DWOA3sq^q;*5Jx%ofhOTJNG9B{4G;5?xgS9?#ny z9_#I+Wmq|D%Mk?0E#BmL0Z*z~PP-G=BBn3_MJsOp5tenK<_UG_t&KCB}r( zo5>9C&SLXYw!(2F?HG#!i{4IXGUR1H>jkr$x4wpej=mThuO}-jYD=ToQ}GBgKoZbn zPrZC2EgSS0l(BE2Es`4LYnYV_JKhDJ-x8IU#$*-s97+kkH&jxJBi*-iZ)^9&Y|J`) zIpXo>;><=Umgc(G8qatgY(+9drFkf-fNDg+ev#W51o~CCe_7j#4B&*iI8j2OSMlY(ZkO8fOm{wENj`Nnm84WR00V_>9LQA1WvL0 zSdEFeUi;0g* z#Llsqb{f>v za>l5MWSHz+NHkEvx5?(v5jdQJt4A31YbPPdojP*bo+hTTF}Wfv2oEM}$2wa^qN{K`lpS zVe0W5L4Yf`w?@ixrOhka39WcHfKU1$aW^yQ1A0Qs=`mUSiI>lUD<}2-+G;DY4k4kgHHTb zS{%lg&tIWk3-yP%*c(>Z6H7T~I@3MUKf=(0&fjluadcaLR`bGW-@@FwCPN>s&^U#W z0ALKC(~NWE`?l?%M|KIkAIZtMw5Y7?B;=~Cd0I`3i)vW5NwX$o6vR<*fWzUcM5k1i z&@8?~`zE_f_ch|eiqg`0P^Pezn#z%ZX|1O}i(=TBg?Ap{04W2I@f_ja>-jNMLc^PE zFu2nWd1-W;Ouk$@H1Isb5(ize41obi!tV>m(y&lfR62(rN6J=u$nJ@*X4B&iNOx1(); - std::string binaryFile = "xf_stereo_pipeline.awsxclbin"; + std::string binaryFile = (xcl::is_emulation() || xcl::is_hw_emulation ()) ? "xf_stereo_pipeline.xclbin" : "xf_stereo_pipeline.awsxclbin"; std::cout << "========" << binaryFile << " ==================" << std::endl; From c019ab8aa50cfad4ea665119362433338ef89260 Mon Sep 17 00:00:00 2001 From: Serge Date: Tue, 15 May 2018 01:35:28 +0300 Subject: [PATCH 44/73] Update stereopipeline, remode default values from template due to compilation issues --- aws_demo/stereopipeline/hw/run/run.sh | 2 +- aws_demo/stereopipeline/hw_emu/run/run.sh | 5 +++++ aws_demo/stereopipeline/hw_emu/run/sdaccel.ini | 5 +++++ aws_demo/stereopipeline/makefile | 2 ++ aws_demo/stereopipeline/sw_emu/run.sh | 5 +++++ aws_demo/stereopipeline/sw_emu/sdaccel.ini | 5 +++++ include/imgproc/xf_gaussian_filter.hpp | 2 +- include/imgproc/xf_remap.hpp | 6 ++---- include/imgproc/xf_stereoBM.hpp | 2 -- 9 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 aws_demo/stereopipeline/hw_emu/run/run.sh create mode 100644 aws_demo/stereopipeline/hw_emu/run/sdaccel.ini create mode 100644 aws_demo/stereopipeline/sw_emu/run.sh create mode 100644 aws_demo/stereopipeline/sw_emu/sdaccel.ini diff --git a/aws_demo/stereopipeline/hw/run/run.sh b/aws_demo/stereopipeline/hw/run/run.sh index 9c32ecd..08c6dc4 100644 --- a/aws_demo/stereopipeline/hw/run/run.sh +++ b/aws_demo/stereopipeline/hw/run/run.sh @@ -2,4 +2,4 @@ source /opt/Xilinx/SDx/2017.1.rte.4ddr/setup.sh -./stereo_pipeline_test ../../im0.jpg +./stereo_pipeline_test ../../left.png ../../right.png diff --git a/aws_demo/stereopipeline/hw_emu/run/run.sh b/aws_demo/stereopipeline/hw_emu/run/run.sh new file mode 100644 index 0000000..277ae3d --- /dev/null +++ b/aws_demo/stereopipeline/hw_emu/run/run.sh @@ -0,0 +1,5 @@ +emconfigutil -f $AWS_PLATFORM + +export XCL_EMULATION_MODE=hw_emu + +./stereo_pipeline_test ../../left.png ../../right.png diff --git a/aws_demo/stereopipeline/hw_emu/run/sdaccel.ini b/aws_demo/stereopipeline/hw_emu/run/sdaccel.ini new file mode 100644 index 0000000..63a1cac --- /dev/null +++ b/aws_demo/stereopipeline/hw_emu/run/sdaccel.ini @@ -0,0 +1,5 @@ +[Debug] +timeline_trace=true +device_profile=true +app_debug=true +profile=true diff --git a/aws_demo/stereopipeline/makefile b/aws_demo/stereopipeline/makefile index 4f7a34a..447c2d0 100644 --- a/aws_demo/stereopipeline/makefile +++ b/aws_demo/stereopipeline/makefile @@ -1,3 +1,5 @@ +include ../common_makefile + ######################################## # # # Host section # diff --git a/aws_demo/stereopipeline/sw_emu/run.sh b/aws_demo/stereopipeline/sw_emu/run.sh new file mode 100644 index 0000000..c397547 --- /dev/null +++ b/aws_demo/stereopipeline/sw_emu/run.sh @@ -0,0 +1,5 @@ +emconfigutil -f $AWS_PLATFORM + +export XCL_EMULATION_MODE=sw_emu + +./stereo_pipeline_test ../../left.png ../../right.png \ No newline at end of file diff --git a/aws_demo/stereopipeline/sw_emu/sdaccel.ini b/aws_demo/stereopipeline/sw_emu/sdaccel.ini new file mode 100644 index 0000000..63a1cac --- /dev/null +++ b/aws_demo/stereopipeline/sw_emu/sdaccel.ini @@ -0,0 +1,5 @@ +[Debug] +timeline_trace=true +device_profile=true +app_debug=true +profile=true diff --git a/include/imgproc/xf_gaussian_filter.hpp b/include/imgproc/xf_gaussian_filter.hpp index b9c0545..242ce0c 100644 --- a/include/imgproc/xf_gaussian_filter.hpp +++ b/include/imgproc/xf_gaussian_filter.hpp @@ -1138,7 +1138,7 @@ void xFGaussianFilter(hls::stream< XF_SNAME(WORDWIDTH)> &_src, hls::stream< XF_S #pragma SDS data access_pattern("_dst.data":SEQUENTIAL) #pragma SDS data copy("_dst.data"[0:"_dst.size"]) -template +template void GaussianBlur(xf::Mat &_src, xf::Mat &_dst, float sigma) { #pragma HLS inline off diff --git a/include/imgproc/xf_remap.hpp b/include/imgproc/xf_remap.hpp index 125f6f6..40e53cd 100644 --- a/include/imgproc/xf_remap.hpp +++ b/include/imgproc/xf_remap.hpp @@ -137,7 +137,7 @@ void xFRemapLI( ) { // Add one to always get zero for boundary interpolation. Maybe need initialization here? - DST_T buf[WIN_ROW/2+1][2][COLS/2+1][2]; //AK,ZoTech: static added for initialization, otherwise X are generated in co-sim. + DST_T buf[WIN_ROW/2+1][2][COLS/2+1][2]; #pragma HLS array_partition complete variable=buf dim=2 #pragma HLS array_partition complete variable=buf dim=4 SRC_T s; @@ -344,10 +344,8 @@ void xFRemapKernel( #pragma SDS data access_pattern("_src_mat.data":SEQUENTIAL,"_remapped_mat.data":SEQUENTIAL,"_mapx_mat.data":SEQUENTIAL,"_mapy_mat.data":SEQUENTIAL) #pragma SDS data copy("_src_mat.data"[0:"_src_mat.rows*_src_mat.cols"], "_remapped_mat.data"[0:"_remapped_mat.size"],"_mapx_mat.data"[0:"_mapx_mat.size"],"_mapy_mat.data"[0:"_mapy_mat.size"]) -//#NO template - template -void remap (xf::Mat &_src_mat, xf::Mat &_remapped_mat, xf::Mat &_mapx_mat, xf::Mat &_mapy_mat) +void remap(xf::Mat &_src_mat, xf::Mat &_remapped_mat, xf::Mat &_mapx_mat, xf::Mat &_mapy_mat) { #pragma HLS inline off #pragma HLS dataflow diff --git a/include/imgproc/xf_stereoBM.hpp b/include/imgproc/xf_stereoBM.hpp index 91b1f9d..b705546 100644 --- a/include/imgproc/xf_stereoBM.hpp +++ b/include/imgproc/xf_stereoBM.hpp @@ -732,8 +732,6 @@ void xFFindStereoCorrespondenceLBM(XF_TNAME(SRC_T,NPC) *left_ptr, #pragma SDS data copy("_right_mat.data"[0:"_right_mat.size"]) #pragma SDS data copy("_disp_mat.data"[0:"_disp_mat.size"]) -//#NO template - template void StereoBM(xf::Mat &_left_mat, xf::Mat &_right_mat, From 668b7f056f6e741487386a975737cecbe265d21e Mon Sep 17 00:00:00 2001 From: Serge Date: Tue, 15 May 2018 01:57:43 +0300 Subject: [PATCH 45/73] Move "include" of common_makefile to right place --- aws_demo/gaussianfilter/makefile | 6 ++++-- aws_demo/stereopipeline/makefile | 7 +++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/aws_demo/gaussianfilter/makefile b/aws_demo/gaussianfilter/makefile index 2b68d37..197940d 100644 --- a/aws_demo/gaussianfilter/makefile +++ b/aws_demo/gaussianfilter/makefile @@ -1,5 +1,3 @@ -include ../common_makefile - ######################################## # # # Host section # @@ -23,5 +21,9 @@ HOST_XF_SRC += KERNEL = xf_gaussian_filter +######################################## + +include ../common_makefile + diff --git a/aws_demo/stereopipeline/makefile b/aws_demo/stereopipeline/makefile index 447c2d0..61b13b9 100644 --- a/aws_demo/stereopipeline/makefile +++ b/aws_demo/stereopipeline/makefile @@ -1,11 +1,11 @@ -include ../common_makefile - ######################################## # # # Host section # # # ######################################## +TEST_NAME = stereo_pipeline_test + HOST_AWS_SRC += xf_stereo_pipeline_accel_aws HOST_AWS_SRC += xf_stereo_pipeline_tb @@ -19,3 +19,6 @@ HOST_SDx_SRC += xcl2 KERNEL = xf_stereo_pipeline +######################################## + +include ../common_makefile From fca91ef609fbf505e8da5f3e3b3b3c67e5f28b3b Mon Sep 17 00:00:00 2001 From: Serge Date: Tue, 15 May 2018 02:08:54 +0300 Subject: [PATCH 46/73] update gitignore --- .gitignore | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..11f61b3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/**/ide/**/*.*sdf +/**/ide/**/*.tss +/**/ide/**/*.suo +/**/ide/**/Debug +/**/ide/**/Release From 4075d6f1ce3717cea5354faed4bad8d733c0738d Mon Sep 17 00:00:00 2001 From: Serge Date: Tue, 15 May 2018 08:35:56 +0300 Subject: [PATCH 47/73] Move run scripts to appropriate folder --- aws_demo/gaussianfilter/hw_emu/{ => run}/run.sh | 0 aws_demo/gaussianfilter/hw_emu/{ => run}/sdaccel.ini | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename aws_demo/gaussianfilter/hw_emu/{ => run}/run.sh (100%) rename aws_demo/gaussianfilter/hw_emu/{ => run}/sdaccel.ini (100%) diff --git a/aws_demo/gaussianfilter/hw_emu/run.sh b/aws_demo/gaussianfilter/hw_emu/run/run.sh similarity index 100% rename from aws_demo/gaussianfilter/hw_emu/run.sh rename to aws_demo/gaussianfilter/hw_emu/run/run.sh diff --git a/aws_demo/gaussianfilter/hw_emu/sdaccel.ini b/aws_demo/gaussianfilter/hw_emu/run/sdaccel.ini similarity index 100% rename from aws_demo/gaussianfilter/hw_emu/sdaccel.ini rename to aws_demo/gaussianfilter/hw_emu/run/sdaccel.ini From bae522f797e4e064a2f07086fe2562a1472c45b8 Mon Sep 17 00:00:00 2001 From: Serge Date: Tue, 15 May 2018 09:58:32 +0300 Subject: [PATCH 48/73] Minor improvements --- aws_demo/common_makefile | 7 ++++--- aws_demo/gaussianfilter/hw_emu/run/run.sh | 2 +- aws_demo/gaussianfilter/sw_emu/run/run.sh | 2 +- .../xf_gaussian_filter_accel_aws.cpp | 6 ++++-- .../xf_gaussian_filter_kernel_aws.cpp | 15 +++------------ aws_demo/ide/vs/Gaussian_Filter.vcxproj | 1 + aws_demo/ide/vs/Gaussian_Filter.vcxproj.filters | 1 + 7 files changed, 15 insertions(+), 19 deletions(-) diff --git a/aws_demo/common_makefile b/aws_demo/common_makefile index 2e75fe4..e9630fb 100644 --- a/aws_demo/common_makefile +++ b/aws_demo/common_makefile @@ -115,8 +115,8 @@ KERNEL_BLD_DIR = $(TARGET)/build/kernel ifeq "$(TARGET)" "hw" KERNEL_RUN_DIR = $(TARGET)/afi -else - KERNEL_RUN_DIR = $(TARGET)/run +else + KERNEL_RUN_DIR = $(TARGET)/run XOCC_OPTS += -g endif @@ -143,7 +143,8 @@ krnl: $(KERNEL_BIN) clean: $(RMDIR) $(BUILD_SUBDIRS) $(RMDIR) .Xil - $(RM) $(HOST_RUN_DIR)/*.jpg $(HOST_RUN_DIR)/*.png *.log *.csv *.html + $(RMDIR) $(HOST_RUN_DIR)/TempConfig + $(RM) $(HOST_RUN_DIR)/*.jpg $(HOST_RUN_DIR)/*.png $(HOST_RUN_DIR)/*.log $(HOST_RUN_DIR)/*.csv $(HOST_RUN_DIR)/*.html $(RM) $(KERNEL_BIN) $(RM) $(HOST_EXE) $(RM) $(HOST_EXE)/*.*xclbin diff --git a/aws_demo/gaussianfilter/hw_emu/run/run.sh b/aws_demo/gaussianfilter/hw_emu/run/run.sh index acc0309..e8dad87 100644 --- a/aws_demo/gaussianfilter/hw_emu/run/run.sh +++ b/aws_demo/gaussianfilter/hw_emu/run/run.sh @@ -2,4 +2,4 @@ emconfigutil -f $AWS_PLATFORM export XCL_EMULATION_MODE=hw_emu -./gaussian_filter_test ../../img0.jpg +./gaussian_filter_test ../../im0.jpg diff --git a/aws_demo/gaussianfilter/sw_emu/run/run.sh b/aws_demo/gaussianfilter/sw_emu/run/run.sh index 4593b10..35d1bd4 100644 --- a/aws_demo/gaussianfilter/sw_emu/run/run.sh +++ b/aws_demo/gaussianfilter/sw_emu/run/run.sh @@ -2,4 +2,4 @@ emconfigutil -f $AWS_PLATFORM export XCL_EMULATION_MODE=sw_emu -./gaussian_filter_test ../../img0.jpg +./gaussian_filter_test ../../im0.jpg diff --git a/aws_demo/gaussianfilter/xf_gaussian_filter_accel_aws.cpp b/aws_demo/gaussianfilter/xf_gaussian_filter_accel_aws.cpp index 511751d..9e427fc 100644 --- a/aws_demo/gaussianfilter/xf_gaussian_filter_accel_aws.cpp +++ b/aws_demo/gaussianfilter/xf_gaussian_filter_accel_aws.cpp @@ -6,6 +6,8 @@ #include "xf_gaussian_filter_config.h" +#define CL_MIGRATE_MEM_OBJECT_KERNEL 0 //OpenCL define constant to indicate memory object migration to host only, to make program more readable define "counterpart" constant + void gaussian_filter_accel(xf::Mat &img_inp, xf::Mat &img_out, float sigma) { std::vector devices = xcl::get_xil_devices(); @@ -19,7 +21,7 @@ void gaussian_filter_accel(xf::Mat &img_inp, std::string binaryFile = (xcl::is_emulation() || xcl::is_hw_emulation ()) ? "xf_gaussian_filter.xclbin" : "xf_gaussian_filter.awsxclbin"; - std::cout << "========" << binaryFile << " ==================" << std::endl; + std::cout << "======== " << binaryFile << " ========" << std::endl; cl::Program::Binaries bins = xcl::import_binary_file(binaryFile); devices.resize(1); @@ -36,7 +38,7 @@ void gaussian_filter_accel(xf::Mat &img_inp, //----------- Migrate input data to device global memory -----------// - q.enqueueMigrateMemObjects(writeBufVec,0); // 0 means from host + q.enqueueMigrateMemObjects(writeBufVec, CL_MIGRATE_MEM_OBJECT_KERNEL); auto krnl = cl::KernelFunctor(kernel); diff --git a/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp b/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp index f6cbaf1..e5c200e 100644 --- a/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp +++ b/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp @@ -41,25 +41,16 @@ void xf_gaussian_filter(XF_TNAME(XF_8UC1, NPC1) *img_inp, XF_TNAME(XF_8UC1, NPC1 const int pNPC1 = NPC1; - xf::Mat mi; - xf::Mat mf; + xf::Mat mi(rows_inp, cols_inp); + xf::Mat mf(rows_inp, cols_inp); #pragma HLS stream variable=mi.data depth=pCOLS_INP/pNPC1 #pragma HLS stream variable=mf.data depth=pCOLS_INP/pNPC1 - xf::Mat mo; + xf::Mat mo(rows_out, cols_out); #pragma HLS stream variable=mo.data depth=pCOLS_OUT/pNPC1 - mi.rows = rows_inp; - mi.cols = cols_inp; - - mf.rows = rows_inp; - mf.cols = cols_inp; - - mo.rows = rows_out; - mo.cols = cols_out; - /********************************************************/ for(int i=0; i < rows_inp; i++) diff --git a/aws_demo/ide/vs/Gaussian_Filter.vcxproj b/aws_demo/ide/vs/Gaussian_Filter.vcxproj index 8a8e3e4..274464e 100644 --- a/aws_demo/ide/vs/Gaussian_Filter.vcxproj +++ b/aws_demo/ide/vs/Gaussian_Filter.vcxproj @@ -11,6 +11,7 @@ + diff --git a/aws_demo/ide/vs/Gaussian_Filter.vcxproj.filters b/aws_demo/ide/vs/Gaussian_Filter.vcxproj.filters index eba1ae1..bc11928 100644 --- a/aws_demo/ide/vs/Gaussian_Filter.vcxproj.filters +++ b/aws_demo/ide/vs/Gaussian_Filter.vcxproj.filters @@ -7,6 +7,7 @@ + From 5b02b982f85eed669e72c853d11824d40a17a509 Mon Sep 17 00:00:00 2001 From: Serge Date: Wed, 16 May 2018 04:56:18 +0300 Subject: [PATCH 49/73] Seems found "solution" how to pass bm_state as kernel parameter - pass bm_state member as separate integers. To reduce number of kernel parameter only "flexible" parameter (which are not calculating from template) are passing. The XOCC flow can't work with structures/class as kernel parameter. Unfortunately if try to pass structure as array of simple type (char/int/etc) then impossible copy element of this array to members of the kernel local instantiation of structure - compilation passing, sw emulation passing, but hw emulation and FPGA run fail due to XOCC issue. --- .../xf_stereo_pipeline_accel_aws.cpp | 35 ++++- .../xf_stereo_pipeline_kernel_aws.cpp | 147 ++++++------------ 2 files changed, 78 insertions(+), 104 deletions(-) diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp b/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp index a956245..b938a4f 100644 --- a/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp @@ -6,6 +6,8 @@ #include "xf_stereo_pipeline_config.h" +typedef xf::xFSBMState xf_BMState; + #define CL_MIGRATE_MEM_OBJECT_KERNEL 0 //OpenCL define constant to indicate memory object migration to host only, to make program more readable define "counterpart" constant void stereo_pipeline_accel @@ -42,7 +44,7 @@ void stereo_pipeline_accel std::string binaryFile = (xcl::is_emulation() || xcl::is_hw_emulation ()) ? "xf_stereo_pipeline.xclbin" : "xf_stereo_pipeline.awsxclbin"; - std::cout << "========" << binaryFile << " ==================" << std::endl; + std::cout << "======== " << binaryFile << " ========" << std::endl; cl::Program::Binaries bins = xcl::import_binary_file(binaryFile); devices.resize(1); @@ -70,19 +72,38 @@ void stereo_pipeline_accel kernel_wr_buf.push_back(buffer_cm_l); kernel_wr_buf.push_back(buffer_cm_r); kernel_wr_buf.push_back(buffer_dc_l); kernel_wr_buf.push_back(buffer_dc_r); kernel_wr_buf.push_back(buffer_ir_l); kernel_wr_buf.push_back(buffer_ir_r); - + //----------- Migrate input data to device global memory -----------// q.enqueueMigrateMemObjects(kernel_wr_buf, CL_MIGRATE_MEM_OBJECT_KERNEL); // The kernel parameters should be rearranged: input buffers, output buffers, variables - // - // img_l img_r cm_l cm_r dc_l dc_r ir_l ir_r img_s cm_size dc_size rows cols - auto krnl = cl::KernelFunctor(kernel); + // + // img_l img_r cm_l cm_r dc_l dc_r ir_l ir_r img_s + auto krnl = cl::KernelFunctor(kernel); //----------- Launch the Kernel -----------// - - krnl(cl::EnqueueArgs(q, cl::NDRange(1,1,1), cl::NDRange(1,1,1)), buffer_l, buffer_r, buffer_cm_l, buffer_cm_r, buffer_dc_l, buffer_dc_r, buffer_ir_l, buffer_ir_r, buffer_s, cm_size, dc_size, rows, cols); + + krnl(cl::EnqueueArgs(q, cl::NDRange(1,1,1), cl::NDRange(1,1,1)), buffer_l, buffer_r, buffer_cm_l, buffer_cm_r, buffer_dc_l, buffer_dc_r, buffer_ir_l, buffer_ir_r, buffer_s, bm_state.preFilterType, + bm_state.preFilterCap, + bm_state.minDisparity, + bm_state.textureThreshold, + bm_state.uniquenessRatio, + + cm_size, + dc_size, + rows, + cols); //----------- Copy Result from Device Global Memory to Host Local Memory -----------// diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp b/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp index 0748e5e..ba1cb8c 100644 --- a/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_kernel_aws.cpp @@ -18,8 +18,6 @@ extern "C" XF_TNAME(XF_8UC1 , XF_NPPC1) *img_r, -// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_s , - // XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_l, // XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_l, @@ -35,6 +33,12 @@ extern "C" XF_TNAME(XF_16UC1 , XF_NPPC1) *img_s , + int preFilterType, + int preFilterCap, + int minDisparity, + int textureThreshold, + int uniquenessRatio, + int cm_size, int dc_size, @@ -48,13 +52,11 @@ void xf_stereo_pipeline( XF_TNAME(XF_8UC1 , XF_NPPC1) *img_r, -// XF_TNAME(XF_8UC1 , XF_NPPC1) *img_s, +// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_l, +// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_l, -// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_l, -// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_l, - -// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_r, -// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_r, +// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_x_r, +// XF_TNAME(XF_32FC1 , XF_NPPC1) *img_map_y_r, // XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_l, // XF_TNAME(XF_8UC1 , XF_NPPC1) *img_remapped_r, @@ -65,17 +67,22 @@ void xf_stereo_pipeline( XF_TNAME(XF_16UC1 , XF_NPPC1) *img_s, - int cm_size, int dc_size, + int preFilterType, + int preFilterCap, + int minDisparity, + int textureThreshold, + int uniquenessRatio, + + int cm_size, + int dc_size, int rows, int cols ) { - #pragma HLS INTERFACE m_axi port=img_l offset=slave bundle=gmem_0_l - #pragma HLS INTERFACE m_axi port=img_r offset=slave bundle=gmem_0_r + #pragma HLS INTERFACE m_axi port=img_l offset=slave bundle=gmem_i_l + #pragma HLS INTERFACE m_axi port=img_r offset=slave bundle=gmem_i_r -// #pragma HLS INTERFACE m_axi port=img_s offset=slave bundle=gmem - // #pragma HLS INTERFACE m_axi port=img_map_x_l offset=slave bundle=gmem_1 // #pragma HLS INTERFACE m_axi port=img_map_y_l offset=slave bundle=gmem_1 @@ -104,14 +111,12 @@ void xf_stereo_pipeline( #pragma HLS INTERFACE m_axi port=irA_l_fix offset=slave bundle=gmem_l #pragma HLS INTERFACE m_axi port=irA_r_fix offset=slave bundle=gmem_r -#pragma HLS INTERFACE m_axi port=img_s offset=slave bundle=gmem + #pragma HLS INTERFACE m_axi port=img_s offset=slave bundle=gmem_s #pragma HLS INTERFACE s_axilite port=img_l bundle=control #pragma HLS INTERFACE s_axilite port=img_r bundle=control -// #pragma HLS INTERFACE s_axilite port=img_s bundle=control - // #pragma HLS INTERFACE s_axilite port=img_map_x_l bundle=control // #pragma HLS INTERFACE s_axilite port=img_map_y_l bundle=control @@ -140,15 +145,22 @@ void xf_stereo_pipeline( #pragma HLS INTERFACE s_axilite port=irA_l_fix bundle=control #pragma HLS INTERFACE s_axilite port=irA_r_fix bundle=control -#pragma HLS INTERFACE s_axilite port=img_s bundle=control + #pragma HLS INTERFACE s_axilite port=img_s bundle=control - #pragma HLS INTERFACE s_axilite port=cm_size bundle=control - #pragma HLS INTERFACE s_axilite port=dc_size bundle=control - #pragma HLS INTERFACE s_axilite port=rows bundle=control - #pragma HLS INTERFACE s_axilite port=cols bundle=control + #pragma HLS INTERFACE s_axilite port=preFilterType bundle=control + #pragma HLS INTERFACE s_axilite port=preFilterCap bundle=control + #pragma HLS INTERFACE s_axilite port=minDisparity bundle=control + #pragma HLS INTERFACE s_axilite port=textureThreshold bundle=control + #pragma HLS INTERFACE s_axilite port=uniquenessRatio bundle=control - #pragma HLS INTERFACE s_axilite port=return bundle=control + #pragma HLS INTERFACE s_axilite port=cm_size bundle=control + #pragma HLS INTERFACE s_axilite port=dc_size bundle=control + + #pragma HLS INTERFACE s_axilite port=rows bundle=control + #pragma HLS INTERFACE s_axilite port=cols bundle=control + + #pragma HLS INTERFACE s_axilite port=return bundle=control #pragma HLS INLINE OFF @@ -160,61 +172,42 @@ void xf_stereo_pipeline( const int pNPC = XF_NPPC1; - - xf::Mat leftMat; - xf::Mat rightMat; + xf::Mat leftMat (rows, cols); + xf::Mat rightMat(rows, cols); #pragma HLS stream variable=leftMat.data depth=pCOLS/pNPC #pragma HLS stream variable=rightMat.data depth=pCOLS/pNPC - - xf::Mat dispMat; + xf::Mat dispMat(rows, cols); #pragma HLS stream variable=dispMat.data depth=pCOLS/pNPC - xf::Mat map_x_l; - xf::Mat map_y_l; + xf::Mat map_x_l(rows, cols); + xf::Mat map_y_l(rows, cols); #pragma HLS stream variable=map_x_l.data depth=pCOLS/pNPC #pragma HLS stream variable=map_y_l.data depth=pCOLS/pNPC - xf::Mat map_x_r; - xf::Mat map_y_r; + xf::Mat map_x_r(rows, cols); + xf::Mat map_y_r(rows, cols); #pragma HLS stream variable=map_x_r.data depth=pCOLS/pNPC #pragma HLS stream variable=map_y_r.data depth=pCOLS/pNPC - xf::Mat remapped_l; - xf::Mat remapped_r; + xf::Mat remapped_l(rows, cols); + xf::Mat remapped_r(rows, cols); #pragma HLS stream variable=remapped_l.data depth=pCOLS/pNPC #pragma HLS stream variable=remapped_r.data depth=pCOLS/pNPC - //=================================================// - xf::xFSBMState bm_state; -// ap_fixed<32,12> cameraMA_l_fix[XF_CAMERA_MATRIX_SIZE]; -// ap_fixed<32,12> cameraMA_r_fix[XF_CAMERA_MATRIX_SIZE]; - -// #pragma HLS stream variable=cameraMA_l_fix depth=2 -// #pragma HLS stream variable=cameraMA_r_fix depth=2 - -// ap_fixed<32,12> distC_l_fix[XF_DIST_COEFF_SIZE]; -// ap_fixed<32,12> distC_r_fix[XF_DIST_COEFF_SIZE]; - -// #pragma HLS stream variable=distC_l_fix depth=2 -// #pragma HLS stream variable=distC_r_fix depth=2 - -// ap_fixed<32,12> irA_l_fix[XF_CAMERA_MATRIX_SIZE]; -// ap_fixed<32,12> irA_r_fix[XF_CAMERA_MATRIX_SIZE]; - -// #pragma HLS stream variable=irA_l_fix depth=2 -// #pragma HLS stream variable=irA_r_fix depth=2 - - //================================================// - + bm_state.preFilterType = preFilterType ; + bm_state.preFilterCap = preFilterCap ; + bm_state.minDisparity = minDisparity ; + bm_state.textureThreshold = textureThreshold; + bm_state.uniquenessRatio = uniquenessRatio ; for(int i=0; i < rows; i++) { @@ -227,7 +220,7 @@ void xf_stereo_pipeline( #pragma HLS loop_flatten off *(leftMat .data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_l + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); - *(rightMat.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_r + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); + *(rightMat.data + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j) = *(img_r + i*(cols >> (XF_BITSHIFT(XF_NPPC1))) +j); } } @@ -245,7 +238,7 @@ void xf_stereo_pipeline( - xf::StereoBM ( remapped_l, remapped_r, dispMat, bm_state ); + xf::StereoBM ( remapped_l, remapped_r, dispMat, bm_state); @@ -276,43 +269,3 @@ void xf_stereo_pipeline( - - -// void xf_stereo_pipeline -// ( -// XF_TNAME(XF_8UC1 , XF_NPPC1) *leftMat , // xf::Mat &leftMat, -// -// XF_TNAME(XF_8UC1 , XF_NPPC1) *rightMat, // xf::Mat &rightMat, -// -// XF_TNAME(XF_8UC1 , XF_NPPC1) *dispMat , // xf::Mat &dispMat, -// -// XF_TNAME(XF_32FC1, XF_NPPC1) *mapxLMat, // xf::Mat &mapxLMat, out + internal stream -// -// XF_TNAME(XF_32FC1, XF_NPPC1) *mapyLMat, // xf::Mat &mapyLMat, out + internal stream -// -// XF_TNAME(XF_32FC1, XF_NPPC1) *mapxRMat, // xf::Mat &mapxRMat, out + internal stream -// -// XF_TNAME(XF_32FC1, XF_NPPC1) *mapyRMat, // xf::Mat &mapyRMat, out + internal stream -// -// XF_TNAME(XF_8UC1 , XF_NPPC1) *leftRemappedMat, // xf::Mat &leftRemappedMat, -// -// XF_TNAME(XF_8UC1 , XF_NPPC1) *rightRemappedMat, // xf::Mat &rightRemappedMat, -// -// xf::xFSBMState bm_state, -// -// ap_fixed<32,12> *cameraMA_l_fix, ap_fixed<32,12> *cameraMA_r_fix, -// ap_fixed<32,12> *distC_l_fix , ap_fixed<32,12> *distC_r_fix , -// ap_fixed<32,12> *irA_l_fix , ap_fixed<32,12> *irA_r_fix , -// -// int cm_size, int dc_size -// -// int rows, -// int cols -// ); - - - - - - - From 8dfb8132a49d09ef48701c385c950fbf689366b2 Mon Sep 17 00:00:00 2001 From: Serge Date: Thu, 17 May 2018 02:04:34 +0300 Subject: [PATCH 50/73] Exclude using non default constructor due to issues exist in HW emulation and FPGA (kernel suspend) --- .../xf_gaussian_filter_kernel_aws.cpp | 11 +++- .../xf_stereo_pipeline_accel_aws.cpp | 18 +++--- .../xf_stereo_pipeline_kernel_aws.cpp | 59 +++++++++++-------- 3 files changed, 52 insertions(+), 36 deletions(-) diff --git a/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp b/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp index e5c200e..b68e908 100644 --- a/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp +++ b/aws_demo/gaussianfilter/xf_gaussian_filter_kernel_aws.cpp @@ -41,16 +41,21 @@ void xf_gaussian_filter(XF_TNAME(XF_8UC1, NPC1) *img_inp, XF_TNAME(XF_8UC1, NPC1 const int pNPC1 = NPC1; - xf::Mat mi(rows_inp, cols_inp); - xf::Mat mf(rows_inp, cols_inp); + xf::Mat mi; + xf::Mat mf; #pragma HLS stream variable=mi.data depth=pCOLS_INP/pNPC1 #pragma HLS stream variable=mf.data depth=pCOLS_INP/pNPC1 - xf::Mat mo(rows_out, cols_out); + xf::Mat mo; #pragma HLS stream variable=mo.data depth=pCOLS_OUT/pNPC1 + mi.rows = rows_inp; mi.cols = cols_inp; + mf.rows = rows_inp; mi.cols = cols_inp; + + mo.rows = rows_out; mi.cols = cols_out; + /********************************************************/ for(int i=0; i < rows_inp; i++) diff --git a/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp b/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp index b938a4f..2c8a90f 100644 --- a/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp +++ b/aws_demo/stereopipeline/xf_stereo_pipeline_accel_aws.cpp @@ -80,11 +80,11 @@ void stereo_pipeline_accel // The kernel parameters should be rearranged: input buffers, output buffers, variables // // img_l img_r cm_l cm_r dc_l dc_r ir_l ir_r img_s - auto krnl = cl::KernelFunctor leftMat (rows, cols); - xf::Mat rightMat(rows, cols); + xf::Mat leftMat ; // don't use non default constructor xf::Mat<...> leftMat(rows, cols) - kernel will suspend on hw emulation and FPGA + xf::Mat rightMat; #pragma HLS stream variable=leftMat.data depth=pCOLS/pNPC #pragma HLS stream variable=rightMat.data depth=pCOLS/pNPC - xf::Mat dispMat(rows, cols); + xf::Mat dispMat; #pragma HLS stream variable=dispMat.data depth=pCOLS/pNPC - xf::Mat map_x_l(rows, cols); - xf::Mat map_y_l(rows, cols); + xf::Mat map_x_l; + xf::Mat map_y_l; #pragma HLS stream variable=map_x_l.data depth=pCOLS/pNPC #pragma HLS stream variable=map_y_l.data depth=pCOLS/pNPC - xf::Mat map_x_r(rows, cols); - xf::Mat map_y_r(rows, cols); + xf::Mat map_x_r; + xf::Mat map_y_r; #pragma HLS stream variable=map_x_r.data depth=pCOLS/pNPC #pragma HLS stream variable=map_y_r.data depth=pCOLS/pNPC - xf::Mat remapped_l(rows, cols); - xf::Mat remapped_r(rows, cols); + xf::Mat remapped_l; + xf::Mat remapped_r; #pragma HLS stream variable=remapped_l.data depth=pCOLS/pNPC #pragma HLS stream variable=remapped_r.data depth=pCOLS/pNPC xf::xFSBMState bm_state; + leftMat .rows = rows; leftMat .cols = cols; + rightMat.rows = rows; rightMat.cols = cols; + dispMat .rows = rows; dispMat .cols = cols; + map_x_l .rows = rows; map_x_l .cols = cols; + map_y_l .rows = rows; map_y_l .cols = cols; + map_x_r .rows = rows; map_x_r .cols = cols; + map_y_r .rows = rows; map_y_r .cols = cols; + + remapped_l.rows = rows; remapped_l.cols = cols; + remapped_r.rows = rows; remapped_r.cols = cols; + bm_state.preFilterType = preFilterType ; bm_state.preFilterCap = preFilterCap ; bm_state.minDisparity = minDisparity ; From 43493a6d14d9e74e3bee242c4989c82add10bd1a Mon Sep 17 00:00:00 2001 From: Serge Date: Thu, 17 May 2018 02:28:56 +0300 Subject: [PATCH 51/73] Restore original xf_params.h --- include/common/xf_params.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/common/xf_params.h b/include/common/xf_params.h index 89d2327..14e85bd 100644 --- a/include/common/xf_params.h +++ b/include/common/xf_params.h @@ -37,7 +37,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "ap_int.h" -// #define __ABS(X) ((X) < 0 ? (-(X)) : (X)) +#define __ABS(X) ((X) < 0 ? (-(X)) : (X)) //Channels of an image enum _channel_extract From f3f96727aa30b38ec6380f64bd45036c95a3f41f Mon Sep 17 00:00:00 2001 From: Serge Date: Thu, 17 May 2018 02:42:14 +0300 Subject: [PATCH 52/73] Fix minor issues --- aws_demo/gaussianfilter/im0.jpg | Bin 0 -> 1162339 bytes .../xf_gaussian_filter_kernel_aws.cpp | 4 ++-- .../stereopipeline/sw_emu/{ => run}/run.sh | 8 ++++---- .../sw_emu/{ => run}/sdaccel.ini | 0 4 files changed, 6 insertions(+), 6 deletions(-) create mode 100644 aws_demo/gaussianfilter/im0.jpg rename aws_demo/stereopipeline/sw_emu/{ => run}/run.sh (69%) rename aws_demo/stereopipeline/sw_emu/{ => run}/sdaccel.ini (100%) diff --git a/aws_demo/gaussianfilter/im0.jpg b/aws_demo/gaussianfilter/im0.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bce6d36ef90d0c63aeb5b5364973f532ba8c5a80 GIT binary patch literal 1162339 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 hnKVKKPMy#PCG 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