Georg Hager’s Blog: Intel vs. GCC for the OpenMP vector triad: Barrier shootout!

Georg Hager’s Blog posted an illustrative article on icc versus g++ performance w.r.t. OpenMP. Dr. Georg Hager is one of the authors of Introduction to High Performance Computing for Scientists and Engineers.

Measurement of

double precision, dimension(N) :: a,b,c,d
! initialization etc. omitted
s = walltime()
!$omp parallel private(R,i)
do R=1,NITER
!$omp do
  do i=1,N
    a(i) = b(i) + c(i) * d(i)
!$omp end do
!$omp end parallel
MFlops = R*N/(e-s)/1.e6


icc versus g++


SUNDIALS (SUite of Nonlinear and DIfferential/ALgebraic equation Solvers)

Lawrence Livermore National Laboratory provides a suite of software packages for the solution of ordinary differential equations. This suite is called SUNDIALS.

SUNDIALS consists of

  1. CVODE: solves initial value problems for ordinary differential equation (ODE) systems; successor of GEAR, EPISODE, then LSODE
  2. CVODES: solves ODE systems and includes sensitivity analysis capabilities (forward and adjoint); successor of LSODES
  3. IDA: solves initial value problems for differential-algebraic equation (DAE) systems; successor of DASSL
  4. IDAS: solves DAE systems and includes sensitivity analysis capabilities (forward and adjoint); successor of DASSL
  5. KINSOL: solves nonlinear algebraic systems

These subroutines are all written in C and have separate Fortran interfaces. Its authors are
Carol Woodward, Alan Hindmarsh, and Radu Serban. Others have also contributed to these codes.

An overview can be found in this presentation.

Various questions can be asked and searched here:

For decades LSODE was used as a yardstick for the numerical solution of ODEs.

More on the history of LSODE can be found in an interview with Alan Hindmarsh.