Boost logo

Boost Users :

Subject: [Boost-users] [BGL] Distributed adiacency_list memory allocation
From: Cosimo Calabrese (cosimo.calabrese_at_[hidden])
Date: 2011-05-01 13:27:11

Hi to all,

I'm working on WinXP, VS2010, Boost 1.46.1. I've writed this short program:

#include <boost/graph/use_mpi.hpp>
#include <boost/graph/distributed/mpi_process_group.hpp>
#include <boost/graph/distributed/adjacency_list.hpp>

using boost::graph::distributed::mpi_process_group;

typedef boost::property<boost::vertex_distance_t, long,
         boost::property<boost::vertex_name_t, std::string > >
typedef boost::property<boost::edge_weight_t, long > edge_prop;
typedef boost::adjacency_list<
     boost::vecS, boost::distributedS<mpi_process_group, boost::vecS>,
     boost::directedS, vertex_prop, edge_prop > Graph;
typedef boost::graph_traits<Graph>::edge_descriptor EdgeDescriptor;
typedef boost::graph_traits<Graph>::vertex_descriptor VertexDescriptor;

int main(int argc, char* argv[])
     boost::mpi::environment env(argc,argv);
     Graph g( 10 );
     return 0;

When I launch it, every process allocates about 1 GB of memory. Why it
allocates all that memory? Is it normal? Is there any tuning to the PBGL
framework that I must made?

I use it on a 2-core machine, and the command that I use is:

mpiexec -n 2 .\test.exe

I've tried with openMPI 1.4.3 and Microsoft HPC Pack 2008, but it seems

Thanks in advance,
Cosimo Calabrese.

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at