Hector, It is pretty simple and a bit cumbersome, but see src/mat/tutorials/ex5cu.cu for the example. Mark
On Wed, Sep 30, 2020 at 2:32 PM Héctor Barreiro Cabrera <[email protected]> wrote: > This is awesome news! I will go over it and see how can I fit this with my > code. > > Thank you! > > El mié., 30 sept. 2020 17:55, Barry Smith <[email protected]> escribió: > >> >> Hector, >> >> You asked at just the right time. Mark Adams has started to implement >> some code to do this https://gitlab.com/petsc/petsc/-/merge_requests/3137 it >> is now in the PETSc master branch. It is preliminary and not yet well >> documented but hopefully if you read through the MR (above) it will give >> you the main ideas. >> >> Please feel free to ask questions on this topic at GitLab or on >> [email protected] we are eager to have users for this material and >> improve it to make it practical and straightforward. >> >> >> Barry >> >> >> On Sep 30, 2020, at 9:49 AM, Héctor Barreiro Cabrera <[email protected]> >> wrote: >> >> Greetings fellow PETSc users! >> >> I have recently started working on a project that requires assembling and >> solving a large sparse linear system directly on the GPU using CUDA. I have >> just discovered that PETSc has support for building and solving such a >> system through cuSparse (MatSeqAICUSPARSE), which is quite cool because >> this opens up the possibility of using PETSc's awesome functionalities. >> >> However, I have not been able to find information about how (or even if >> it is possible) to assemble the matrix from data stored in device memory. >> From the documentation, it seems that vectors (VecSeqCUDA) expose the raw >> device pointer through VecCUDAGetArrayRead and VecCUDAGetArrayWrite >> functions which I could use to update the systems' RHS vector, but I >> couldn't find anything alike for matrices. Is there anything equivalent? >> >> Ideally I would like to generate all the assembly information from a >> kernel, avoiding any data synchronization with the host (except maybe >> updating the pointers). Is this even possible? >> >> Thank you very much for your help! >> >> Greetings, >> Hector Barreiro >> >> >>
