Equation Solution  
    High Performance by Design
Navigation Tree  
'- - Programming Tools
'- - Parallel Computing
|     '- - LAIPE
|     |     '- - Benchmark
|     |     '- - Java LAIPE
|     '- - LAIPE2
|     '- - neuLoop
|     '- - MTASK
'- - Blog
'- - In-Situ Evaluation
'- - Numerical Analysis
'- - Structural Mechanics
|     '- - IFAS
|     '- - mCable
'- - Write Us
|     '- - Feedback  
|     '- - Info  
|     '- - Support  
|     '- - Webmaster  
'- - Privacy Policy

LAIPE: parallel direct solvers


        LAIPE, a high performance package of parallel direct solvers, stands for "link and in parallel execute". The package was initially released in 1995. Link your program against LAIPE library. Your program not only run on uniprocessor but also speed up on multiprocessors and multicores. The package has powerful parallel direct solvers for the solution of linear system equations. LAIPE allows scientific and engineering computing to take a full advantage of multi-core and multi-processor computers without extra programming efforts.


        Most parallel programs distribute instructions within a LOOP onto threads, for example, an attempt to execute a loop in parallel by the directive, PARALLEL DO, of OpenMP. No impressing speedup has been reported by parallelizing DO LOOP.

        Unlike those parallel programs by parallelizing DO LOOP, LAIPE solvers are programmed in asynchronous parallel algorithms. A solver is broken down into an asynchronous procedure. LAIPE does not parallelize DO LOOPs. Asynchronous parallel algorithms are the most efficient way for parallel computing, which can be programmed on memory-sharing and message-passing machines. In this release, LAIPE has all kinds of parallel direct solvers for scientific and engineering computing. LAIPE includes
  • parallel dense solver:
    (for dense symmetric, asymmetric, positive definite, and indefinite systems)
  • parallel dense solver with full pivoting
  • parallel dense solver with partial pivoting
  • parallel band solver:
    (for sparse symmetric, asymmetric, positive definite, and indefinite system)
  • parallel band solver with partial pivoting
  • parallel multi-entry direct solver for band system
  • parallel skyline solver:
    (for sparse symmetric, asymmetric, positive definite, indefinite systems)
In the above, parallel band solver and parallel skyline solver are the most well known parallel sparse solver. LAIPE has a parallel direct solver for your application. For manual, click here.


        Powerful parallel direct solvers of LAIPE can yield an almost perfect speedup. For example, the following is a performance of a benchmark.

CPUs elapsed time speedup efficiency
1 18.33 1.00 100.0%
2 9.29 1.97 98.7%
3 6.29 2.91 97.1%
4 4.80 3.81 95.5%

        The elapsed time is almost reduced in half when two processors present. When four processors present, LAIPE solver almost speeds up to 4x. Efficiencies, the ratio of speedup to number of employed processors, are above 95%. The parallel performance is highly efficient.

        Most parallel libraries or programs never disclose speedup. Those software never shows how much speedup can be achieved on multicores. The fact is that not every parallel software can gain a speedup on multicores. Poor performance parallel software runs slower than sequential software, and gets worse. LAIPE is different. LAIPE can yield highly efficient speedup. Equation Solution always disclose speedup, and provide benchmarks to show users a speedup. The benchmark can be downloaded on this site.

        LAIPE solvers are programmed in MTASK. The methods programmed in LAIPE are parallel in nature, and are asynchronous. LAIPE allows scientific and engineering computing to take a full advantage of multi-core and multi-processor computers. Just link and run.