Atlas Graphics Group MeetingDec, 1 The Colt Distribution - Open Source Libraries for High Performance Scientific and Technical.

Slides:



Advertisements
Similar presentations
MATLAB Presented By: Nathalie Tacconi Presented By: Nathalie Tacconi Originally Prepared By: Sheridan Saint-Michel Originally Prepared By: Sheridan Saint-Michel.
Advertisements

1 Software & Grid Middleware for Tier 2 Centers Rob Gardner Indiana University DOE/NSF Review of U.S. ATLAS and CMS Computing Projects Brookhaven National.
O. Stézowski IPN Lyon AGATA Week September 2003 Legnaro Data Analysis – Team #3 ROOT as a framework for AGATA.
David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL March 25, 2003 CHEP 2003 Data Analysis Environment and Visualization.
MPJava : High-Performance Message Passing in Java using Java.nio Bill Pugh Jaime Spacco University of Maryland, College Park.
Tile Reduction: the first step towards tile aware parallelization in OpenMP Ge Gan Department of Electrical and Computer Engineering Univ. of Delaware.
Building Efficient Time Series Similarity Search Operator Mijung Kim Summer Internship 2013 at HP Labs.
What is R By: Wase Siddiqui. Introduction R is a programming language which is used for statistical computing and graphics. “R is a language and environment.
CSC 142 A 1 CSC 142 Introduction to Java [Reading: chapter 0]
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
M1G Introduction to Programming 2 4. Enhancing a class:Room.
Math LHCb Ivan Belyaev LHCb, CERN & ITEP/Moscow.
ROOT: A Data Mining Tool from CERN Arun Tripathi and Ravi Kumar 2008 CAS Ratemaking Seminar on Ratemaking 17 March 2008 Cambridge, Massachusetts.
Recent and Proposed Changes to ZOOM Recent entries Intended future additions Possibilities –D0 and CDF users can affect which new “possible” additions.
Dr. Chris Musselle – Consultant R Meets Julia Dr Chris Musselle.
Introduction to MATLAB Session 1 Prepared By: Dina El Kholy Ahmed Dalal Statistics Course – Biomedical Department -year 3.
Hall C Software Development From the perspective of a user.
Development of numerical library software in Java Feb 8, 2000 H.Okazawa, Shizuoka Seika College, Japan and T.Sasaki, KEK,Japan.
Java Analysis Studio Status Update 12 May 2000 Altas Software Week Tony Johnson
Advanced Analysis Environments What is the role of Java in physics analysis? Will programming languages at all be relevant? Can commercial products help.
JAS3 + AIDA LC Simulations Workshop SLAC 19 th May 2003.
Programming Languages: Scratch Intro to Scratch. Lower level versus high level Clearly, lower level languages can be tedious Higher level languages quickly.
Crossing The Line: Distributed Computing Across Network and Filesystem Boundaries.
SUMA: A Scientific Metacomputer Cardinale, Yudith Figueira, Carlos Hernández, Emilio Baquero, Eduardo Berbín, Luis Bouza, Roberto Gamess, Eric García,
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
1.8History of Java Java –Based on C and C++ –Originally developed in early 1991 for intelligent consumer electronic devices Market did not develop, project.
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
A Grid fusion code for the Drift Kinetic Equation solver A.J. Rubio-Montero, E. Montes, M.Rodríguez, F.Castejón, R.Mayo CIEMAT. Avda Complutense, 22. Madrid.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
Performance Analysis Of Generics In Scientific Computing Laurentiu Dragan Stephen M. Watt Ontario Research Centre for Computer Algebra University of Western.
5 May 98 1 Jürgen Knobloch Computing Planning for ATLAS ATLAS Software Week 5 May 1998 Jürgen Knobloch Slides also on:
A (very brief) intro to Eclipse Boyana Norris June 4, 2009.
Fabiola Gianotti, 31/8/’99 PHYSICS and SOFTWARE ATLAS Software Week 31/8/’99 Fabiola Gianotti Software requirements of physics groups What should Detector.
JAVA AND MATRIX COMPUTATION
Computer Programming 2 Why do we study Java….. Java is Simple It has none of the following: operator overloading, header files, pre- processor, pointer.
Java Analysis Studio Atlas Software Week February 2000 Tony Johnson
ECE 103 Engineering Programming Chapter 55 C Math Library Herbert G. Mayer, PSU CS Status 6/4/2014 Initial content copied verbatim from ECE 103 material.
Not Invented Here: The Re-use of Commercial Components in HEP Computing Jeremy Walton The Numerical Algorithms Group Ltd, UK.
1 SciDAC High-End Computer System Performance: Science and Engineering Jack Dongarra Innovative Computing Laboratory University of Tennesseehttp://
Introduction What is detector simulation? A detector simulation program must provide the possibility of describing accurately an experimental setup (both.
David Adams ATLAS DIAL: Distributed Interactive Analysis of Large datasets David Adams BNL August 5, 2002 BNL OMEGA talk.
QPE A Graphical Editor for Modeling using Queueing Petri Nets Christofer Dutz.
Java Analysis Studio and the hep.lcd class library Mike Ronan - LBNL Joanne Bogart, Gary Bower, Tony Johnson - SLAC Nick Sinev - Oregon Don Benton - U.
Linear Algebra Libraries: BLAS, LAPACK, ScaLAPACK, PLASMA, MAGMA
Atlas Graphics Group MeetingDec, 1 Comon Java Code in HEP Wolfgang Hoschek CERN IT/PDP.
23/2/2000Status of GAUDI 1 P. Mato / CERN Computing meeting, LHCb Week 23 February 2000.
Generic Compressed Matrix Insertion P ETER G OTTSCHLING – S MART S OFT /TUD D AG L INDBO – K UNGLIGA T EKNISKA H ÖGSKOLAN SmartSoft – TU Dresden
CIS 601 Fall 2003 Introduction to MATLAB Longin Jan Latecki Based on the lectures of Rolf Lakaemper and David Young.
TI Information – Selective Disclosure Implementation of Linear Algebra Libraries for Embedded Architectures Using BLIS September 28, 2015 Devangi Parikh.
JAS and JACO – Status Report Atlas Graphics Group August 2000 Tony Johnson.
C OMPUTATIONAL R ESEARCH D IVISION 1 Defining Software Requirements for Scientific Computing Phillip Colella Applied Numerical Algorithms Group Lawrence.
Geant4 User Workshop 15, 2002 Lassi A. Tuura, Northeastern University IGUANA Overview Lassi A. Tuura Northeastern University,
David Adams ATLAS ATLAS Distributed Analysis (ADA) David Adams BNL December 5, 2003 ATLAS software workshop CERN.
CIS 595 MATLAB First Impressions. MATLAB This introduction will give Some basic ideas Main advantages and drawbacks compared to other languages.
Parallel Programming & Cluster Computing Linear Algebra Henry Neeman, University of Oklahoma Paul Gray, University of Northern Iowa SC08 Education Program’s.
Linear Algebra Libraries: BLAS, LAPACK, ScaLAPACK, PLASMA, MAGMA Shirley Moore CPS5401 Fall 2013 svmoore.pbworks.com November 12, 2012.
Follow-up to SFT Review (2009/2010) Priorities and Organization for 2011 and 2012.
Intro to Scientific Libraries Intro to Scientific Libraries Blue Waters Undergraduate Petascale Education Program May 29 – June
Hp’s application development: flexible, rich, and very powerful agenda hp’s app dev solutions hp-ux 11i app dev tools Linux & open source tools Microsoft’s.NET.
20-753: Fundamentals of Web Programming Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 15: Java Basics Fundamentals of Web Programming.
SimTK 1.0 Workshop Downloads Jack Middleton March 20, 2008.
Martin Kruliš by Martin Kruliš (v1.0)1.
ECLIPSE RICH CLIENT PLATFORM Part 1 Introduction.
Python Scripting for Computational Science CPS 5401 Fall 2014 Shirley Moore, Instructor October 6,
GWE Core Grid Wizard Enterprise (
Introduction to MATLAB
F II 1. Background Objectives
Simulation And Modeling
Presentation transcript:

Atlas Graphics Group MeetingDec, 1 The Colt Distribution - Open Source Libraries for High Performance Scientific and Technical Computing in Java Wolfgang Hoschek CERN IT/PDP

Atlas Graphics Group MeetingDec, 2 n Technology Tracking n Motivation & Goals n Colt distribution n Features n Status & Future plans n Conclusions Overview

Atlas Graphics Group MeetingDec, 3 n Scientific and technical computing n demanding problem sizes n need for high performance at reasonably small memory footprint n n Technology Tracking n Don’t pray Java, C++ or whatever n Gain enough experience to be able to take well founded strategic decisions when the time comes… n Increased adoption in the field n Performance gap steadily closing n ease of use n cross-platform nature (no compiler/architecture/linker issues) n built-in support for multi-threading, network friendly APIs,... n IBM Watson's Ninja project n BLAS matrix computations up to 90% as fast as optimized Fortran Technology Tracking

Atlas Graphics Group MeetingDec, 4 n Users need libraries to get their job done n Java lacks foundation toolkits broadly available and conveniently accessible in C/C++ and Fortran n Build an infrastructure for scalable scientific and technical computing in Java n a la CLHEP n Don’t reinvent the wheel - share ressources in common efforts n Open source n User convenience n Document, package and distribute loosely coupled set of libraries under one single uniform umbrella n Avoid compiler/linker/architecture headaches n Set a single env. variable to cross-platform shared library and run a program no matter where you are Motivation & Goals

Atlas Graphics Group MeetingDec, 5 n Efficient High Level Data structures & algorithms for n On-line & Off-line Data Analysis n Histogramming n NTuple like manipulations, multi-dim. arrays, matrices n Random Numbers, Monte Carlo Simulation n Concurrent & Parallel Programming n Approach n Summon some of the best designs and implementations thought up over time by the community n Port or improve them; Introduce new approaches where need arises n Results so far n In overlapping areas competitive or superior to toolkits such as STL, Root, HTL, CLHEP, TNT, GSL, C-RAND / WIN-RAND, (all C/C++) as well as IBM Array, JDK 1.2 Collections framework, JGL (all Java), n in terms of performance (!), functionality and (re)usability Colt

Atlas Graphics Group MeetingDec, 6 n Several free libraries n For user convenience documented, packaged and bundled under one single uniform umbrella n Colt library n Fundamental general-purpose data structures optimized for numerical data, e.g. n Dense and sparse matrices (multi-dimensional arrays), Linear Algebra, resizable arrays, associative containers, buffer management n Jet library n Mathematical and statistical tools for data analysis, n Histogramming functionality, n Random Number Generators and Distributions for simulations n more Features (1)

Atlas Graphics Group MeetingDec, 7 n JAL library n a partial port of the C++ Standard Template Library n developed by Silicon Graphics n contains a wide range of efficiently coded general-purpose algorithms on arrays n Random library n A complete port of CLHEP’s random number library n Concurrent library n VNI library n special math functions, complex numbers n Contributions from n Sun, SGI, Visual Numerics, Univ. New York n Your package or library ? Features (2)

Atlas Graphics Group MeetingDec, 8 n Documentation n Executive summary, installation details, FAQs, news, feedback n HTML API documentation n Extensive doc for each package, class, and method. Examples, Tutorials n Build by javadoc n High quality, starting from single top entry point, easy navigation, browsing, exploration of features n Source codes for all libraries, n and everything else needed to build the entire distribution from scratch n One single cross-platform shared lib Download Contents

Atlas Graphics Group MeetingDec, 9 n Matrix Computations n 2D Assignment: 320 MB/sec, Element-wise Mult: 10 Mflops/sec n Linear Equation Solving: ~ 15 Mflops/sec n 2D matrix-matrix mult: 25+ Mflops/sec Mflops/sec, type=dense, MHz, Solaris, SunJDK1.2.2, Classic VM | density | s 30 | i 33 | z 66 | e 100 | | n Random Numbers ~ 3*10^6 numbers/sec n Histogram filling ~ 10^6 numbers/sec n JDK1.2 on Solaris, Linux, NT, AIX, SGI, HP, … Benchmarks

Atlas Graphics Group MeetingDec, 10 n JAS (www-sldnt.slac.stanford.edu/jas) n Histogram package n Java Grande Forum (math.nist.gov/javanumerics) n Working group on numerical computing in Java n Jama Linear Algebra package + many more n IBM Watson ( n Similar design as Colt matrix classes n CLHEP (wwwinfo.cern.ch/asd/lhc++/clhep) n Random Number n TNT (math.nist.gov/tnt) n Linear Algebra n Colt (nicewww.cern.ch/~hoschek/colt/index.htm) n Beta 1.3 under ASIS, Beta 1.4 under ASIS starting next week Related Work

Atlas Graphics Group MeetingDec, 11 n Currently V1.0 Beta 4 n Open Source n V1.0 Final mid Feb. 99 n CVS access ? n Under construction n Histogram package n Transparent Parallel matrix computations for SMPs n Contributions welcome Status & Future Plans

Atlas Graphics Group MeetingDec, 12 n Technology Tracking n At LHC time-scale change is inevitable n Java may soon be a major player in performance sensitive scientific and technical computing n Ease of use, Portability, Productivity, Fun n Colt distribution n Users need libraries to get their job done n Java lacks foundation toolkits broadly available and conveniently accessible in C/C++ and Fortran n Build an infrastructure for scalable scientific and technical computing in Java n Don’t reinvent the wheel - share ressources in Open Source efforts n Document, package and distribute loosely coupled set of libraries under one single uniform umbrella n Performance is good and improving - Only a question of time when Java will be faster than C++ Conclusions