Scalability of Problem Solving Environments
and Wrap Up Session

Ahmed Sameh Minnesota
Wayne Joubert LANL
Barry Smith ANL
John Rice Purdue

Sameh Presentation

* Scalable Algorithms for sparse problems adjust algorithms -- see METIS by Kumar for partitioning and matrix reordering
* SPARSLIB

- Iterative solvers not as robust as he would like
- Can tailor to user's data structures

Barry Smith Presentation

* Levels of abstraction

- Application Interface
- Math Interface

* Data encapsulation(=hidden)
* Use C as an example to remove compiler manipulation

- objects carry with them routines to manipulate objects
- in C specify functions by pointers to routines

* State Encapsulation

- Could use a global array -- common block but this is not good if recursive
- So use a user supplied data structure

John Rice Presentation

* Parallelism can be exploited at all levels from user to utilities
* Data Parallelism in space is key

- need to allow variable in space algorithms

* Collatz conjecture (1970ish) -- time to solve PDE of same order as time to evaluate closed form solution

Joubert Presentation -- I

* Amoco Cray LANL collaboration to develop parallel oil reservoir simulation system

- GUI, visualization, geostatics,history matching. simulation itself
- Want 100 times a Cray2
- Must run overnight

* Need scalability -- PC to MPP

Joubert Presentation -- II

* Port to 128 node T3D -- initially 7-8 mflops per node

- drastic optimization gives 18 mflops/node with 1 to 2 man-months

* 2200 wells, 5 years, 5 million grid points

- run 50 such cases by end of year

* Hindrances

- lack of convergence of architectures and their short lifetime
- no clear standards for sparse linear algebra
- would like standard sparse BLAS so vendor would automatically optimize

Questions from Audience -- I

* Physics of compositional models makes load balancing critical not solver

- however Amoco problem is not of this type

* Smith with usual glee with pointers(!) says we will use unstructured meshes for everything to allow natural load balancing
* General discussion of load balancing ensues but little/new deep thoughts

Questions from Audience -- II

* Memory used could be a serious issue on the web as can't predict how much memory availabe

- somebody claims (remarkably) that cache based machines run irregular meshs as well as regular meshs

* Skjellum notes that pointers in C++ are class relative so can move from machine to machine
* Incorrect discussion of multithreaded models for load balancing irregular problems

Overall Conclusions -- I

* Hardware will change
* Need to support multiple paradigms
* PSE's will deliver scalable libraries
* Need Examples of PSE's inside and outside PDE domain

- Purdue had a table of some 20 PDE PSE's

Overall Conclusions -- II

* PSE's are good but need study of software architecture and tools to build them
* PSE's will build on PSE's
* Can re-use PSE modules and PSE infrastructure
* Standards for Sparse libraries