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