Presentation is loading. Please wait.

Presentation is loading. Please wait.

SW Architecture Review Steven Anastos Jose De Jesus Sean Stevenson.

Similar presentations


Presentation on theme: "SW Architecture Review Steven Anastos Jose De Jesus Sean Stevenson."— Presentation transcript:

1 SW Architecture Review Steven Anastos Jose De Jesus Sean Stevenson

2 Enable Princeton Ocean Model Optimization Enable Princeton Ocean Model Optimization –Take pre-existing FORTRAN POM code and apply OpenMP embedding & arithmetic optimization thru CFD Compiler –Main Goal Decrease run time of FORTRAN POM code Decrease run time of FORTRAN POM code Produce error free FORTRAN code Produce error free FORTRAN code

3 Use Case Use Case 1) Developer edits a source file by hand to insert compiler pragma 2) Developer processes the source file with CFD compiler 3) Developer compiles the processed code with FORTRAN compiler

4 Advanced Optimization Pre-Processor Optimizer Compiler Output Generator Equation Tree OpenMP Tree Manipulator

5 Preprocessor Preprocessor –Includes Lexical and Parsing Sections Optimizer Optimizer –Inserting Into FORTRAN Coded Equation into Tree –Optimization Occurs in Tree Structure Formation –Embedding of OpenMP Syntax Output optimizer Output optimizer –Returns Optimized Tree Configuration

6

7 Princeton Ocean Model Software Standard C++ Libraries OpenMP Library Headers & Classes Compilers of Choice for Source Code Generation Languages Used for Development & Testing OS Used in Development

8 Autonomous testing implementation. Autonomous testing implementation. –Randomly creates equation test cases Requirements for Autonomous Testing Requirements for Autonomous Testing –Arithmetic Notation –Mixed operator Inclusion flux =.25e2 * ( D + I )* ( Y + B * A) Black Box Testing Black Box Testing - Using both randomly created tests cases and also Princeton Ocean Model examples

9 Regression Testing Regression Testing - Same test cases used for each version - Automated Test cases will be generated and kept to be used again on later versions Application Testing Application Testing - By using the POM we have real examples and equations to test our compiler on - Instead of just contrived examples POM as a whole will be used as well

10 Text Box 1. ORIGINAL FORTRAN CODE SEGMENT FROM TRIAL CODE flux =.25e2 * ( D + I )* ( Y + B * A) Text Box 2. COMPILER EMBEDDED SYNTAX !!!! CFD { [ VAR flux, =,.25e2, *, (, VAR D, +, ONE I, ), *, (, VAR Y, +, CONST B, *, CONST A, ) ] !!!! flux =.25e2 * ( D + I )* ( Y + B * A) !!!! } Text Box 3. COMPILER EMBEDDED OpenMP SYNTAX !!!! CFD { [ VAR flux, =,.25e2, *, (, VAR D, +, ONE I, ), *, (, VAR Y, +, CONST B, *, CONST A, ) ] !$OMP PARALLEL flux =.25e2 * ( D + I )* ( Y + B * A) !$OMP END PARALLEL !!!! }

11

12 Original Estimate: 2.4*(2.2)^1.05 = 5.5 staff months Original Estimate: 2.4*(2.2)^1.05 = 5.5 staff months 2200 estimated lines of code 2200 estimated lines of code We have ~900 lines of code two weeks before halfway point of semester We have ~900 lines of code two weeks before halfway point of semester

13 Simplification from transition from MPI to OpenMP. Simplification from transition from MPI to OpenMP. Removed several advanced optimization methods from the requirements Removed several advanced optimization methods from the requirements

14 Minimized Coupling and Increased Cohesion by splitting modules per job function. Minimized Coupling and Increased Cohesion by splitting modules per job function. Due to sequential processing our compiler has very low coupling Due to sequential processing our compiler has very low coupling

15


Download ppt "SW Architecture Review Steven Anastos Jose De Jesus Sean Stevenson."

Similar presentations


Ads by Google