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


Reply via email to