titan

Up since 11/8/17 02:45 pm

eos

Up since 11/14/17 11:20 pm

rhea

Up since 10/17/17 05:40 pm

hpss

Up since 11/20/17 09:15 am

atlas1

Up since 11/15/17 07:25 am

atlas2

Up since 11/27/17 10:45 am
OLCF User Assistance Center

Can't find the information you need below? Need advice from a real person? We're here to help.

OLCF support consultants are available to respond to your emails and phone calls from 9:00 a.m. to 5:00 p.m. EST, Monday through Friday, exclusive of holidays. Emails received outside of regular support hours will be addressed the next business day.

Loading Events

This is not your parents’ Fortran: Object-Oriented, Parallel and Functional Programming in Modern Fortran

Details

Start:
February 5, 2013 @ 9:00 am
End:
February 7, 2013 @ 5:00 pm

Venue

JICS Auditorium, Building 5100
1 Bethel Valley Road
Oak Ridge, TN 37831 United States

Organizer

Robert Whitten
Phone:
(865) 241-1196
Email:
whittenrm1@ornl.gov

The Oak Ridge Leadership Computing Facility (OLCF) will host “This is not your parents’ Fortran: Object-Oriented, Parallel and Functional Programming in Modern Fortran” from Sandia National Laboratory’s, Damian Rouson. This event is a three-day workshop.

Participation is limited to those who already have access to the Oak Ridge National Laboratory (ORNL) campus.

Registration is required.

Overview

Fortran 2003 explicitly supports object-oriented programming (OOP). OOP aims to increase a program’s maintainability in part by reducing cross-module data dependencies and to increase a program’s reusability in part by providing for extensible derived types. Emerging compiler support for Fortran 2003 inspires a more modern program design and implementation style. This course provides the requisite skills. Day 1 introduces OOP in Fortran 2003 and an OOP style inspired by the functional programming paradigm. Day 2 will introduce patterns of best practice Object-Oriented Design (OOD) and will also introduce parallel programming with Fortran coarrays. Day 3 will introduce two open-source, parallel numerical libraries that present modern Fortran interfaces: ForTrilinos and PSBLAS. The presented examples will utilize introductory-level numerical algorithms from linear algebra and differential equations inspired by multiphysics modeling that is coupled field problems common to many interdisciplinary, engineering, and physical science simulations.

Approximately half the course is lecture. The other half is evenly split between presenting code examples and hands-on student exercises. The presented examples and student exercises leverage Fortran 95, 2003, and 2008 features currently supported by the open-source GNU Fortran compiler.

This course will be given by Damian Rouson, Karla Morris and Salvatore Filippone from Sandia National Laboratories in the US.

Agenda

Tuesday, Feb. 5, 2013

9:00‐9:15 Introductions
9:15‐9:30 Background & Motivation
9:30‐10:00 Chapter 1. Development Costs & Complexity, Example: Fireworks simulation
10:00‐10:45 Chapter 2. Object-Oriented Analysis, Design, & Programming
10:45-‐11:00 Break
11:00-‐12:00 Examples: (2.1) OO fireworks, (2.2) Inheritance, (2.3) Composition
12:00-‐1:00 Lunch Break
1:00-1:30 Chapter 3. Scientific OOP (SOOP): Functional programming via abstract data type calculus
1:30‐2:00 Functional OOP: (3.1) SOOP fireworks example
2:00‐4:00 Hands‐On Student Exercises: (i) OO Basketball (ii) Inheritance, (iii) Composition, (iv) Functional

Wednesday, Feb. 6, 2013

9:00‐9:30 Available for Q&A
9:30‐9:45 Chapter 4. Design Patterns Basics
9:45‐10:15 Chapter 8. Puppeteer Pattern, Example: Puppeteer Fireworks
10:15‐10:45 Chapter 6. The Abstract Calculus Pattern, Example: (iii) Abstract Calculus Fireworks
10:45‐11:00 Break
11:00‐11:30 Chapter 7. The Strategy Pattern, Example: (i) Strategic Fireworks
11:30‐12:00 Chapter 9. Factory Patterns, Example : (iv) Factory Fireworks
12:00‐1:00 Lunch Break
1:00‐2:00 Chapter 12. Fortran 2008 coarrays: A parallel PDE solver
2:00‐4:00 Hands‐On Student Exercises: Basketball (i) Abstract Calculus (ii) Strategy, (iii) Factory, (iv) Coarray

Thursday, Feb. 8, 2013

9:00‐9:30 Available for Q&A
9:30‐11:00 Chapers 11‐12. ForTrilinos: Design Patterns and Object‐Oriented Sparse Linear Solvers
11:00‐11:15 Break
11:15‐12:00 Hands‐On Student Exercise: Finite differences with ForTrilinos
12:00‐1:00 Lunch Break
1:00‐2:30 PSBLAS: Design Patterns and Object Oriented Sparse Matrix Computations
2:30‐2:45 Break
2:45‐3:45 Hands‐On Student Exercise: Matrix‐vector multiply with PSBLAS
3:45‐4:00 Feedback Form & Closing Discussion

Chapter numbers refer to Rouson, Xia & Xu (2011) Scientific Software Design: The Object‐Oriented Way, Cambridge University Press.

Registration

FORTRAN OOP

Register below for the FORTRAN OOP Workshop February 2013