views:

47

answers:

3

Hello,

I am working in scientific computing and developing a petsc-based application for a multi-cpu-system.

For debugging purposes, I want to install that very software on my own pc, which is a dual-core system running Ubuntu (Karmic Koala).

But I do not know which resources to use. There are debian packages, as well as sources-archives on the web. I know there are various issues when compiling and linking these packages, therefore this trouble is what I want to avoid most!

I do not care about performance (at least not too much), as I will use this software only for debugging, hence usability is most important to me.

Can somebody give advice?

+1  A: 

Try CentOS. It is based on Red Hat Linux and is free. We develop a scientific software package and find the environment convenient for debugging and development.

agg
I don't think changing OS is necessary for working on PETSc...
ccook
+2  A: 

Use native (i.e. Ubuntu) packages when they exist and you don't have any specific reason to do otherwise.

Roman Cheplyaka
+1  A: 

Use Open MPI or MPICH2 (get either from the package manager), I somewhat prefer the former. If you are sure that the code for this third-party project is rock solid, then you can use the Ubuntu package, but if it uses PETSc heavily and you plan to be debugging that library, then you should build your own PETSc in debug mode (the packaged version is optimized only).

PETSc does a lot of integrity checking only in debug mode, including

  • Placing sentinels to detect client memory errors.
  • Checking that index sets are sorted or disjoint, or a permutation.
  • Keeping track of the stack so it can print a proper stack trace (file:line function()) on errors or signals (like SEGV).
  • Logging memory so it can print a snapshot of the allocation stack for leaked memory in a summary when the program exits (similar to valgrind, but 1000 times faster).

This will save a lot of time if you are debugging client code. Building PETSc these days is very straightforward, but if you have problems, ask [email protected] (no need to subscribe) or the list at [email protected].

Jed