Stefano, who has a far better memory than me, wrote
> Or probably remove —download-openmpi ? Or, just for the moment, why can’t we just tell configure that mpi is a weak dependence of cuda.py, so that it will be forced to be configured later?
MPI.py depends on cuda.py so we cannot also have cuda.py depend on MPI.py using the generic dependencies of configure/packages
but perhaps we can just hardwire the rerunning of cuda.py when the MPI compilers are reset. I will try that now and if I can get it to work we should be able to move those old fix branches along as MR.
Barry
OK, I will try to rebase and test Barry's branch.
Yes, it is the branch I was using before force pushing to Barry’s barry/2020-11-11/cleanup-matsetvaluesdevice
You can use both I guess
I am fixing rebasing this branch over main.
Or probably remove —download-openmpi ? Or, just for the moment, why can’t we just tell configure that mpi is a weak dependence of cuda.py, so that it will be forced to be configured later?
That branch provides a fix for MatSetValuesDevice but it never got merged because of the CI issues with the —download-openmpi. We can probably try to skip the test in that specific configuration?
~/petsc/src/mat/tutorials (barry/2021-05-28/robustify-cuda-gencodearch-check=) arch-robustify-cuda-gencodearch-check
$ ./ex5cu
terminate called after throwing an instance of 'thrust::system::system_error'
what(): fill_n: failed to synchronize: cudaErrorIllegalAddress: an illegal memory access was encountered
Aborted (core dumped)
requires: cuda !define(PETSC_USE_CTABLE)
CI does not test with CUDA and no ctable. The code is still broken as it was six months ago in the discussion Stefano pointed to. It is clear why just no one has had the time to clean things up.
Barry
If you are referring to your device set values, I guess it is not currently tested
No. There is a test for that (ex5cu).
I have a user that is getting a segv in MatSetValues with aijcusparse. I suspect there is memory corruption but I'm trying to cover all the bases.
I have added a cuda test to ksp/ex56 that works. I can do an MR for it if such a test does not exist.