Hi Junchao
Apologies for not seeing that. Usually, the fortran90-specific functions
have notes on the original C version, and I also can't
see PetscSFCreateSectionSFF90 on the function list on the doc site. Thanks
so much, and I saw your notes on the merge request.
I don't suppose
Thanks Stefano and Chonglin!
DILU in openfoam is our block Jacobi ilu subdomain solvers
>
are you saying that -pc_type gang -mg_levels_pc_type -mg_levels_ksp_type
richardson gives you something exactly equivalent to DILU?
On Tue, Jan 10, 2023 at 4:04 PM Zhang, Chonglin wrote:
> I am using
Hi, Nicholas,
It seems we have implemented it, but with another name,
PetscSFCreateSectionSFF90, see
https://gitlab.com/petsc/petsc/-/merge_requests/5386
Try it to see if it works!
--Junchao Zhang
On Tue, Jan 10, 2023 at 11:45 AM Nicholas Arnold-Medabalimi <
narno...@umich.edu> wrote:
>
I am using the following in my Poisson solver running on GPU, which were
suggested by Barry and Mark (Dr. Mark Adams).
-ksp_type cg
-pc_type gamg
-mg_levels_ksp_type chebyshev
-mg_levels_pc_type jacobi
On Jan 10, 2023, at 3:31 PM, Mark Lohry wrote:
So what are people using for GAMG
DILU in openfoam is our block Jacobi ilu subdomain solvers
On Tue, Jan 10, 2023, 23:45 Barry Smith wrote:
>
> The default is some kind of Jacobi plus Chebyshev, for a certain class
> of problems, it is quite good.
>
>
>
> On Jan 10, 2023, at 3:31 PM, Mark Lohry wrote:
>
> So what are people
The default is some kind of Jacobi plus Chebyshev, for a certain class of
problems, it is quite good.
> On Jan 10, 2023, at 3:31 PM, Mark Lohry wrote:
>
> So what are people using for GAMG configs on GPU? I was hoping petsc today
> would be performance competitive with AMGx but it sounds
So what are people using for GAMG configs on GPU? I was hoping petsc today
would be performance competitive with AMGx but it sounds like that's not
the case?
On Tue, Jan 10, 2023 at 3:03 PM Jed Brown wrote:
> Mark Lohry writes:
>
> > I definitely need multigrid. I was under the impression that
Mark Lohry writes:
> I definitely need multigrid. I was under the impression that GAMG was
> relatively cuda-complete, is that not the case? What functionality works
> fully on GPU and what doesn't, without any host transfers (aside from
> what's needed for MPI)?
>
> If I use -ksp-pc_type gamg
>
> BTW, on unstructured grids, coloring requires a lot of colors and thus
> many times more bandwidth (due to multiple passes) than the operator itself.
I've noticed -- in AMGx the multicolor GS was generally dramatically slower
than jacobi because of lots of colors with few elements.
You can
The joy of GPUs. You can use sparse triangular kernels like ILU (provided by
cuBLAS), but they are so mindbogglingly slow that you'll go back to the drawing
board and try to use a multigrid method of some sort with
polynomial/point-block smoothing.
BTW, on unstructured grids, coloring requires
Well that's suboptimal. What are my options for 100% GPU solves with no
host transfers?
On Tue, Jan 10, 2023, 2:23 PM Barry Smith wrote:
>
>
> On Jan 10, 2023, at 2:19 PM, Mark Lohry wrote:
>
> Is DILU a point-block method? We have -pc_type pbjacobi (and vpbjacobi if
>> the node size is not
> On Jan 10, 2023, at 2:19 PM, Mark Lohry wrote:
>
>> Is DILU a point-block method? We have -pc_type pbjacobi (and vpbjacobi if
>> the node size is not uniform). The are good choices for scale-resolving CFD
>> on GPUs.
>
> I was hoping you'd know :) pbjacobi is underperforming ilu by a
>
> Is DILU a point-block method? We have -pc_type pbjacobi (and vpbjacobi if
> the node size is not uniform). The are good choices for scale-resolving CFD
> on GPUs.
>
I was hoping you'd know :) pbjacobi is underperforming ilu by a pretty
wide margin on some of the systems i'm looking at.
We
We don't have colored smoothers currently in PETSc.
> On Jan 10, 2023, at 12:56 PM, Jed Brown wrote:
>
> Is DILU a point-block method? We have -pc_type pbjacobi (and vpbjacobi if the
> node size is not uniform). The are good choices for scale-resolving CFD on
> GPUs.
>
> Mark Lohry
Yes, after the solve the x will contain correct values for ALL the locations
including the (zeroed out rows). You use case is exactly what redistribute it
for.
Barry
> On Jan 10, 2023, at 11:25 AM, Karthikeyan Chockalingam - STFC UKRI
> wrote:
>
> Thank you Barry. This is great!
>
>
Is DILU a point-block method? We have -pc_type pbjacobi (and vpbjacobi if the
node size is not uniform). The are good choices for scale-resolving CFD on GPUs.
Mark Lohry writes:
> I'm running GAMG with CUDA, and I'm wondering how the nominally serial
> smoother algorithms are implemented on
Er to be honest I still can't get my stub to compile properly, and I don't
know how to go about making a merge request. But here is what I am
attempting right now. Let me know how best to proceed
Its not exactly clear to me how to setup up the remote offset properly.
in
Hi, Nicholas,
Could you make a merge request to PETSc and then our Fortran experts can
comment on your MR?
Thanks.
--Junchao Zhang
On Tue, Jan 10, 2023 at 11:10 AM Nicholas Arnold-Medabalimi <
narno...@umich.edu> wrote:
> Hi Junchao
>
> I think I'm almost there, but I could use some
I'm running GAMG with CUDA, and I'm wondering how the nominally serial
smoother algorithms are implemented on GPU? Specifically SOR/GS and ILU(0)
-- in e.g. AMGx these are applied by first creating a coloring, and the
smoother passes are done color by color. Is this how it's done in petsc AMG?
Hi Junchao
I think I'm almost there, but I could use some insight into how to use the
PETSC_F90_2PTR_PROTO and F90Array1dAccess for the remoteOffset parameter
input so if another function comes up, I can add it myself without wasting
your time.
I am very grateful for your help and time.
Thank you Barry. This is great!
I plan to solve using ‘-pc_type redistribute’ after applying the Dirichlet bc
using
MatZeroRowsColumnsIS(A, isout, 1, x, b);
While I retrieve the solution data from x (after the solve) – can I index them
using the original ordering (if I may say that)?
Kind
https://petsc.org/release/docs/manualpages/PC/PCREDISTRIBUTE/#pcredistribute
-pc_type redistribute
It does everything for you. Note that if the right hand side for any of the
"zero" rows is nonzero then the system is inconsistent and the system does not
have a solution.
Barry
> On Jan
Hello,
I am assembling a MATIJ of size N, where a very large number of rows (and
corresponding columns), are zeros. I would like to potentially eliminate them
before the solve.
For instance say N=7
0 0 0 0 0 0 0
0 1 -1 0 0 0 0
0 -1 2 0 0 0 -1
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0
23 matches
Mail list logo