Hi Joerg, I think you have just to set
unsigned int n_threads = 4; // set n_threads or read it from a param file multithread_info.n_default_threads = n_threads; in your main program or in the part of the program that use threads. Regards Thomas ------------------------------------------------- On Tue, 24 Nov 2009, Frohne, Joerg wrote: > Hallo, > > I'm using multi-threading on different machines with 1, 2 or 8 CPUs > (deal-version 5.2.0). > > If I stop the calculating time for matrix-vector-multiplication with 'vmult' > on the different machines with > 'clock_t' and 'time_t' , I'll observe that 8 CPUs need a few times as long > as 2 CPUs. > I have tested it with 196698 dofs. > > Assembling system-matrix and right-hand-side works fine (stopped with > difftime (end, start), all on the same machine): > 1 CPU : 63 sec // n_threads = 1; > 2 CPUs: 31 sec // n_threads = 2; > 4 CPUs: 15 sec // n_threads = 4; > 8 CPUs: 9 sec // n_threads = multithread_info.n_default_threads; > > Is it possible to set the number of threads for 'vmult' too? > Or could there be another mistake in my code? > > Thanks for help, > Jörg >
_______________________________________________ dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
