[petsc-dev] Comments about PThreads

Jose E. Roman jroman at dsic.upv.es
Wed Sep 14 10:11:22 CDT 2011


I have been doing some tests --with-pthreadclasses. I use
$ ./ex12 -n 250 -m 250
(in $PETSC_DIR/src/ksp/ksp/examples/tutorials)

1) I tried with -vec_type pthread as explained in the instructions in features/threads.html
This had a noticeable effect on the run time. However, in another system the execution time did not change, and I realized that it was necessary to also add: -thread_max 2 -main. Question: should these always be used? what is the meaning of -main?

2) I thought adding -mat_type aijpthread would yield even better timings, but the response time was the same. Then I noticed that -mat_view_info showed this:
Matrix Object: 1 MPI processes
  type: seqaij
  rows=62500, cols=62500
so I guess -mat_type aijpthread is not having any effect.

3) I understand that this is still in a very initial stage. However, I think that in order to be usable it is necessary to add MatGetVecs_SeqAIJPThreads (similarly to CUSP). For instance, in SLEPc users normally do not pass vectors but just matrices, and the vectors are created with MatGetVecs (no VecSetFromOptions).

Jose




More information about the petsc-dev mailing list