/*****************************************************************/ /*****************************************************************/ /* Mise en oeuvre d'un broadcast en MPI à la main avec des */ /* Mise en oeuvre d'un broadcast en MPI à la main avec des */ /* primitives de communications non bloquantes et sans rien */ £ /* primitives de communications non bloquantes et des tests MPI */ /* entre la diffusion et les calculs. */ £ /* pendant les calculs. */ /*****************************************************************/ /*****************************************************************/ #include #include #include #include #include #include #include #include #include #include #define BUFLEN 65536 #define BUFLEN 65536 long ms_time() long ms_time() { { struct timeval tv; struct timeval tv; gettimeofday(&tv, NULL); gettimeofday(&tv, NULL); return(tv.tv_sec*1000 + tv.tv_usec/1000); return(tv.tv_sec*1000 + tv.tv_usec/1000); } } void long_computation() £ void long_computation(MPI_Request *request) { { µ MPI_Status status; µ int flag; µ long now=ms_time(); long now=ms_time(); while(ms_time()