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

Reply via email to