X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a3cfaa2faa67ffc56086239c68bc548fc48f3e62..930a31488b75c8969603b0b36666e8fdcdcfd3a7:/include/smpi/smpi.h?ds=sidebyside diff --git a/include/smpi/smpi.h b/include/smpi/smpi.h index 4fe9a6d836..fc4e0873e7 100644 --- a/include/smpi/smpi.h +++ b/include/smpi/smpi.h @@ -1,3 +1,9 @@ +/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team. + * All rights reserved. */ + +/* This program is free software; you can redistribute it and/or modify it + * under the terms of the license (GNU LGPL) which comes with this package. */ + #ifndef SMPI_H #define SMPI_H @@ -58,8 +64,7 @@ typedef struct { int MPI_SOURCE; int MPI_TAG; int MPI_ERROR; - int _count; - int _cancelled; + int count; } MPI_Status; #define MPI_STATUS_IGNORE NULL @@ -155,7 +160,7 @@ XBT_PUBLIC(double) MPI_Wtime(void); XBT_PUBLIC(int) MPI_Address(void *location, MPI_Aint *address); XBT_PUBLIC(int) MPI_Type_free(MPI_Datatype* datatype); -XBT_PUBLIC(int) MPI_Type_size(MPI_Datatype datatype, size_t* size); +XBT_PUBLIC(int) MPI_Type_size(MPI_Datatype datatype, int* size); XBT_PUBLIC(int) MPI_Type_get_extent(MPI_Datatype datatype, MPI_Aint* lb, MPI_Aint* extent); XBT_PUBLIC(int) MPI_Type_extent(MPI_Datatype datatype, MPI_Aint* extent); XBT_PUBLIC(int) MPI_Type_lb(MPI_Datatype datatype, MPI_Aint* disp); @@ -180,6 +185,7 @@ 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_Get_processor_name(char *name, int *resultlen); +XBT_PUBLIC(int) MPI_Get_count(MPI_Status* status, MPI_Datatype datatype, int* count); 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); @@ -187,6 +193,11 @@ XBT_PUBLIC(int) MPI_Comm_dup(MPI_Comm comm, MPI_Comm* newcomm); XBT_PUBLIC(int) MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm* newcomm); XBT_PUBLIC(int) MPI_Comm_free(MPI_Comm* comm); +XBT_PUBLIC(int) MPI_Send_init(void* buf, int count, MPI_Datatype datatype, int dst, int tag, MPI_Comm comm, MPI_Request* request); +XBT_PUBLIC(int) MPI_Recv_init(void* buf, int count, MPI_Datatype datatype, int src, int tag, MPI_Comm comm, MPI_Request* request); +XBT_PUBLIC(int) MPI_Start(MPI_Request* request); +XBT_PUBLIC(int) MPI_Startall(int count, MPI_Request* requests); +XBT_PUBLIC(int) MPI_Request_free(MPI_Request* request); XBT_PUBLIC(int) MPI_Irecv(void* buf, int count, MPI_Datatype datatype, int src, int tag, MPI_Comm comm, MPI_Request* request); XBT_PUBLIC(int) MPI_Isend(void* buf, int count, MPI_Datatype datatype, int dst, int tag, MPI_Comm comm, MPI_Request* request); XBT_PUBLIC(int) MPI_Recv(void* buf, int count, MPI_Datatype datatype, int src, int tag, MPI_Comm comm, MPI_Status* status); @@ -195,7 +206,6 @@ XBT_PUBLIC(int) MPI_Sendrecv(void* sendbuf, int sendcount, MPI_Datatype sendtype XBT_PUBLIC(int) MPI_Sendrecv_replace(void* buf, int count, MPI_Datatype datatype, int dst, int sendtag, int src, int recvtag, MPI_Comm comm, MPI_Status* status); -XBT_PUBLIC(int) MPI_Get_count(MPI_Status *status, MPI_Datatype datatype, int *count); XBT_PUBLIC(int) MPI_Test(MPI_Request* request, int* flag, MPI_Status* status); XBT_PUBLIC(int) MPI_Testany(int count, MPI_Request requests[], int* index, int* flag, MPI_Status* status); XBT_PUBLIC(int) MPI_Wait(MPI_Request* request, MPI_Status* status); @@ -241,5 +251,11 @@ XBT_PUBLIC(void) smpi_do_once_3(void); #define SMPI_DO_ONCE for (smpi_do_once_1(__FILE__, __LINE__); smpi_do_once_2(); smpi_do_once_3()) */ +XBT_PUBLIC(void*) smpi_shared_malloc(size_t size, const char* file, int line); +#define SMPI_SHARED_MALLOC(size) smpi_shared_malloc(size, __FILE__, __LINE__) + +XBT_PUBLIC(void) smpi_shared_free(void* data); +#define SMPI_SHARED_FREE(data) smpi_shared_free(data) + SG_END_DECL() #endif