Hi Jose,

a fix for MatDuplicate() for AIJCUSPARSE matrices is in the branch
 karlrupp/fix-MatDuplicate-GPU
ex_duplicate.c now runs correctly in both cases.

Could you please report back whether it fixes the problems you encountered in your enclosing application?

Thanks and best regards,
Karli


On 07/27/2017 06:14 AM, Jose E. Roman wrote:
Karl,

We have detected another problem. Could you take care of it?
MatDuplicate() does not work for MATSEQAIJCUSPARSE (probably also for 
MATMPIAIJCUSPARSE).
The attached example creates a matrix and duplicates it. There are two cases:

1) With a diagonal matrix it fails on GPU because MatDuplicate() did not copy 
the CUDA-specific data.

$ ./ex_duplicate -diag -mat_type aijcusparse -vec_type cuda

2) With a fully dense matrix (or any matrix where I-node routines are used), it 
does not fail but operations are done on CPU instead of GPU (because it changes 
the pointers to MatMult_SeqAIJ_Inode etc).

$ ./ex_duplicate -mat_type aijcusparse -vec_type cuda

Thanks.
Jose


El 26 jul 2017, a las 21:12, Karl Rupp <r...@iue.tuwien.ac.at> escribió:

Hi Jose,

With pull request #719 we have finished a set of fixes to VECCUDA stuff. With 
these changes it is now possible to run many tests in SLEPc's testsuite on GPU 
(AIJCUSPARSE+VECCUDA). These tests will be included in the nightly tests from 
now on.

great!

However, PETSc nightly tests related to VECCUDA are not being run. The reason 
is that arch-cuda-double.py and arch-cuda-double.py have --with-cusp=1 and this 
option disables VECCUDA code. CUSP tests are separate from VECCUDA tests.

As you may remember, I want to get rid of VECCUSP (and if possible also 
MATAIJCUSP), because the functionality is now provided natively through the 
CUDA SDK (VECCUDA, MATAIJCUSPARSE). Only the preconditioners from CUSP, most 
notably PCSACUSP, will stay. This way we can then easily switch over all the 
tests to VECCUDA.


Another thing is that not all VECCUDA tests pass, because of a pending issue 
related to MatMultTranspose_MPIAIJCUSPARSE. This was reported last year: 
https://bitbucket.org/petsc/petsc/pull-requests/490/gpu-regression-tests

Alright, thanks for the reminder. Let me get this fixed. :-)

Best regards,
Karli

Reply via email to