Full HTML for

Basic foilset Activities of the Java Grande Forum Numerics Working Group

Given by Geoffrey C. Fox at Java Grande Meeting with Sun Microsystems Menlo Park on March 11 99. Foils prepared May 19 99
Outside Index Summary of Material


Meeting with Sun Microsystems to review Forum recommendations and discuss next steps
Overview of Process
Issues are Complex Arithmetic, Multidimensional arrays, Lightweight classes, Operator overloading, Improved Floating Point
SciMark and benchmarking Java Numerical performance
Summarize conclusions of Meeting as well as initial talk

Table of Contents for full HTML of Activities of the Java Grande Forum Numerics Working Group

Denote Foils where Image Critical
Denote Foils where Image has important information
Denote Foils where HTML is sufficient

1 Activities of the Java Grande Forum Numerics Working Group
2 Java Grande Forum (JGF)
3 JGF Organization
4 Why We're Interested
5 Biggest Problems
6 Numerics WG Charter
7 Group Organization
8 Meeting Participants
9 Initial Group Products
10 Constraints
11 Critical Needs for Numerics
12 Issue: Complex
13 Issue: Multidimensional Arrays
14 A Common Solution
15 Issue: Floating-point
16 Floating-point Proposals
17 Additional recommendations
18 Core Numerical APIs
19 SciMark Benchmark
20 PPT Slide
21 PPT Slide
22 Next Steps
23 Today's Agenda
24 Summary of Discussion
25 Summary of Discussion
26 Summary of Discussion
27 Summary of Discussion
28 Summary of Discussion

Outside Index Summary of Material



HTML version of Basic Foils prepared May 19 99

Foil 1 Activities of the Java Grande Forum Numerics Working Group

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Ronald F. Boisvert and Roldan Pozo
NIST Information Technology Laboratory
Sun Microsystems, Menlo Park, Mar 11, 1999

HTML version of Basic Foils prepared May 19 99

Foil 2 Java Grande Forum (JGF)

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Established March 1998
Open forum with industry, government, academic participation
Goal: make Java the best ever programming environment for grande applications
  • apps requiring significant computing resources,
  • e.g. large-scale, numeric or I/O intensive

HTML version of Basic Foils prepared May 19 99

Foil 3 JGF Organization

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Academic Coordinator: G. Fox (Syracuse)
Secretary: G. Thiruvanukal (Loyola)
Industry Coordinator: S. Hassenzadeh (Sun)
Concurrency/Applications Working Group
  • D. Gannon (Indiana) and D. Caramel (INRIA)
Numerics Working Group
  • R. Boisvert and R. Pozo (NIST)

HTML version of Basic Foils prepared May 19 99

Foil 4 Why We're Interested

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Portability: Java Virtual Machine
  • new method of delivering components
Access to rich library base
  • GUIs, graphics, ...
Network-aware environment
  • threads, sockets, RMI, ...
Widespread acceptance
  • numerics will be done in Java

HTML version of Basic Foils prepared May 19 99

Foil 5 Biggest Problems

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Java not designed for grande apps
  • need speed, performance portability
  • need additional language support for numeric-intensive computing
Lack of numerical libraries
  • chicken and egg problem for developers

HTML version of Basic Foils prepared May 19 99

Foil 6 Numerics WG Charter

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
evaluate the suitability of Java for numerical applications
voice community consensus on needed changes to language, environment
communicate needs to Sun
catalyze development of standard APIs for core numerical functions

HTML version of Basic Foils prepared May 19 99

Foil 7 Group Organization

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Co-chairs from NIST
  • Ron Boisvert (boisvert@nist.gov)
  • Roldan Pozo (pozo@nist.gov)
Open meetings with Java Grande
  • Mar, May, Aug, Nov (SC'98) 1998
Communication via

HTML version of Basic Foils prepared May 19 99

Foil 8 Meeting Participants

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Industry (11)
  • IBM, Mantos Consulting, The MathWorks, NAG, Sun, Visual Numerics
Academia (8)
  • Loyola Chicago, Syracuse, TU Delft, UC Berkeley, U. Houston, UNC, U. Tenn.
Government (2)
  • NIST
... and input from many others

HTML version of Basic Foils prepared May 19 99

Foil 9 Initial Group Products

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
proposal for extensions to Java to support numerical computing
response to Sun proposal for extension of Java floating-point semantics
development of proposed APIs
development of numerical benchmark

HTML version of Basic Foils prepared May 19 99

Foil 10 Constraints

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Voice needs of entire community
Realize: we represent a small market
  • (with demanding requirements)
Don't demand special treatment
Support modest changes with widespread benefit

HTML version of Basic Foils prepared May 19 99

Foil 11 Critical Needs for Numerics

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
complex arithmetic
multidimensional arrays
lightweight classes
operator overloading
improved floating-point

HTML version of Basic Foils prepared May 19 99

Foil 12 Issue: Complex

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Requirements ...
  • efficient as floats and doubles
  • convenient as floats and doubles
A standard class provides neither
  • object overhead unacceptable
  • semantics of = and == are wrong
  • inscrutable code from method calls, e.g. a.assign(b.times(c).plus(d))

HTML version of Basic Foils prepared May 19 99

Foil 13 Issue: Multidimensional Arrays

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Requirements ...
  • array operations must be optimizable
  • reliable model of layout needed for programmers to select best algorithm
Problems ...
  • Java arrays jagged, rows can be aliased
  • standard API would mean unreadable code, inefficiencies

HTML version of Basic Foils prepared May 19 99

Foil 14 A Common Solution

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Lightweight Classes
  • restricted class with value semantics
  • low overhead, can be inlined
Operator Overloading
  • at least for existing operators: arithmetic, compare, assign, subscripts
Admits extensions
  • interval, multiprecision, ...

HTML version of Basic Foils prepared May 19 99

Foil 15 Issue: Floating-point

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Requirements ...
  • good performance on most processors
  • high performance sometimes
  • exact reproducibility sometimes
  • access to IEEE features
Problems ...
  • 80-bit registers on x86 ? 2-10x slower
  • use of fused multiply-add denied
  • optimizations, e.g. associativity, denied

HTML version of Basic Foils prepared May 19 99

Foil 16 Floating-point Proposals

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Sun: widefp (default) & strictfp
  • widefp admits indiscriminant use of float- and double-extended
  • strictfp is current mode
JGF: default, strictfp, associativefp
  • default allows wide (15-bit) exponent range, fused multiply-add
  • associativefp admits associativity, more?

HTML version of Basic Foils prepared May 19 99

Foil 17 Additional recommendations

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
"Reproducibility" of math functions
  • Java version of fdlibm for strictfp
Standard class libraries to get, set
  • IEEE floating-point flags
  • IEEE rounding modes
Implementation of IEEE functions
  • Darcy has recently developed these

HTML version of Basic Foils prepared May 19 99

Foil 18 Core Numerical APIs

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Complex (VNI)
Multidimensional Arrays (IBM)
Linear Algebra (MathWorks & NIST)
Special Functions (VNI)
Strawman proposals now available
coming: intervals, FFTs, multiprecision, ...

HTML version of Basic Foils prepared May 19 99

Foil 19 SciMark Benchmark

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Java benchmark applet for numerics
composite of results for five kernels
  • FFT (4K, complex)
  • Gauss-Seidel relaxation (100x100 grid)
  • Monte Carlo integration (25K samples of exp(-x^2))
  • sparse matrix multiply (order 5K, 25K random nonzeros)
  • dense LU factorization with pivoting (100x100)
normalized to SPARC 10 / Netscape 4.04
Roldan Pozo, Bruce Miller and Karin Remington, NIST

HTML version of Basic Foils prepared May 19 99

Foil 20 PPT Slide

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index

HTML version of Basic Foils prepared May 19 99

Foil 21 PPT Slide

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index

HTML version of Basic Foils prepared May 19 99

Foil 22 Next Steps

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
refine proposals for improvements
improve partnership with Sun
serious review of proposed APIs
development of new APIs
large-scale benchmark

HTML version of Basic Foils prepared May 19 99

Foil 23 Today's Agenda

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Presentations
  • Overview (Boisvert)
  • JAMA Matrix Package (Moler)
  • Numerics Performance (Moreira)
  • Java and ATLAS (Dongarra)
Discussion Topics
  • Java 1.2 floating-point model
  • Issues identified by the JGF
  • Refinement of JGF proposals
  • Plans for standard numerics classes
  • Java Community Process
  • Interaction with other Efforts
  • Future Meetings

HTML version of Basic Foils prepared May 19 99

Foil 24 Summary of Discussion

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Op Overloading & Lightweight objects
  • most reasonable approach to complex, arrays
  • Sun willing to consider proposals
  • process untested for language changes
  • Sun should take lead (Joe Darcy)
  • unbundle into separate proposals
  • JGF will help with justification, review
  • other constituents: graphics, financial
Action: make contact with Darcy

HTML version of Basic Foils prepared May 19 99

Foil 25 Summary of Discussion

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Floating-point model in Java 1.2
  • strictfp modifier added (no widefp)
  • default
    • allow wide exponent (15 bit) only
    • requirement for consistent use for anonymous variables leads to VM problems, so dropped
    • no FMA

HTML version of Basic Foils prepared May 19 99

Foil 26 Summary of Discussion

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
How incorporate FMA support
  • seen as worthwhile, need quick action
  • add FMA methods to java.lang.math
    • default: use if available in hardware, else do usual arithmetic
    • strict: force use of FMA, even if it requires simulation (FMA ==> extended prec accum)
  • compilers cannot find implicit FMAs
Action: draft proposal in two weeks

HTML version of Basic Foils prepared May 19 99

Foil 27 Summary of Discussion

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Improvement of math lib spec
  • seen as necessary, need quick action
  • possibilities for strictfp mode
    • fdlibm in Java
    • correctly rounded result in Java
  • possibilities for default mode
    • develop spec with ulp bounds
Actions: evaluate VNI fdlibm, evaluate Haifa code (footprint?), draft proposal in 2 wks

HTML version of Basic Foils prepared May 19 99

Foil 28 Summary of Discussion

From Activities of the Java Grande Forum Numerics Working Group Java Grande Meeting with Sun Microsystems Menlo Park -- March 11 99. *
Full HTML Index
Allowable compiler optimizations
  • allow compilers lattitude, but don't want to violate intention of programmer
  • difficult to characterize
  • "wild west" mode?
  • needs more work to justify

© Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu

If you have any comments about this server, send e-mail to webmaster@npac.syr.edu.

Page produced by wwwfoil on Tue May 18 1999