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 |
Outside Index Summary of Material
Ronald F. Boisvert and Roldan Pozo |
NIST Information Technology Laboratory |
Sun Microsystems, Menlo Park, Mar 11, 1999 |
Established March 1998 |
Open forum with industry, government, academic participation |
Goal: make Java the best ever programming environment for grande applications
|
Academic Coordinator: G. Fox (Syracuse) |
Secretary: G. Thiruvanukal (Loyola) |
Industry Coordinator: S. Hassenzadeh (Sun) |
Concurrency/Applications Working Group
|
Numerics Working Group
|
Portability: Java Virtual Machine
|
Access to rich library base
|
Network-aware environment
|
Widespread acceptance
|
Java not designed for grande apps
|
Lack of numerical libraries
|
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 |
Co-chairs from NIST
|
Open meetings with Java Grande
|
Communication via
|
Industry (11)
|
Academia (8)
|
Government (2)
|
... and input from many others |
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 |
Voice needs of entire community |
Realize: we represent a small market
|
Don't demand special treatment |
Support modest changes with widespread benefit |
complex arithmetic |
multidimensional arrays |
lightweight classes |
operator overloading |
improved floating-point |
Requirements ...
|
A standard class provides neither
|
Requirements ...
|
Problems ...
|
Lightweight Classes
|
Operator Overloading
|
Admits extensions
|
Requirements ...
|
Problems ...
|
Sun: widefp (default) & strictfp
|
JGF: default, strictfp, associativefp
|
"Reproducibility" of math functions
|
Standard class libraries to get, set
|
Implementation of IEEE functions
|
Complex (VNI) |
Multidimensional Arrays (IBM) |
Linear Algebra (MathWorks & NIST) |
Special Functions (VNI) |
Strawman proposals now available |
coming: intervals, FFTs, multiprecision, ... |
Java benchmark applet for numerics |
composite of results for five kernels
|
normalized to SPARC 10 / Netscape 4.04 |
Roldan Pozo, Bruce Miller and Karin Remington, NIST |
refine proposals for improvements |
improve partnership with Sun |
serious review of proposed APIs |
development of new APIs |
large-scale benchmark |
Presentations
|
Discussion Topics
|
Op Overloading & Lightweight objects
|
Action: make contact with Darcy |
Floating-point model in Java 1.2
|
How incorporate FMA support
|
Action: draft proposal in two weeks |
Improvement of math lib spec
|
Actions: evaluate VNI fdlibm, evaluate Haifa code (footprint?), draft proposal in 2 wks |
Allowable compiler optimizations
|