user interfaces development in opendiel · timer – background group 1 x 5 group 2x 3 group 3x 2...
TRANSCRIPT
![Page 1: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/1.jpg)
UserInterfacesDevelopmentinopenDIEL
ArgensNg(HKU),TannerCurren (MaryvilleCollege)Mentor:Kwai Wong(UTK)
![Page 2: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/2.jpg)
OpenDIEL – Introduction
• OpenDistributiveInteroperableExecutableLibrary• UsesMPI(MessagePassingInterface)• Cooperationbetweenlooselycoupledmodules• Outputssingleexecutable• Crucialincombiningmultiplesimulationscenario!!
![Page 3: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/3.jpg)
OpenDIEL – Manual
• Userhastoprovide:• Modules (Executable,Cmodule,FortranModule,Executable)• ConfigurationFile (LibConfig)• Driver (C- File)
![Page 4: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/4.jpg)
![Page 5: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/5.jpg)
OpenDIEL – Enhancements
• ModMaker• Timer• I/OImprovements• FortranSupport
![Page 6: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/6.jpg)
ModMaker – Introduction
• Transformatsourcecodelevel• Nolongercompilesintostandaloneexecutable• Compilesintoalibrary
![Page 7: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/7.jpg)
ModMaker – Workflow
![Page 8: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/8.jpg)
ModMaker – Workflow#include"mpi.h”#include"stdio.h”#include"test.h”int main(int argc,char**argv){
int rank;int size;int rc;
rc |=MPI_Init (&argc,&argv);MPI_Comm_rank (MPI_COMM_WORLD,&rank);MPI_Comm_size (MPI_COMM_WORLD,&size);printf ("Iamprocess%doutofall%dprocesses\n",rank,size);MPI_Barrier (MPI_COMM_WORLD);MPI_Finalize();
return0;}
1
![Page 9: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/9.jpg)
ModMaker – Workflow
int main(int argc,char**argv){
int rank;int size;int rc;
rc |=MPI_Init (&argc,&argv);MPI_Comm_rank (MPI_COMM_WORLD,&rank);MPI_Comm_size (MPI_COMM_WORLD,&size);printf ("Iamprocess%doutofall%dprocesses\n",rank,size);MPI_Barrier (MPI_COMM_WORLD);MPI_Finalize();
return0;}
IdentifyingFeature 2
![Page 10: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/10.jpg)
ModMaker – Workflow
3
![Page 11: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/11.jpg)
ModMaker – UserParticipation
![Page 12: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/12.jpg)
ModMaker – UserParticipation
![Page 13: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/13.jpg)
ModMaker – UserParticipation
![Page 14: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/14.jpg)
ModMaker – UserParticipation
![Page 15: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/15.jpg)
ModMaker – PatternMatching
• Twooptionswereconsidered• Matchingbycharacter• Matchingbystring
• Matchingbystringisused• Simplicity• Similarperformance
n=stringsize,s=documentsize(measuredincharacter)
![Page 16: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/16.jpg)
ModMaker – SyntacticFreedom
• Locating• Spaces• VariableDeclaration
![Page 17: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/17.jpg)
ModMaker – Modularization
• FunctionTitle• Statement• Variable
• BaseCheck (line,tokenList,prevSep,nextSep,msgBundle,replacement,returnValue)
![Page 18: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/18.jpg)
ModMaker – Testing
• Tester.c• Dummy“IEL.h”
![Page 19: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/19.jpg)
Timer– Background
Group1x5
Group2 x3 Group3 x2
Group4 x2Group5 x1
GroupLast x1} x3
![Page 20: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/20.jpg)
Timer– Results
Process11
![Page 21: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/21.jpg)
Timer– Background
Group1x5
Group2 x3 Group3 x2
Group4 x2Group5 x1
GroupLast x1} x3
![Page 22: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/22.jpg)
Timer– Modularity
• voidtimestamp(char*tag,char*function,int level_change)• voidtimer_finalize (int rank)
![Page 23: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/23.jpg)
Timer– Modularity
• Driver.c• Group_1
• Function_1• Function_2
[Begin] Driver.c[Begin] Group_1
[Begin] Function_1[End] Function_1[Begin] Function_2[End] Function_2
[End] Group_1[End] Driver.c
Level1 Level2 Level3
Level1
Level2
Level3
![Page 24: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/24.jpg)
Timer– Example
• -ve means:possibleoverhead• +ve means:processruntime
![Page 25: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/25.jpg)
FutureWork
• MultipleI/O• ModMaker – FortranSupport
![Page 26: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/26.jpg)
Reference
• openDIEL• http://cfdlab.utk.edu/openDIEL/opendiel.php
• StackOverflow• http://stackoverflow.com
![Page 27: User Interfaces Development in openDIEL · Timer – Background Group 1 x 5 Group 2x 3 Group 3x 2 Group 5x 1 Group 4x 2 Group Lastx 1} x3. Timer – Results Process 11. Timer –](https://reader033.vdocuments.mx/reader033/viewer/2022050311/5f738b9a7a97ae67c4476027/html5/thumbnails/27.jpg)
Acknowledgement
ThisprojectismadepossibleonlywiththesupportofourmentorDr.K.Wong,theNSF,theUniversityofTennesseeandOakRidgeNationalLaboratory