Cisco Blogs


Cisco Blog > High Performance Computing Networking

My new favorite Open MPI mpirun feature: tab completion

November 1, 2013 at 5:00 am PST

Today’s guest author is Nathan Hjelm, a Scientist 2 at Los Alamos National Laboratory.

We recently added scripts to support tab completion of mpirun flags and run-time MCA configuration variables to the Open MPI trunk development. The scripts support both bash and zsh and have a number of useful features (depending on the shell).

Can’t remember how to spell that MCA parameter name? Just hit <TAB>.
Can’t remember which transports are available? Just hit <TAB>.
Can’t remember the name of that mpirun CLI option? Just hit <TAB>.

Read More »

Tags: , ,

Speaking at Lawrence Berkeley National Lab next week

October 30, 2013 at 9:45 am PST

Are you in the Northern California Bay Area and want to hear about Open MPI and/or Cisco’s usNIC technology next week?

If so, you’re in luck!

I’ll be speaking at Lawrence Berkeley Lab (LBL) next Thursday, November 7, 2013, at 2:30pm.  Click through to see the location and directions and whatnot (LBL requests that you RSVP if you plan to attend).

Read More »

Tags: , , ,

Hardware and software queuing

October 18, 2013 at 3:24 pm PST

I’ve talked before about how getting high performance in MPI is all about offloading to dedicated hardware.  You want to get software out of the way as soon as possible and let the underlying hardware progress the message passing at max speed.

But the funny thing about networking hardware: it tends to have limited resources.  You might have incredibly awesome NICs in your HPC cluster, but they only have a finite (small) amount of resources such as RAM, queues, queue depth, descriptors (for queue entries), etc.

Read More »

Tags: ,

MPI newbie: Building MPI applications

October 12, 2013 at 7:30 am PST

In a previous post, I gave some (very) general requirements for how to setup / install an MPI installation.

This is post #2 in the series: now that you’ve got a shiny new computational cluster, and you’ve got one or more MPI implementations installed, I’ll talk about how to build, compile, and link applications that use MPI.

To be clear: MPI implementations are middleware — they do not do anything remarkable by themselves.  MPI implementations are generally only useful when you have an application that uses the MPI middleware to do something interesting.

Read More »

Tags: , ,

EuroMPI’13 Cisco slides: Open MPI Process Affinity User Interface

September 18, 2013 at 5:17 am PST

The slides below are from my presentation at EuroMPI’13 about Open MPI’s flexible process affinity interface (in OMPI 1.7.2 and later).  I described this system in a prior blog entries (one, two, three), but many people keep asking me about it.

Josh Hursey from U. Wisconsin, LaCrosse, wrote this IMUDI paper about the interface (IMUDI is a sub-workshop of EuroMPI focusing on end-user issues) to get a little more publicity and awareness of this process affinity system.  Specifically, we designed this affinity system so that we could get feedback from real end users about what is useful and what is not.

Read More »

Tags: , , , , ,