Allinea Software Blog

Wed February 4, 2015 by Mark O'Connor

A whirlwind tour of Allinea MAP's new OpenMP profiling capabilities

We're going to see what Allinea MAP 5.0 can do by profiling three versions of a simple PI calculator program with some added I/O for good fun:

  1. A serial version
  2. An OpenMP version
  3. A mixed OpenMP and MPI version

Let's get started!

1. Profiling a serial code

The pi calculator is based on the classic MPI example code included in every MPICH distribution. I've modified it for you by adding some gratuitous I/O to make its profiles a little more exciting.

We run the code like this:

$ ./cpi
calculating pi...
pi is approximately 3.1415926535899708, Error is 0.0000000000001776
writing to disk...

And to profile it we just add “map --profile” in front, like this:...

Tue February 24, 2015 by Mark O'Connor
What are dangling pointers?

Dangling pointers are pointers whose memory has been freed but which have not been set to null (or 0x0). This allows a particularly tricky class of bug to arise, because it is often possible for subsequent code to keep on using the dangling pointer and to keep on getting valid-looking data – until suddenly that memory is repurposed for something else!

Wed February 11, 2015

Python is pretty commonplace in scientific computing these days. It is easy to code and powerful - but numerical computation is not a strength that Python has. Its interpreter simply can’t apply the advanced optimizations to your loops and floating point operations that a C++ or Fortran compiler can.

Sat January 10, 2015 by Mark O'Connor
Faster sequence alignment with Allinea Performance Reports

Recently we've been running bowtie2 on a 16 CPU server with 32 GB RAM. I've tried using the “-p” flag to use more cores but it doesn't seem to make a lot of difference after 8 or so.

Tue November 25, 2014 by Mark O'Connor

We’ve been profiling and tuning a lot of real-world HPC codes since the release of Allinea MAP and Allinea Performance Reports and one thing that’s consistently surprised us has been the number of codes that are memory-bound.

Mon November 3, 2014 by Florent Lebeau

OpenFOAM, developed by ESI-OpenCFD is one of the most popular tools for developing CFD (Computational Fluid Dynamics) applications, along with ANSYS Fluent or CD-Adapco Star-CCM+.

Tue September 9, 2014 by Mark O'Connor

This is the third in a three-part series exploring a crazy idea that was born at ISC14 while answering questions about the new energy metrics in Allinea Performance Reports and Allinea MAP – could the information in these reports show us an easy way to increase energy efficiency without having to change the program?