Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
added MPI_Get_processor_name()
authorgenaud <genaud@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 22 Mar 2010 23:03:53 +0000 (23:03 +0000)
committergenaud <genaud@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 22 Mar 2010 23:03:53 +0000 (23:03 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@7300 48e7efb5-ca39-0410-a469-dd3cf9ba447f

include/smpi/smpi.h
src/smpi/smpi_mpi.c

index 016e9ec..842aeba 100644 (file)
@@ -157,6 +157,8 @@ XBT_PUBLIC(int) MPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], MP
 
 XBT_PUBLIC(int) MPI_Comm_rank(MPI_Comm comm, int* rank);
 XBT_PUBLIC(int) MPI_Comm_size(MPI_Comm comm, int* size);
 
 XBT_PUBLIC(int) MPI_Comm_rank(MPI_Comm comm, int* rank);
 XBT_PUBLIC(int) MPI_Comm_size(MPI_Comm comm, int* size);
+XBT_PUBLIC(int) MPI_Get_processor_name(char *name, int *resultlen);
+          
 XBT_PUBLIC(int) MPI_Comm_group(MPI_Comm comm, MPI_Group* group);
 XBT_PUBLIC(int) MPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int* result);
 XBT_PUBLIC(int) MPI_Comm_dup(MPI_Comm comm, MPI_Comm* newcomm);
 XBT_PUBLIC(int) MPI_Comm_group(MPI_Comm comm, MPI_Group* group);
 XBT_PUBLIC(int) MPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int* result);
 XBT_PUBLIC(int) MPI_Comm_dup(MPI_Comm comm, MPI_Comm* newcomm);
index ecead73..7bb89d2 100644 (file)
@@ -1067,3 +1067,16 @@ int MPI_Alltoallv(void* sendbuf, int* sendcounts, int* senddisps, MPI_Datatype s
   smpi_bench_begin(rank, "Alltoallv");
   return retval;
 }
   smpi_bench_begin(rank, "Alltoallv");
   return retval;
 }
+
+
+int MPI_Get_processor_name( char *name, int *resultlen ) {
+  int retval = MPI_SUCCESS;
+  smpi_bench_end(-1, NULL);
+  strcpy( name , SIMIX_host_get_name(SIMIX_host_self()));
+  name[MPI_MAX_PROCESSOR_NAME-1]='\0';
+  *resultlen= strlen(name) > MPI_MAX_PROCESSOR_NAME ? MPI_MAX_PROCESSOR_NAME : strlen(name);
+
+  smpi_bench_begin(-1, NULL);
+  return retval;
+}
+