Thursday, October 30, 2014


far-fetched yet fun

Monday, October 27, 2014


Parallel debugging (MPI) - Part 1

Ahem, ahem, searching a needle in a hay stack is easy compared to parallel debugging in MPI, or as a matter parallel debugging. Having overstated the problem in our hands, there are few solutions or workarounds of how to get our hands in the dirty waters and have some fun.



There are two ways (as always) to get our work done, either use free tools or give an arm or leg to buy a fancy debugger.

1. Fancy debuggers,  Allinea DDTTotalViewIntel (Windows)Intel (Linux) to name some.
2. Free debuggers, gdb / valgrind to some extent, Eclipse PTP, etc
(Let us know for any others out there)

Read complete article by the chaps at OpenMPI.

1. gdb

gdb can be used as follows;

mpirun -np <NP> xterm -e gdb ./program 

This the launches xterm windows in which I can do

run <arg1> <arg2> ... <argN>

Should work the same with ddd (GUI for gdb)

2. valgrind (more at this link)

First of all, you have to make sure that Valgrind 3.2.0 or later is installed, and Open MPI is compiled with Memchecker enabled. Then simply run you application with Valgrind, e.g.:

mpirun -np 2 valgrind ./program



3. Eclipse PTP 

Official pageDownload page for Eclipse ParallelRelease Notes

More coming soon on this, looks interesting as they claim to have a parallel debugger !


Other Useful Links :

Some advanced tools, STAT.

A comparison on Wikipedia can be found here.


Sunday, October 26, 2014

Hello all,

I would like to bring in your attention about the power of python, for application in scientific computing. Whilst many people use Fortran,C/C++ for scientific python, a lot of tasks can be automated such as plotting graphs, creating contours calling several external libraries and coupling codes without the need of mixed language programming.

Here's a quick and basic introduction to scipy (Scientific python) which describes the scientific computing based in python:

Click here



Please do comment, suggest, correct and add to our posts

Friday, October 24, 2014


CFD Post-processing in Blender

To generate colourful pictures

Tools needed : paraview and Blender


Tuesday, October 7, 2014


PetSc Tutorial (C type) - Introduction


After a long struggle (3 days) on getting my hands-on PetSc library, I have compiled few helpful quickies to getting a legacy (or user) code to exploit PetSc functionality. This is not a complete tutorial and I have skipped parts which I do not use !

What is PetSc ?
A numerical algorithms framework with standard linear solvers (and more) for scalable (or super) computers. It is written in C, but can be called fom FORTRAN, C/C++, Python, Java and can run on virtually any OS. It is highly portable but has a steep learning curve (atleast till you get the hang of it).

  • It is built on MPI, BLAS, LAPACK.
  • And it works on objects like Vec (array) and Mat (Matrices).
  • Parallelism & options can be set at runtime. (One code for sequential & parallel)
  • Also, has capabilities to work with (MPI + ...) OpenMP, CUDA, etc
  • Has interfaces to a huge number of standard libraries.

One good tutorial (out of many) would be http://59a2.org/files/20130618-PRACE.pdf



Subscribe to RSS Feed Follow me on Twitter!