Intuitive Open Platform Usage of ASCR Resources in NumPy

Award Information
Agency:
Department of Energy
Branch
n/a
Amount:
$149,923.00
Award Year:
2013
Program:
SBIR
Phase:
Phase I
Contract:
DE-FG02-13ER90505
Award Id:
n/a
Agency Tracking Number:
83458
Solicitation Year:
2013
Solicitation Topic Code:
02 c
Solicitation Number:
DE-FOA-0000760
Small Business Information
Em Photonics (Currently EM PHOTONICS INC)
51 East Main Street, Suite 203, Newark, DE, 19711-4685
Hubzone Owned:
N
Minority Owned:
N
Woman Owned:
N
Duns:
071744143
Principal Investigator:
John Humphrey
Mr.
(302) 456-9003
humphrey@emphotonics.com
Business Contact:
Eric Kelmelis
Mr.
() -
kelmelis@emphotonics.com
Research Institution:
Stub




Abstract
The Advanced Scientific Computing Research (ASCR) program from the Department of Energy (DOE) has over the years sponsored the development of many important codes, such as Lattice QCD, Trilinos, PETSc, and Paraview, some of which are libraries. The use libraries in their code allows scientists to concentrate their efforts on their science rather than on the implementation of an often-implemented mathematical technique. The benefit to the programmer is very large, but to non-programmers these libraries remain inaccessible. There is a desire by the DOE to broaden the audience for these codes. The Matlab computing environment is often used by both programmers and non-programmers to achieve remarkable numerical results in a short timeframe and without requiring a deep knowledge of programming. For many scientists, Matlab is a primary tool, but it is not an open platform. More recently, the NumPy and SciPy packages for the Python programming language has sought to bring the power of Matlab into an open environment. Thus, the NumPy/SciPy environment is poised to finally provide an open alternative to Matlab. NumPy at its core provides a matrix abstraction for Python, and then a very large suite of packages in SciPy provide specific functionality, such as linear algebra operations, graphing, optimization routines, etc. A few ASCR libraries are already available as NumPy modules, including Trilinos (PDE operations and linear algebra), SuperLU (sparse matrix direct solutions), and Sundials (nonlinear solvers). These packages are packed for Python essentially as copies of their native C/C++/Fortran interfaces, which requires that the NumPy user understand the usage details and syntax of the library. In contrast, in a Matlab environment, the user focuses on math syntax. Matlab internally uses libraries to fill out the mathematical back-end functions, and then provides very convenient and math-focused syntax where the user does not even need to be aware of the underlying library code. Consider thesystem solve operator, which is A\b, where A is a matrix and b is a vector to solve against. Matlab examines the matrix and calls an appropriate solver from an underlying library such as LAPACK or UMFPACK. We will use this project to bring this level of expression to the Python environment, where the backing functions will be supplied by the robust libraries already funded by ASCR. Our proposed method is to augment the existing tools, especially SciPy, to accomplish three primary goals. First is to increase the mathematical expressiveness of the package by enhancing certain key operators such as the system solve operator described above. Second is to increase the use of ASCR libraries by folding in their functionality to the operators as we perform our work. In Phase I, we will prototype this procedure by making a seamless integration of the ASCR-funded library SuperLU, which is a direct solver for sparse linear systems. EM Photonics is a creator of GPU-enhanced libraries, and we will integrate one of these to increase the speed of Python computations by tenfold or more. Third, our work will further the ability of Python to be used simultaneously for both prototyping and deployment, which often requires separate programs coded in different languages.

* information listed above is at the time of submission.

Agency Micro-sites


SBA logo

Department of Agriculture logo

Department of Commerce logo

Department of Defense logo

Department of Education logo

Department of Energy logo

Department of Health and Human Services logo

Department of Homeland Security logo

Department of Transportation logo

Enviromental Protection Agency logo

National Aeronautics and Space Administration logo

National Science Foundation logo
US Flag An Official Website of the United States Government