X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/599bd9a7badf64009f454533e4ae8767f659f2fc..afcb6663eebe4a13bf9ffed05192253f1b6e5297:/src/smpi/private.h diff --git a/src/smpi/private.h b/src/smpi/private.h index f72f51522c..26847a61b4 100644 --- a/src/smpi/private.h +++ b/src/smpi/private.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2007, 2009, 2010. The SimGrid Team. +/* Copyright (c) 2007, 2009-2013. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -7,6 +7,7 @@ #ifndef SMPI_PRIVATE_H #define SMPI_PRIVATE_H +#include "internal_config.h" #include "xbt.h" #include "xbt/xbt_os_time.h" #include "simgrid/simix.h" @@ -94,10 +95,12 @@ typedef struct s_smpi_mpi_request { #endif } s_smpi_mpi_request_t; -void smpi_process_init(int *argc, char ***argv); void smpi_process_destroy(void); void smpi_process_finalize(void); int smpi_process_finalized(void); +int smpi_process_initialized(void); +void smpi_process_mark_as_initialized(void); + smpi_process_data_t smpi_process_data(void); smpi_process_data_t smpi_process_remote_data(int index); @@ -111,6 +114,8 @@ smx_rdv_t smpi_process_remote_mailbox_small(int index); xbt_os_timer_t smpi_process_timer(void); void smpi_process_simulated_start(void); double smpi_process_simulated_elapsed(void); +void smpi_process_set_sampling(int s); +int smpi_process_get_sampling(void); void print_request(const char *message, MPI_Request request); @@ -190,6 +195,8 @@ MPI_Request smpi_isend_init(void *buf, int count, MPI_Datatype datatype, int dst, int tag, MPI_Comm comm); MPI_Request smpi_mpi_isend(void *buf, int count, MPI_Datatype datatype, int dst, int tag, MPI_Comm comm); +MPI_Request smpi_issend_init(void *buf, int count, MPI_Datatype datatype, + int dst, int tag, MPI_Comm comm); MPI_Request smpi_mpi_issend(void *buf, int count, MPI_Datatype datatype, int dst, int tag, MPI_Comm comm); MPI_Request smpi_irecv_init(void *buf, int count, MPI_Datatype datatype, @@ -283,10 +290,11 @@ int smpi_coll_basic_alltoallv(void *sendbuf, int *sendcounts, MPI_Comm comm); // utilities +extern double smpi_cpu_threshold; +extern double smpi_running_power; void smpi_bench_destroy(void); void smpi_bench_begin(void); void smpi_bench_end(void); -void smpi_execute_flops(double flops); // f77 wrappers void mpi_init_(int*); @@ -455,6 +463,7 @@ void mpi_errhandler_free_ (void* errhandler, int* ierr) ; void mpi_errhandler_get_ (int* comm, void* errhandler, int* ierr) ; void mpi_errhandler_set_ (int* comm, void* errhandler, int* ierr) ; void mpi_comm_set_errhandler_ (int* comm, void* errhandler, int* ierr) ; +void mpi_comm_get_errhandler_ (int* comm, void* errhandler, int* ierr) ; void mpi_type_contiguous_ (int* count, int* old_type, int* newtype, int* ierr) ; void mpi_cancel_ (int* request, int* ierr) ; void mpi_buffer_attach_ (void* buffer, int* size, int* ierr) ; @@ -466,6 +475,7 @@ void mpi_pack_external_size_ (char *datarep, int* incount, int* datatype, MPI_Ai void mpi_pack_external_ (char *datarep, void *inbuf, int* incount, int* datatype, void *outbuf, MPI_Aint* outcount, MPI_Aint *position, int* ierr); void mpi_unpack_external_ ( char *datarep, void *inbuf, MPI_Aint* insize, MPI_Aint *position, void *outbuf, int* outcount, int* datatype, int* ierr); void mpi_type_hindexed_ (int* count, int* blocklens, MPI_Aint* indices, int* old_type, int* newtype, int* ierr) ; +void mpi_type_create_hindexed_ (int* count, int* blocklens, MPI_Aint* indices, int* old_type, int* newtype, int* ierr) ; void mpi_type_create_hindexed_block_ (int* count, int* blocklength, MPI_Aint* indices, int* old_type, int* newtype, int* ierr) ; void mpi_type_indexed_ (int* count, int* blocklens, int* indices, int* old_type, int* newtype, int* ierr) ; void mpi_type_create_indexed_block_ (int* count, int* blocklength, int* indices, int* old_type, int*newtype, int* ierr); @@ -543,10 +553,22 @@ void mpi_comm_get_parent_ ( int*parent, int* ierr); /* from smpi_instr.c */ void TRACE_internal_smpi_set_category (const char *category); const char *TRACE_internal_smpi_get_category (void); -void TRACE_smpi_collective_in(int rank, int root, const char *operation); +void TRACE_smpi_collective_in(int rank, int root, const char *operation, instr_extra_data extra); void TRACE_smpi_collective_out(int rank, int root, const char *operation); void TRACE_smpi_computing_init(int rank); void TRACE_smpi_computing_out(int rank); -void TRACE_smpi_computing_in(int rank); +void TRACE_smpi_computing_in(int rank, instr_extra_data extra); +void TRACE_smpi_alloc(void); +void TRACE_smpi_release(void); +void TRACE_smpi_ptp_in(int rank, int src, int dst, const char *operation, instr_extra_data extra); +void TRACE_smpi_ptp_out(int rank, int src, int dst, const char *operation); +void TRACE_smpi_send(int rank, int src, int dst, int size); +void TRACE_smpi_recv(int rank, int src, int dst); +void TRACE_smpi_init(int rank); +void TRACE_smpi_finalize(int rank); + + +const char* encode_datatype(MPI_Datatype datatype); + #endif