On some platforms, the MPI_Wtime function essentially uses gettimeofday() under the covers.
See this stackoverflow question about -mno-sse: http://stackoverflow.com/questions/3687845/error-with-mno-sse-flag-and-gettimeofday-in-c On Nov 10, 2014, at 8:35 AM, maxinator333 <maxinator...@googlemail.com> wrote: > Hello again, > > I have a piece of code, which worked fine on my PC, but on my notebook > MPI_Wtime and MPI_Wtick won't work with the -mno-sse flag specified. > MPI_Wtick will return 0 instead of 1e-6 and MPI_Wtime will also return always > 0. clock() works in all cases. > > The Code is: > > #include <iostream> > #include <ctime> > #include <mpi.h> > #include <unistd.h> // sleep > > using namespace std; > int main(int argc, char* argv[]) > { > MPI_Init(NULL,NULL); > cout << "Wtick: " << MPI_Wtick(); > for (int i=0; i<10; i++) { > clock_t t0 = MPI_Wtime(); > sleep(0.1); > //sleep(1); // SLEEP WON'T BE COUNTED FOR CLOCK!!! FUCK, SAME > SEEMS TO BE TRUE FOR MPI_WTIME > // ALSO MPI_WTIME might not be working with -mno-sse!!! > clock_t t1 = MPI_Wtime(); > cout << "clock=" << clock() << ", CLOCKS_PER_SEC=" << CLOCKS_PER_SEC; > cout << ", t0=" << t0 << ", t1=" << t1 << ", dt=" << > double(t1-t0)/CLOCKS_PER_SEC << endl; > } > return 0; > } > > I compile and run it in cygwin 64bit, Open MPI: 1.8.3 r32794 and g++ (GCC) > 4.8.3 with the following command lines and outputs: > > $ rm matrix-diverror.exe; mpic++ -g matrix-diverror.cpp -o > matrix-diverror.exe -Wall -std=c++0x -mno-sse; ./matrix-diverror.exe > Wtick: 0clock=451, CLOCKS_PER_SEC=1000, t0=0, t1=0, dt=8.37245e-314 > clock=451, CLOCKS_PER_SEC=1000, t0=0, t1=0, dt=8.37245e-314 > clock=451, CLOCKS_PER_SEC=1000, t0=0, t1=0, dt=8.37245e-314 > clock=451, CLOCKS_PER_SEC=1000, t0=0, t1=0, dt=8.37245e-314 > clock=451, CLOCKS_PER_SEC=1000, t0=0, t1=0, dt=8.37245e-314 > clock=451, CLOCKS_PER_SEC=1000, t0=0, t1=0, dt=8.37245e-314 > clock=451, CLOCKS_PER_SEC=1000, t0=0, t1=0, dt=8.37245e-314 > clock=451, CLOCKS_PER_SEC=1000, t0=0, t1=0, dt=8.37245e-314 > clock=451, CLOCKS_PER_SEC=1000, t0=0, t1=0, dt=8.37245e-314 > clock=451, CLOCKS_PER_SEC=1000, t0=0, t1=0, dt=8.37245e-314 > > Versus the Version without SSE deactivated: > > $ rm matrix-diverror.exe; mpic++ -g matrix-diverror.cpp -o > matrix-diverror.exe -Wall -std=c++0x; ./matrix-diverror.exe > Wtick: 1e-06clock=483, CLOCKS_PER_SEC=1000, t0=1415626322, t1=1415626322, dt=0 > clock=483, CLOCKS_PER_SEC=1000, t0=1415626322, t1=1415626322, dt=0 > clock=483, CLOCKS_PER_SEC=1000, t0=1415626322, t1=1415626322, dt=0 > clock=483, CLOCKS_PER_SEC=1000, t0=1415626322, t1=1415626322, dt=0 > clock=483, CLOCKS_PER_SEC=1000, t0=1415626322, t1=1415626322, dt=0 > clock=483, CLOCKS_PER_SEC=1000, t0=1415626322, t1=1415626322, dt=0 > clock=483, CLOCKS_PER_SEC=1000, t0=1415626322, t1=1415626322, dt=0 > clock=483, CLOCKS_PER_SEC=1000, t0=1415626322, t1=1415626322, dt=0 > clock=483, CLOCKS_PER_SEC=1000, t0=1415626322, t1=1415626322, dt=0 > clock=483, CLOCKS_PER_SEC=1000, t0=1415626322, t1=1415626322, dt=0 > > > > > _______________________________________________ > users mailing list > us...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > Link to this post: > http://www.open-mpi.org/community/lists/users/2014/11/25727.php -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/