diff --git a/examples/mpi_hello_world.c b/examples/mpi_hello_world.c new file mode 100644 index 0000000..10cb287 --- /dev/null +++ b/examples/mpi_hello_world.c @@ -0,0 +1,30 @@ +#include +#include + +int main(int argc, char** argv) { + // Initialize the MPI environment. The two arguments to MPI Init are not + // currently used by MPI implementations, but are there in case future + // implementations might need the arguments. + MPI_Init(NULL, NULL); + + // Get the number of processes + int world_size; + MPI_Comm_size(MPI_COMM_WORLD, &world_size); + + // Get the rank of the process + int world_rank; + MPI_Comm_rank(MPI_COMM_WORLD, &world_rank); + + // Get the name of the processor + char processor_name[MPI_MAX_PROCESSOR_NAME]; + int name_len; + MPI_Get_processor_name(processor_name, &name_len); + + // Print off a hello world message + printf("Hello world from processor %s, rank %d out of %d processors\n", + processor_name, world_rank, world_size); + + // Finalize the MPI environment. No more MPI calls can be made after this + MPI_Finalize(); +} + diff --git a/swarmlab/run b/swarmlab/run new file mode 100644 index 0000000..b4f1472 --- /dev/null +++ b/swarmlab/run @@ -0,0 +1,5 @@ +#!/bin/bash + +mpicc -o /project/mpi_hello_world ../examples/mpi_hello_world.c +sudo -u mpi scp /projects/mpi_hello_world mpi@10.0.8.10:/project/mpi_hello_world +sudo -u mpi mpirun -n 10 -f /projects/hosts /project/mpi_hello_world 2>&1 | tee /project/output.log diff --git a/swarmlab/runbefore b/swarmlab/runbefore new file mode 100644 index 0000000..69a3ca6 --- /dev/null +++ b/swarmlab/runbefore @@ -0,0 +1,5 @@ +#!/bin/bash + +IP_ADDR=$(ip addr show | grep "inet " | grep "eth0" | awk '{print $2}') +nmap -sP $IP_ADDR | grep ondemand_mpi_worker | awk -F "[()]" '{ for (i=2; i /project/hosts +