wiki:tops

Version 2 (modified by norris, 14 years ago) (diff)

--

TOPS Interfaces and Components

The TOPS Solver Component (TSC) is a Babel/SIDL based CCA-compliant HPC software component (henceforth shortened to CCA component). It provides direct access to virtually all of the TOPS (as well as many other) linear and nonlinear algebraic solvers including geometric and algebraic multigrid (a partial list may be found here).

TOPS solvers may be used in three distinct ways:

  1. as a solver component (TSC),
  2. through a common C, C++, Fortran, Python language binding (PETSc),
  3. through each package's individual binding.

For all three approaches first download and install the CCA tools, PETSc, and then obtain and install the TOPS software. (These pages ONLY describe using the TOPS Solver Components, consult PETSc or each package directly to see how to use them as traditional software libraries).

The application developer interacts with the TSC by constructing a CCA component that implements the TOPS.System interface and one or more problem specific interfaces. This System component will define the algebraic system to be solved.

The TSC and the System component can be combined using a traditional programming language, a component scripting language or a component GUI (see demo) such as ccaffeine. The TSC and the System component then collaborate to solve one or more algebraic problems. Complex applications will likely also couple several additional CCA components, see the CCA tutorials for more information on writing applications using CCA components.

The TOPS component generator can be used to generate the SIDL for your problem and all the boilerplate code needed to use it as a CCA component.