
On 12 Apr 2010, at 08:14, Ilja Honkonen wrote:
Hello
I'm trying to install boost and its MPI bindings on a Cray XT5 and this is what I get after adding using mpi ; to user-config.jam: MPI auto-detection failed: unknown wrapper compiler /opt/cray/xt-asyncpe/3.3/bin/CC or MPI auto-detection failed: unknown wrapper compiler mpic++
(mpic++ -bash: mpic++: command not found)
If I understand correctly boost only checks for mpicc and related executables and also tries mpirun. None of these are supposed to be used on an XT5. The compiler commands to use are cc, CC and ftn. More information for I think the same machine: http://www.csc.fi/english/pages/louhi_guide/program_development/compilers/in...
This is how I'd run the test program from boost homepage Compile: cat > mpitesti.cpp << EOF #include
#include <iostream> int main(int argc, char* argv[]) { MPI_Init(&argc, &argv);
int rank; MPI_Comm_rank(MPI_COMM_WORLD, &rank); if (rank == 0) { int value = 17; int result = MPI_Send(&value, 1, MPI_INT, 1, 0, MPI_COMM_WORLD); if (result == MPI_SUCCESS) std::cout << "Rank 0 OK!" << std::endl; } else if (rank == 1) { int value; int result = MPI_Recv(&value, 1, MPI_INT, 0, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE); if (result == MPI_SUCCESS && value == 17) std::cout << "Rank 1 OK!" << std::endl; } MPI_Finalize(); return 0; } EOF
CC mpitesti.cpp -o mpitesti /opt/cray/xt-asyncpe/3.3/bin/CC: INFO: linux target is being used
Then submit a job: cat > mpitesti.job << EOF #!/bin/sh #PBS -N mpitesti #PBS -l mppwidth=2 #PBS -l mppnppn=1 #PBS -j oe #PBS -l walltime=00:00:10 cd \$PBS_O_WORKDIR aprun -n 2 -N 1 -cc cpu ./mpitesti EOF
qsub mpitesti.job 58665.sdb
And after a few seconds: cat mpitesti.o58661 Rank 0 OK! Rank 1 OK! Application 125625 resources: utime 0, stime 0
Actually CC can be one of four different compilers depending on which PrgEnv module I've chosen:
CC -V /opt/cray/xt-asyncpe/3.3/bin/CC: INFO: native target is being used
pgCC 9.0-4 64-bit target on x86-64 Linux -tp k8-64e Copyright 1989-2000, The Portland Group, Inc. All Rights Reserved. Copyright 2000-2009, STMicroelectronics, Inc. All Rights Reserved.
module switch PrgEnv-pgi PrgEnv-gnu
CC --version /opt/cray/xt-asyncpe/3.3/bin/CC: INFO: linux target is being used g++ (GCC) 4.3.3 20090124 (rpm:2) Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
etc.
I'd also like to use CC (and not necessarily g++) for compiling boost and not just its mpi bindings, how can I make bjam do that? Any other information you might need?
Hi Ilja, We did not bother with Boost.Build but build Boost and Boost.MPI using our own CMake build files on an XT5. Matthias