far-fetched yet fun
Thursday, October 30, 2014
Monday, October 27, 2014
2:00 PM
No comments
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.
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 |
Sunday, October 26, 2014
6:30 PM
1 comment
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
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
12:29 PM
No comments
CFD Post-processing in Blender
To generate colourful pictures
Tools needed : paraview and Blender
Tuesday, October 7, 2014
4:53 PM
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:
Posts (Atom)