Presentation is loading. Please wait.

Presentation is loading. Please wait.

ChangE71 Mark L. Chang Northwestern University Evanston, IL Adaptive Computing in NASA Multi-Spectral Image Processing Scott A. Hauck.

Similar presentations


Presentation on theme: "ChangE71 Mark L. Chang Northwestern University Evanston, IL Adaptive Computing in NASA Multi-Spectral Image Processing Scott A. Hauck."— Presentation transcript:

1 ChangE71 Mark L. Chang Northwestern University Evanston, IL Adaptive Computing in NASA Multi-Spectral Image Processing Scott A. Hauck University of Washington Seattle, WA

2 ChangE72 Background (1991) Initiative by NASA to study Earth as an environmental system—Earth Science Enterprise (ESE) (1999) Launch of the first Earth Observation System (EOS) satellite, Terra

3 ChangE73 The Data Flow EOS divides telemetry processing into five levels with the following flow: ReceiverLevel 0 L1 L4L2 L3 Instrument 1 Instrument 2 Instrument 3 Instrument n

4 ChangE74 The Processing Problem I/O intensive Terra satellite generates ~918 Gbytes of data per day Current NASA-supported data holdings total ~125,000 Gbytes MODIS instrument accounts for over half the daily data and processing load MODIS Instrument

5 ChangE75 Why Adaptive Computing? Instrument dependent processing Data products involve many different algorithms Algorithms often change over the lifetime of the instrument RAM

6 ChangE76 MATCH Compiler Current mappings are done by hand Hardware description languages (Verilog, VHDL) C program interface to adaptive compute engine Requires low-level understanding of the architecture MATCH == MATlab Compiler for Heterogeneous computing systems MATLAB codes compiled to a configurable computing system automatically Embedded processors, DSPs, and FPGAs Performance goals Within a factor of 2-4 of the best manual approach Optimize performance under resource constraints

7 ChangE77 MATCH Compiler Framework Parse MATLAB programs into intermediate representation Build data and control dependence graph Identify scopes for fine-grain, medium grain, and coarse grain parallelism Map operations to multiple FPGAs, multiple embedded processors and multiple DSP processors Automatic parallelization, scheduling, and mapping

8 ChangE78 MATCH Testbed VME bus and chassis Motorola MVME-2604 embedded boards IBM PowerPC MB RAM OS-9 OS Ultra C compiler Transtech TDMB 428 DSP board Four TDM 411 cards containing TI TMS 320C4 DSP, 8 MB RAM TI C compiler Annapolis Wildchild board Nine XILINX 4010 FPGAs 2 MB RAM Wildfire software Development Environment: SUN Solaris 2, HP HPUX and Windows Ultra C/C++ for MVME TI C for TMS320 XILINX XACT for XILINX Force 5V MicroSPARC CPU 64 MB RAM

9 ChangE79 Motivation for MATCH NASA scientists prefer MATLAB High-level language, good for prototyping and development NASA applications are well-suited to the MATCH project Lots of image and signal processing applications Same domain as users of embedded systems High degree of data parallelism Small degree of task parallelism NASA has an interest in adaptive technologies (ASDP) Will be a benchmark for the MATCH compiler

10 ChangE710 Multi-spectral Image Classification Want to classify a multi-spectral image in order to make it more useful for analysis by humans Used to determine type of terrain being represented Similar to data compression Similar to clustering analysis Pixel[000][000] = Forest Pixel[123][123] = Urban Pixel[255][212] = Tundra Pixel[410][230] = Water etc…

11 ChangE711 Multi-Spectral Classification

12 ChangE712 MATLAB Iterative for p=1:rows*cols % load pixel to process pixel = data( (p-1)*bands+1:p*bands ); class_total = zeros(classes,1); class_sum = zeros(classes,1); % class loop for c=1:classes class_total(c) = 0; class_sum(c) = 0; % weight loop for w=1:bands:pattern_size(c)*bands-bands weight = class(c,w:w+bands-1); class_sum(c) = exp( -(k2(c)*sum( (pixel-weight').^2 ))) + class_sum(c); end class_total(c) = class_sum(c) * k1(c); end results(p) = find( class_total == max( class_total ) )-1; end

13 ChangE713 MATLAB Vectorized % reshape data weights = reshape(class',bands,pattern_size(1),classes); for p=1:rows*cols % load pixel to process pixel = data( (p-1)*bands+1:p*bands); % reshape pixel pixels = reshape(pixel(:,ones(1,patterns)), bands,pattern_size(1),classes); % do calculation vec_res = k1(1).*sum(exp( -(k2(1).*sum((weights-pixels).^2)) )); vec_ans = find(vec_res==max(vec_res))-1; results(p) = vec_ans; end

14 ChangE714 PE4PE3PE2PE1 PNN Controller Subtraction Unit Pixel Memory Weight Memory Square Unit Band Accumulator # of bands times K2 Mult Unit K2[K] Memory exp LUT Unit exp / K1[K] K1[K] Mem exp Mult Unit Class Accumulator # weights/class times K1 Mult Unit Class Compare PE0 Result Memory Initial FPGA Mapping 5%67%85%82%

15 ChangE715 Improving the Mapping Improve speed of PNN Utilize all eight processing elements Time-multiplex low-rate functions Vary precision of multipliers/lookups PE4PE3PE2PE1 PNN Controller Subtraction Unit Pixel Memory Weight Memory Square Unit Band Accumulator # of bands times K2 Mult Unit K2[K] Memory exp LUT Unit exp / K1[K] K1[K] Mem exp Mult Unit Class Accumulator # weights/class times K1 Mult Unit Class Compare PE0 Result Memory 1:1 1:4 1:20

16 ChangE716 Optimized Mapping PE0 Pixel Reader PE1 Subtract Square PE2 Subtract Square PE3 Subtract Square PE4 Subtract Square PE5 K2 Multiplier PE6 Exponent Lookup PE7 Class Accumulator PE7 K1 Multiplier Class Comparison 5% 75% 85%61%54%97%

17 ChangE717 Results Raw Image Data Processed Image Reference: HP C180 Workstation

18 ChangE718 Results (Cont’d) Reference: MATCH Testbed Force 5V MicroSPARC CPU 64 MB RAM

19 ChangE719 Results (Cont’d)

20 ChangE720 Conclusions NASA is interested in adaptive computing NASA has many candidate applications High processing loads and I/O requirements Applications are well-suited for acceleration using adaptive computing Scientists will want to write in MATLAB rather than C+VHDL Good benchmarks for the MATCH compiler Will help identify functions and procedures necessary for real-world applications


Download ppt "ChangE71 Mark L. Chang Northwestern University Evanston, IL Adaptive Computing in NASA Multi-Spectral Image Processing Scott A. Hauck."

Similar presentations


Ads by Google