Babel F2003 Wrap-up Stefan Muszala*, Tom Epperly(LLNL), Nanbor Wang* Funded by DOE (TASCS) Grant No DE-FC02-07ER25805, DOE Grant No DE-FG02-04ER84099 and Tech-X FACETS+Babel Update Stefan Muszala*, Scott Kruger*, Srinath Vadlamani* Funded by DOE (TASCS) Grant No DE-FC02-07ER25805 and Tech-X CCA Ecloud Intro Stefan Muszala*, Jim Amundson (FNAL), Paul Lebrun (FNAL), Lois Curfman McInnes (ANL) Boyana Norris (ANL), Peter Stoltz* DOE Grant No DE-FG02-08ER85152 * Tech-X
18
Embed
Babel F2003 Wrap-up Stefan Muszala*, Tom Epperly(LLNL), Nanbor Wang* Funded by DOE (TASCS) Grant No DE-FC02-07ER25805, DOE Grant No DE-FG02-04ER84099 and.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Babel F2003 Wrap-upStefan Muszala*, Tom Epperly(LLNL), Nanbor Wang*
Funded by DOE (TASCS) Grant No DE-FC02-07ER25805,
DOE Grant No DE-FG02-04ER84099 and Tech-XFACETS+Babel Update
Stefan Muszala*, Scott Kruger*, Srinath Vadlamani*
Funded by DOE (TASCS) Grant No DE-FC02-07ER25805
and Tech-X
CCA Ecloud IntroStefan Muszala*, Jim Amundson (FNAL), Paul
Lebrun (FNAL), Lois Curfman McInnes (ANL)Boyana Norris (ANL), Peter Stoltz*
DOE Grant No DE-FG02-08ER85152
* Tech-X
Babel now has a functioning Fortran 2003 Bindingthat supports Structured Data Types.
C
C++
F77
F90
PythonJava
F03
Babel F2003 functionality supportsthe following SIDL struct definitions.
enum Color { red, blue, green }
struct Empty { bool d_bool; }
struct Simple { bool d_bool; char d_char; dcomplex d_dcomplex; double d_double; fcomplex d_fcomplex; float d_float; int d_int; long d_long; opaque d_opaque; Color d_enum; }
struct Hard { array<double,1,row-major> d_array; }
struct HardRarray { int d_int; rarray<double,1> d_rarrayRaw(d_int); rarray<double,1> d_rarrayFix(3); }
Tying up loose ends for the F03 Binding(Outstanding issues)
• Some regression tests breaking or failing on non-Tech-X build systems.– Failing on Jaguar
• runC2C• runCxx2C
– Broken on LLNL build box• runCxx2C• runCxx2Cxx
• Adding Tech-X build to Gantlet results.– This is on hold until our new build system is
online.
Babel F2003 Wrap-upStefan Muszala*, Tom Epperly(LLNL), Nanbor Wang*
Funded by DOE (TASCS) Grant No DE-FC02-07ER25805,
DOE Grant No DE-FG02-04ER84099 and Tech-XFACETS+Babel Update
Funded by DOE (TASCS) Grant No DE-FC02-07ER25805
and Tech-X
CCA Ecloud IntroStefan Muszala*, Jim Amundson (FNAL), Paul
Lebrun (FNAL), Lois Curfman McInnes (ANL)Boyana Norris (ANL), Peter Stoltz*
DOE Grant No DE-FG02-08ER85152
* Tech-X
Stefan Muszala*, Scott Kruger*, Srinath Vadlamani*
FACETS-Integrated Fusion simulation (core, edge and wall).
Tokamak:Produce Fusion
Energy
FACETS:Fusion Simulation,
Wall to Core
Babel is being used to integrate legacyFortran codes into FACETS.
• One of the driving forces for the F2003 Babel binding is the integration of legacy codes into the FACETS* project!
• FACETS is a C++ framework that will call FORTRAN77, Fortran90/95, Fortran 2003, Python and C codes.
* FACETS-(Framework Application for Core-Edge Transport Simulations) is a SCIDAC project led by Tech-X which aims to integrate core, edge and wall fusion simulations.
The current approach to C++/Fortran structured data type interoperability relies on pre-F2003 features.
The Babel approach begins with a SIDL definition of existing Fortran derived types
struct MmmFlags { int nroot; int npoints; int nprout; int lprint; int lsuper; int lreset; int nerr; int lswitch(8); rarray<double,1> cswitch(25); rarray<double,1> fig(4); rarray<double,1> frb(4); rarray<double,1> fkb(4); int UnitNum;}
The FACETS+Babel implementation simplifies the code structure and provides common interfaces.
Recent work has involved refactoring FACETS Interfaces for increased usability