Search NASA⌕ Search

SEARCH · Search NASA

Results for “Serialization”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 1,387 records · Page 77

Validation and Verification of the Correct Operation of the Spectro RS23 UV-VIS Spectrometer used in ANC122 and NF-ANC122

In September of 2011, the old qualified Bausch and Laum Spec 100 UV-Vis instrument used in the ANC122 and NF-ANC122 procedures failed its monthly calibration check. Attempts to get the system to pass by cleaning flow cells, replacing the light bulb and realigning the light path failed to get sustained reproducible results from the system. In October the decision to take it out of service was made as the system was 40+ years in age. To replace the system, a previously purchased Labomed Inc.’s spectrometer (model Spectro 23RS; Serial #: 23RS-004253) was retrieved from storage. This report shows that the Labomed Inc. system is performing as required and meeting all QC requirements listed in ANC122 and NF-ANC122. Upon submitting this report to records, the system will be considered qualified to report results to customers of C-AAC.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

Compiling MPI for Many-Core Systems

Processors with multiple (or many) cores and shared memory are becoming ubiquitous across the com puting spectrum. MPI, the current de facto program ming model for scalable parallel applications, enforces copies between source and target processes and thus can not fully utilize shared memory and cache architectures of modern machines. To enable MPI-based programs to more fully exploit features of multi- and many-core architectures, we present a compiler-based transformation that transforms MPI processes into threads and fuses message serialization and deserialization loops such that send and receive calls can be replaced by direct memory accesses. Our compiler replaces most of the MPI communication functions with direct load/store accesses and our runtime provides a threaded MPI implementation to handle the remaining functions.

97 MATHEMATICS AND COMPUTING↗

Supporting 64-bit global indices in Epetra and other Trilinos packages :

The Trilinos Project is an effort to facilitate the design, development, integration and ongoing support of mathematical software libraries within an object-oriented framework. It is intended for large-scale, complex multiphysics engineering and scientific applications [2, 4, 3]. Epetra is one of its basic packages. It provides serial and parallel linear algebra capabilities. Before Trilinos version 11.0, released in 2012, Epetra used the C++ int data-type for storing global and local indices for degrees of freedom (DOFs). Since int is typically 32-bit, this limited the largest problem size to be smaller than approximately two billion DOFs. This was true even if a distributed memory machine could handle larger problems. We have added optional support for C++ long long data-type, which is at least 64-bit wide, for global indices. To save memory, maintain the speed of memory-bound operations, and reduce further changes to the code, the local indices are still 32-bit. We document the changes required to achieve this feature and how the new functionality can be used. We also report on the lessons learned in modifying a mature and popular package from various perspectives design goals, backward compatibility, engineering decisions, C++ language features, effects on existing users and other packages, and build integration.

Jhurani, Chetan↗

Parallel auto-correlative statistics with VTK.

This report summarizes existing statistical engines in VTK and presents both the serial and parallel auto-correlative statistics engines. It is a sequel to [PT08, BPRT09b, PT09, BPT09, PT10] which studied the parallel descriptive, correlative, multi-correlative, principal component analysis, contingency, k-means, and order statistics engines. The ease of use of the new parallel auto-correlative statistics engine is illustrated by the means of C++ code snippets and algorithm verification is provided. This report justifies the design of the statistics engines with parallel scalability in mind, and provides scalability and speed-up analysis results for the autocorrelative statistics engine.

Pebay, Philippe Pierre↗

3013 DE Inner Container Closure Weld Corrosion Evaluation

Destructive evaluation (DE) of 3013 containers is one part of the U. S. Department of Energy Integrated Surveillance Program. During standard DE of 3013 containers, visual examinations for pitting and stress corrosion cracking (SCC) are performed on the accessible surfaces of the outer, inner, and convenience containers, which make up the 3013 container. As a result of 3013 DE additional analysis, the area near the inner container closure weld has been identified as being a region of increased corrosion susceptibility, which may provide a pathway for corrosive gases to the outer container. This area has a higher residual stress, an altered microstructure, and less corrosion resistant weld oxides as a result of the welding process as well as a lower temperature than other areas of the container, which may increase the absorption of moisture on the surface. The deposition of moisture in this stressed region could lead to pitting and stress corrosion cracking. During FY2013, the inner container closure weld area was more closely evaluated on several archived samples from DE containers. These containers included FY09 DE2, FY12 DE4, FY12 DE6 and FY12 DE7 and the Hanford High Moisture Container. The additional examinations included visual observations with a stereomicroscope, scanning electron microscopy along with energy dispersive spectroscopy for chemical analysis, and serial metallography of the sidewall and lid that are part of the inner container closure weld region. Pitting was observed in all the samples taken from the closure weld regions of the examined inner containers. This pitting was generally less 20 µm with most less than 5µm. These pits were similar in depth to those observed in the vapor exposed surfaces of teardrops in the shelf life corrosion testing. Cracking was not observed on either the vapor-exposed surfaces of the teardrop coupons or the inner container closure weld region. Further testing is necessary to determine if the conditions in the welded inner container could support SCC during the 50 year life time for the 3013 container.

36 MATERIALS SCIENCE↗

Hanford Single-Shell Tank Leak Causes and Locations - 241-BY and 241-TY Farm

This document identifies 241-BY Tank Farm (BY Farm) and 241-TY Tank Farm (TY Farm) leak causes and locations for the 100-series leaking tanks in BY and TY Farm. The leak causes and locations report for all of the 100-series single-shell leaking tanks is one of the targets (M-045-91-T04) in the Hanford Federal Facility Agreement and Consent Order milestone M-045-91F. The T04 target requires that the Department of Energy provide to State of Washington, Department of Ecology (Ecology) a report on the 100-series single-shell tanks which have been or will be identified as having leaked in RPP-32681, Rev. 0, Process to Assess Tank Farm Leaks in Support of Retrieval and Closure Planning, leak assessment reports. The leak assessment report for BY Farm, RPP-RPT-43704, Rev. 0A, Hanford BY-Farm Leak Assessments Report, lists one 100-series tank that either continues to be or is recommended to be classified as a leaking tank in BY Farm, 241-BY-103 (BY-103). The leak assessment report for TY Farm, RPP-RPT-42296, Rev, 0, Hanford TY-Farm Leak Assessments Report, lists four 100-series tanks that either continue to be or are recommended to be classified leaking tanks in TY Farm, 241-TY-103 (TY-103), 241-TY-104 (TY-104), 241-TY-105 (TY-105), and 241-TY-106 (TY-106). All of the other eleven 100-series tanks in BY Farm and two 100-series tanks in TY Farm are classified as “sound” or are identified in RPP-RPT-43704, Rev. 0A, and RPP-RPT-42296, Rev. 0, respectively, as requiring re-assessment of their classification per TFC-ENG-CHEM-D-42, Tank Leak Assessment Process. The TFC-ENG-CHEM-D-42 assessments are not part of the M-045-91-T04 target. This BY and TY Farm leak causes and locations document is part of a series of tank farm reports that identify leak causes and locations for 100-series leaking tanks. A summary and conclusions document will be issued, RPP-RPT-54909, Hanford Single-Shell Tank Leak Causes and Locations – Summary, that compiles the results from all of the leak causes and locations tank farm reports when they have been issued which will fulfill the T04 target requirements. The identification of four of the five leaking BY and TY Farm tank leak locations focused on the first indication of radiation detected in drywells as well as liquid level decreases as appropriate, with the exception of tank TY-104 which could not be identified. Leak detection laterals were not installed underneath the BY and TY Farm tanks. For TY Farm, direct pushes were installed in 2005 to further characterize the tank leaks which were used to collaborate with the drywell data. The BY and TY Farm leaking tanks were likely due to chemistry-corrosion from the storage of Tri-butyl phosphate (TBP) waste which is conducive to stress corrosion cracking and pitting. Thermal shock (rate of temperature rise) and tank construction conditions (cold weather ductile-to-brittle transition temperature impact effects) were also likely to have affected tank integrity. There appears to be very little contribution from tank design and liner bulging. However, some or all of the factors can act serially or together to contribute to tank liner failure. The leaking BY and TY Farm tanks all stored undiluted TBP waste whereas the sound tanks stored diluted TBP waste as well as other waste types.

12 MANAGEMENT OF RADIOACTIVE AND NON-RADIOACTIVE W↗

DARHT Axis II Cathode 12 (S/N 15) History as Recorded in the Historian and Shot Data Databases (DARHT Technical Note No. 501)

Long DARHT II injector cathode operating lifetimes are desirable for flash radiography of hydrodynamic tests at the dual-axis radiographic hydrotest facility (DARHT). The specification for cathode operating lifetime given to Spectra-Mat in the purchase orders for the 311X-M cathodes is ≥ 1000 hours at full operating temperature (~1120 °C). Of the five most-recent cathodes operated on DARHT II, only two have met this specification. It is desirable to have cathodes lifetimes considerably longer than the specified 1000 hours. In this report we present the thermal and vacuum history of cathode 12 (serial no. [S/N] 15), a 311X-M cathode, as recorded in the historian database and the shot data database. The hope is that by examining this history we can identify the parameter (or parameters) that are limiting the DARHT II 311X-M cathode lifetimes. This is the first in a series of 5 DARHT Tech Notes in which recent cathode thermal and vacuum histories are examined. The other tech notes in this series are DARHT Tech Notes Nos. 502 (cathode 13, S/N 19), 503 (cathode 14, S/N 20), 504 (cathode 15, S/N 21), and 505 (cathode 16, S/N 22). In DARHT Tech Note No. 506 we will compare the recorded thermal and vacuum histories of cathodes 12-16 and attempt to understand the cathode lifetime limitations based on the stored cathode data presented in DARHT Tech Notes 501-505 and other relevant information.

42 ENGINEERING↗

Hierarchical Petascale Simulation Framework For Stress Corrosion Cracking

A number of major accomplishments resulted from the project. These include: • Data Structures, Algorithms, and Numerical Methods for Reactive Molecular Dynamics. We have developed a range of novel data structures, algorithms, and solvers (amortized ILU, Spike) for use with ReaxFF and charge equilibration. • Parallel Formulations of ReactiveMD (Purdue ReactiveMolecular Dynamics Package, PuReMD, PuReMD-GPU, and PG-PuReMD) for Messaging, GPU, and GPU Cluster Platforms. We have developed efficient serial, parallel (MPI), GPU (Cuda), and GPU Cluster (MPI/Cuda) implementations. Our implementations have been demonstrated to be significantly better than the state of the art, both in terms of performance and scalability. • Comprehensive Validation in the Context of Diverse Applications. We have demonstrated the use of our software in diverse systems, including silica-water, silicon-germanium nanorods, and as part of other projects, extended it to applications ranging from explosives (RDX) to lipid bilayers (biomembranes under oxidative stress). • Open Source Software Packages for Reactive Molecular Dynamics. All versions of our soft- ware have been released over the public domain. There are over 100 major research groups worldwide using our software. • Implementation into the Department of Energy LAMMPS Software Package. We have also integrated our software into the Department of Energy LAMMPS software package.

36 MATERIALS SCIENCE↗

DARHT Axis II Cathode 16 (S/N 22) History as Recorded in the Historian and Shot Data Databases

Long DARHT II injector cathode operating lifetimes are desirable for flash radiography of hydrodynamic tests at the dual-axis radiographic hydrotest facility (DARHT). The specification for cathode operating lifetime given to Spectra-Mat in the purchase orders for the 311X-M cathodes is ≥ 1000 hours at full operating temperature (~1120 oC). Of the five most-recent cathodes operated on DARHT II, only two have met this specification. It is desirable to have cathodes lifetimes considerably longer than the specified 1000 hours. In this report we present the thermal and vacuum history of cathode 16 (serial no. [S/N] 22), a 311X-M cathode, as recorded in the historian database and the shot data database. The hope is that by examining this history we can identify the parameter (or parameters) that are limiting the DARHT II 311X-M cathode lifetimes. This is the fifth in a series of 5 DARHT Tech Notes in which recent cathode thermal and vacuum histories are examined. The other tech notes in this series are DARHT Tech Notes Nos. 501 (cathode 12, S/N 15), 502 (cathode 13, S/N 19), 503 (cathode 14, S/N 20), and 504 (cathode 15, S/N 21). In DARHT Tech Note No. 506 we will compare the recorded thermal and vacuum histories of cathodes 12-16 and attempt to understand the cathode lifetime limitations based on the stored cathode data presented in DARHT Tech Notes 501-505 and other relevant information.

43 PARTICLE ACCELERATORS↗

Heterogeneous scalable framework for multiphase flows

Two categories of challenges confront the developer of computational spray models: those related to the computation and those related to the physics. Regarding the computation, the trend towards heterogeneous, multi- and many-core platforms will require considerable re-engineering of codes written for the current supercomputing platforms. Regarding the physics, accurate methods for transferring mass, momentum and energy from the dispersed phase onto the carrier fluid grid have so far eluded modelers. Significant challenges also lie at the intersection between these two categories. To be competitive, any physics model must be expressible in a parallel algorithm that performs well on evolving computer platforms. This work created an application based on a software architecture where the physics and software concerns are separated in a way that adds flexibility to both. The develop spray-tracking package includes an application programming interface (API) that abstracts away the platform-dependent parallelization concerns, enabling the scientific programmer to write serial code that the API resolves into parallel processes and threads of execution. The project also developed the infrastructure required to provide similar API s to other application. The API allow object-oriented Fortran applications direct interaction with Trilinos to support memory management of distributed objects in central processing units (CPU) and graphic processing units (GPU) nodes for applications using C++.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

Design of the beam combination section for stochastic injection

The stochastic injection scenario proposed by D. Neuffer in early 1980’s [1] features the injection and acceptance of pions into the muon storage ring, and is used in the design and simulation of nuSTORM injection and ring [2,3]. The pions decay to muons in the long decay straight section of the ring, then the secondary muons are accepted by the straight FODO structure. The critical design element in this scenario is the Beam Combination Section (BCS), which serially includes a defocusing quadrupole, a bending dipole, and a focusing quadrupole. This paper describes in detail the the design of such a BCS and the matching from this BCS to the downstream side of magnetic horn used to collect the pions after target.

43 PARTICLE ACCELERATORS↗

Meshkit

MeshKit is an open-source library for mesh generation and related algorithms. MeshKit is designed both for users that perform mesh generation and for developers that develop meshing algorithm/application(s). MeshKit includes new meshing algorithms implemented first in this library, as well as interfaces to meshing algorithms/packages developed in DOE Labs and elsewhere. MeshKit uses a directed graph-based approach for organizing meshing problems that supports both traditional BREP-driven meshing as well as more general meshing processes and tools. One such tool is the Reactor Geometry (and mesh) Generator (RGG); RGG generates hexagonal and rectangular reactor geometries and meshes from text-based input in serial and parallel. It has been used to support a variety of reactor simulation codes and reactor types. Although primarily a library, MeshKit is also supporting a collaboration with Kitware to develop a graphical/GUI interface to the library.

Jain, Rajeev↗

LANL SDAV Visualization Update [Slides]

Xeon Phi (MIC) on Stampede: •To demonstrate the portability of our algorithms, the same code was compiled to the Thrust OpenMP backend (including our own OpenMP implementation of scan) and run on a 2563 particle data set on an Intel Xeon Phi SE10P (MIC) Coprocessor on a single node of Stampede at TACC • PISTON version scales to more cores than running the existing serial algorithms with multiple MPI processes. Titan: • This test problem has ~90 million particles per process. • Due to memory constraints on the GPUs, we utilize a hybrid approach, in which the halos are computed on the CPU but the centers on the GPU. • The PISTON MBP center finding algorithm requires much less memory than the halo finding algorithm but provides the large majority of the speed-up, since MBP center finding takes much longer than FOF halo finding with the original CPU code. In-situ Integration in HACC: • Successfully ran 500 time-step, 512 3 particle simulation on Moonlight using our GPU halo and center finders integrated with HACC in-situ • Completed prototype integration with CosmoTools

97 MATHEMATICS AND COMPUTING↗

Development of the Mathematics of Learning Curve Models for Evaluating Small Modular Reactor Economics

The cost of nuclear power is a straightforward yet complicated topic. It is straightforward in that the cost of nuclear power is a function of the cost to build the nuclear power plant, the cost to operate and maintain it, and the cost to provide fuel for it. It is complicated in that some of those costs are not necessarily known, introducing uncertainty into the analysis. For large light water reactor (LWR)-based nuclear power plants, the uncertainty is mainly contained within the cost of construction. The typical costs of operations and maintenance (O&M), as well as fuel, are well known based on the current fleet of LWRs. However, the last currently operating reactor to come online was Watts Bar 1 in May 1996; thus, the expected construction costs for gigawatt (GW)-class reactors in the United States are based on information nearly two decades old. Extrapolating construction, O&M, and fuel costs from GW-class LWRs to LWR-based small modular reactors (SMRs) introduces even more complication. The per-installed-kilowatt construction costs for SMRs are likely to be higher than those for the GW-class reactors based on the property of the economy of scale. Generally speaking, the economy of scale is the tendency for overall costs to increase slower than the overall production capacity. For power plants, this means that doubling the power production capacity would be expected to cost less than twice as much. Applying this property in the opposite direction, halving the power production capacity would be expected to cost more than half as much. This can potentially make the SMRs less competitive in the electricity market against the GW-class reactors, as well as against other power sources such as natural gas and subsidized renewables. One factor that can potentially aid the SMRs in achieving economic competitiveness is an economy of numbers, as opposed to the economy of scale, associated with learning curves. The basic concept of the learning curve is that the more a new process is repeated, the more efficient the process can be made. Assuming that efficiency directly relates to cost means that the more a new process is repeated successfully and efficiently, the less costly the process can be made. This factor ties directly into the factory fabrication and modularization aspect of the SMR paradigm—manufacturing serial, standardized, identical components for use in nuclear power plants can allow the SMR industry to use the learning curves to predict and optimize deployment costs.

small modular reactors (SMRs)↗

LDRD Report: Scheduling Irregular Algorithms

This LDRD project was a campus exec fellowship to fund (in part) Donald Nguyen’s PhD research at UT-Austin. His work has focused on parallel programming models, and scheduling irregular algorithms on shared-memory systems using the Galois framework. Galois provides a simple but powerful way for users and applications to automatically obtain good parallel performance using certain supported data containers. The naïve user can write serial code, while advanced users can optimize performance by advanced features, such as specifying the scheduling policy. Galois was used to parallelize two sparse matrix reordering schemes: RCM and Sloan. Such reordering is important in high-performance computing to obtain better data locality and thus reduce run times.

97 MATHEMATICS AND COMPUTING↗

PETSc Users Manual (Rev. 3.3)

This manual describes the use of PETSc for the numerical solution of partial differential equations and related problems on high-performance computers. The Portable, Extensible Toolkit for Scientific Computation (PETSc) is a suite of data structures and routines that provide the building blocks for the implementation of large-scale application codes on parallel (and serial) computers. PETSc uses the MPI standard for all message-passing communication. PETSc includes an expanding suite of parallel linear, nonlinear equation solvers and time integrators that may be used in application codes written in Fortran, C, C++, Python, and MATLAB (sequential). PETSc provides many of the mechanisms needed within parallel application codes, such as parallel matrix and vector assembly routines. The library is organized hierarchically, enabling users to employ the level of abstraction that is most appropriate for a particular problem. By using techniques of object-oriented programming, PETSc provides enormous flexibility for users. PETSc is a sophisticated set of software tools; as such, for some users it initially has a much steeper learning curve than a simple subroutine library. In particular, for individuals without some computer science background, experience programming in C, C++ or Fortran and experience using a debugger such as gdb or dbx, it may require a significant amount of time to take full advantage of the features that enable efficient software use. However, the power of the PETSc design and the algorithms it incorporates may make the efficient implementation of many application codes simpler than “rolling them” yourself; For many tasks a package such as MATLAB is often the best tool; PETSc is not intended for the classes of problems for which effective MATLAB code can be written. PETSc also has a MATLAB interface, so portions of your code can be written in MATLAB to “try out” the PETSc solvers. The resulting code will not be scalable however because currently MATLAB is inherently not scalable; and PETSc should not be used to attempt to provide a “parallel linear solver” in an otherwise sequential code. Certainly all parts of a previously sequential code need not be parallelized but the matrix generation portion must be parallelized to expect any kind of reasonable performance. Do not expect to generate your matrix sequentially and then “use PETSc” to solve the linear system in parallel. Since PETSc is under continued development, small changes in usage and calling sequences of routines will occur. PETSc is supported; see the web site http://www.mcs.anl.gov/petsc for information on contacting support. A http://www.mcs.anl.gov/petsc/publications may be found a list of publications and web sites that feature work involving PETSc. We welcome any reports of corrections for this document.

97 MATHEMATICS AND COMPUTING↗

PETSc Users Manual (Rev. 3.4)

This manual describes the use of PETSc for the numerical solution of partial differential equations and related problems on high-performance computers. The Portable, Extensible Toolkit for Scientific Computation (PETSc) is a suite of data structures and routines that provide the building blocks for the implementation of large-scale application codes on parallel (and serial) computers. PETSc uses the MPI standard for all message-passing communication. PETSc includes an expanding suite of parallel linear, nonlinear equation solvers and time integrators that may be used in application codes written in Fortran, C, C++, Python, and MATLAB (sequential). PETSc provides many of the mechanisms needed within parallel application codes, such as parallel matrix and vector assembly routines. The library is organized hierarchically, enabling users to employ the level of abstraction that is most appropriate for a particular problem. By using techniques of object-oriented programming, PETSc provides enormous flexibility for users. PETSc is a sophisticated set of software tools; as such, for some users it initially has a much steeper learning curve than a simple subroutine library. In particular, for individuals without some computer science background, experience programming in C, C++ or Fortran and experience using a debugger such as gdb or dbx, it may require a significant amount of time to take full advantage of the features that enable efficient software use. However, the power of the PETSc design and the algorithms it incorporates may make the efficient implementation of many application codes simpler than “rolling them” yourself; For many tasks a package such as MATLAB is often the best tool; PETSc is not intended for the classes of problems for which effective MATLAB code can be written. PETSc also has a MATLAB interface, so portions of your code can be written in MATLAB to “try out” the PETSc solvers. The resulting code will not be scalable however because currently MATLAB is inherently not scalable; and PETSc should not be used to attempt to provide a “parallel linear solver” in an otherwise sequential code. Certainly all parts of a previously sequential code need not be parallelized but the matrix generation portion must be parallelized to expect any kind of reasonable performance. Do not expect to generate your matrix sequentially and then “use PETSc” to solve the linear system in parallel. Since PETSc is under continued development, small changes in usage and calling sequences of routines will occur. PETSc is supported; see the web site http://www.mcs.anl.gov/petsc for information on contacting support. A http://www.mcs.anl.gov/petsc/publications may be found a list of publications and web sites that feature work involving PETSc. We welcome any reports of corrections for this document.

97 MATHEMATICS AND COMPUTING↗

PETSc Users Manual (Rev. 3.5)

This manual describes the use of PETSc for the numerical solution of partial differential equations and related problems on high-performance computers. The Portable, Extensible Toolkit for Scientific Computation (PETSc) is a suite of data structures and routines that provide the building blocks for the implementation of large-scale application codes on parallel (and serial) computers. PETSc uses the MPI standard for all message-passing communication. PETSc includes an expanding suite of parallel linear, nonlinear equation solvers and time integrators that may be used in application codes written in Fortran, C, C++, Python, and MATLAB (sequential). PETSc provides many of the mechanisms needed within parallel application codes, such as parallel matrix and vector assembly routines. The library is organized hierarchically, enabling users to employ the level of abstraction that is most appropriate for a particular problem. By using techniques of object-oriented programming, PETSc provides enormous flexibility for users. PETSc is a sophisticated set of software tools; as such, for some users it initially has a much steeper learning curve than a simple subroutine library. In particular, for individuals without some computer science background, experience programming in C, C++ or Fortran and experience using a debugger such as gdb or dbx, it may require a significant amount of time to take full advantage of the features that enable efficient software use. However, the power of the PETSc design and the algorithms it incorporates may make the efficient implementation of many application codes simpler than “rolling them” yourself. ;For many tasks a package such as MATLAB is often the best tool; PETSc is not intended for the classes of problems for which effective MATLAB code can be written. PETSc also has a MATLAB interface, so portions of your code can be written in MATLAB to “try out” the PETSc solvers. The resulting code will not be scalable however because currently MATLAB is inherently not scalable; and PETSc should not be used to attempt to provide a “parallel linear solver” in an otherwise sequential code. Certainly all parts of a previously sequential code need not be parallelized but the matrix generation portion must be parallelized to expect any kind of reasonable performance. Do not expect to generate your matrix sequentially and then “use PETSc” to solve the linear system in parallel. Since PETSc is under continued development, small changes in usage and calling sequences of routines will occur. PETSc is supported; see the web site http://www.mcs.anl.gov/petsc for information on contacting support. A http://www.mcs.anl.gov/petsc/publications may be found a list of publications and web sites that feature work involving PETSc. We welcome any reports of corrections for this document.

97 MATHEMATICS AND COMPUTING↗