[petsc-dev] Kokkos/Crusher perforance

Mark Adams mfadams at lbl.gov
Fri Jan 21 17:41:41 CST 2022


I am looking at performance of a CG/Jacobi solve on a 3D Q2 Laplacian
(ex13) on one Crusher node (8 GPUs on 4 GPU sockets, MI250X or is it
MI200?).
This is with a 16M equation problem. GPU-aware MPI and non GPU-aware MPI
are similar (mat-vec is a little faster w/o, the total is about the same,
call it noise)

I found that MatMult was about 3x faster using 8 cores/GPU, that is all 64
cores on the node, then when using 1 core/GPU. With the same size problem
of course.
I was thinking MatMult should be faster with just one MPI process. Oh well,
worry about that later.

The bigger problem, and I have observed this to some extent with the Landau
TS/SNES/GPU-solver on the V/A100s, is that the vector operations are
expensive or crazy expensive.
You can see (attached) and the times here that the solve is dominated by
not-mat-vec:

------------------------------------------------------------------------------------------------------------------------
Event                Count      Time (sec)     Flop
     --- Global ---  --- Stage ----  *Total   GPU *   - CpuToGpu -   -
GpuToCpu - GPU
                   Max Ratio  Max     Ratio   Max  Ratio  Mess   AvgLen
 Reduct  %T %F %M %L %R  %T %F %M %L %R *Mflop/s Mflop/s* Count   Size
Count   Size  %F
---------------------------------------------------------------------------------------------------------------------------------------------------------------
17:15 main= /gpfs/alpine/csc314/scratch/adams/petsc/src/snes/tests/data$
grep "MatMult              400" jac_out_00*5_8_gpuawaremp*
MatMult              400 1.0 *1.2507e+00* 1.3 1.34e+10 1.1 3.7e+05 1.6e+04
0.0e+00  1 55 62 54  0  27 91100100  0 *668874       0*      0 0.00e+00
 0 0.00e+00 100
17:15 main= /gpfs/alpine/csc314/scratch/adams/petsc/src/snes/tests/data$
grep "KSPSolve               2" jac_out_001*_5_8_gpuawaremp*
KSPSolve               2 1.0 *4.4173e+00* 1.0 1.48e+10 1.1 3.7e+05 1.6e+04
1.2e+03  4 60 62 54 61 100100100100100 *208923   1094405*      0 0.00e+00
 0 0.00e+00 100

Notes about flop counters here,
* that MatMult flops are not logged as GPU flops but something is logged
nonetheless.
* The GPU flop rate is 5x the total flop rate  in KSPSolve :\
* I think these nodes have an FP64 peak flop rate of 200 Tflops, so we are
at < 1%.

Anway, not sure how to proceed but I thought I would share.
Maybe ask the Kokkos guys if the have looked at Crusher.

Mark
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20220121/037dd4fd/attachment-0001.html>
-------------- next part --------------
DM Object: box 64 MPI processes
  type: plex
box in 3 dimensions:
  Number of 0-cells per rank: 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937 35937
  Number of 1-cells per rank: 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544 104544
  Number of 2-cells per rank: 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376 101376
  Number of 3-cells per rank: 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768 32768
Labels:
  celltype: 4 strata with value/size (0 (35937), 1 (104544), 4 (101376), 7 (32768))
  depth: 4 strata with value/size (0 (35937), 1 (104544), 2 (101376), 3 (32768))
  marker: 1 strata with value/size (1 (12474))
  Face Sets: 3 strata with value/size (1 (3969), 3 (3969), 6 (3969))
  Linear solve did not converge due to DIVERGED_ITS iterations 200
KSP Object: 64 MPI processes
  type: cg
  maximum iterations=200, initial guess is zero
  tolerances:  relative=1e-12, absolute=1e-50, divergence=10000.
  left preconditioning
  using UNPRECONDITIONED norm type for convergence test
PC Object: 64 MPI processes
  type: jacobi
    type DIAGONAL
  linear system matrix = precond matrix:
  Mat Object: 64 MPI processes
    type: mpiaijkokkos
    rows=16581375, cols=16581375
    total: nonzeros=1045678375, allocated nonzeros=1045678375
    total number of mallocs used during MatSetValues calls=0
      not using I-node (on process 0) routines
  Linear solve did not converge due to DIVERGED_ITS iterations 200
KSP Object: 64 MPI processes
  type: cg
  maximum iterations=200, initial guess is zero
  tolerances:  relative=1e-12, absolute=1e-50, divergence=10000.
  left preconditioning
  using UNPRECONDITIONED norm type for convergence test
PC Object: 64 MPI processes
  type: jacobi
    type DIAGONAL
  linear system matrix = precond matrix:
  Mat Object: 64 MPI processes
    type: mpiaijkokkos
    rows=16581375, cols=16581375
    total: nonzeros=1045678375, allocated nonzeros=1045678375
    total number of mallocs used during MatSetValues calls=0
      not using I-node (on process 0) routines
  Linear solve did not converge due to DIVERGED_ITS iterations 200
KSP Object: 64 MPI processes
  type: cg
  maximum iterations=200, initial guess is zero
  tolerances:  relative=1e-12, absolute=1e-50, divergence=10000.
  left preconditioning
  using UNPRECONDITIONED norm type for convergence test
PC Object: 64 MPI processes
  type: jacobi
    type DIAGONAL
  linear system matrix = precond matrix:
  Mat Object: 64 MPI processes
    type: mpiaijkokkos
    rows=16581375, cols=16581375
    total: nonzeros=1045678375, allocated nonzeros=1045678375
    total number of mallocs used during MatSetValues calls=0
      not using I-node (on process 0) routines
************************************************************************************************************************
***             WIDEN YOUR WINDOW TO 120 CHARACTERS.  Use 'enscript -r -fCourier9' to print this document            ***
************************************************************************************************************************

---------------------------------------------- PETSc Performance Summary: ----------------------------------------------

/gpfs/alpine/csc314/scratch/adams/petsc/src/snes/tests/data/../ex13 on a arch-olcf-crusher named crusher128 with 64 processors, by adams Fri Jan 21 17:08:11 2022
Using Petsc Development GIT revision: v3.16.3-665-g1012189b9a  GIT Date: 2022-01-21 16:28:20 +0000

                         Max       Max/Min     Avg       Total
Time (sec):           1.020e+02     1.000   1.020e+02
Objects:              2.088e+03     1.164   1.852e+03
Flop:                 2.448e+10     1.074   2.393e+10  1.532e+12
Flop/sec:             2.400e+08     1.074   2.346e+08  1.502e+10
MPI Messages:         1.651e+04     3.673   9.388e+03  6.009e+05
MPI Message Lengths:  2.278e+08     2.093   1.788e+04  1.074e+10
MPI Reductions:       1.988e+03     1.000

Flop counting convention: 1 flop = 1 real number operation of type (multiply/divide/add/subtract)
                            e.g., VecAXPY() for real vectors of length N --> 2N flop
                            and VecAXPY() for complex vectors of length N --> 8N flop

Summary of Stages:   ----- Time ------  ----- Flop ------  --- Messages ---  -- Message Lengths --  -- Reductions --
                        Avg     %Total     Avg     %Total    Count   %Total     Avg         %Total    Count   %Total
 0:      Main Stage: 9.7680e+01  95.8%  6.0889e+11  39.8%  2.265e+05  37.7%  2.175e+04       45.8%  7.630e+02  38.4%
 1:         PCSetUp: 3.0677e-02   0.0%  0.0000e+00   0.0%  0.000e+00   0.0%  0.000e+00        0.0%  0.000e+00   0.0%
 2:  KSP Solve only: 4.2900e+00   4.2%  9.2287e+11  60.2%  3.744e+05  62.3%  1.554e+04       54.2%  1.206e+03  60.7%

------------------------------------------------------------------------------------------------------------------------
See the 'Profiling' chapter of the users' manual for details on interpreting output.
Phase summary info:
   Count: number of times phase was executed
   Time and Flop: Max - maximum over all processors
                  Ratio - ratio of maximum to minimum over all processors
   Mess: number of messages sent
   AvgLen: average message length (bytes)
   Reduct: number of global reductions
   Global: entire computation
   Stage: stages of a computation. Set stages with PetscLogStagePush() and PetscLogStagePop().
      %T - percent time in this phase         %F - percent flop in this phase
      %M - percent messages in this phase     %L - percent message lengths in this phase
      %R - percent reductions in this phase
   Total Mflop/s: 10e-6 * (sum of flop over all processors)/(max time over all processors)
   GPU Mflop/s: 10e-6 * (sum of flop on GPU over all processors)/(max GPU time over all processors)
   CpuToGpu Count: total number of CPU to GPU copies per processor
   CpuToGpu Size (Mbytes): 10e-6 * (total size of CPU to GPU copies per processor)
   GpuToCpu Count: total number of GPU to CPU copies per processor
   GpuToCpu Size (Mbytes): 10e-6 * (total size of GPU to CPU copies per processor)
   GPU %F: percent flops on GPU in this event
------------------------------------------------------------------------------------------------------------------------
Event                Count      Time (sec)     Flop                              --- Global ---  --- Stage ----  Total   GPU    - CpuToGpu -   - GpuToCpu - GPU
                   Max Ratio  Max     Ratio   Max  Ratio  Mess   AvgLen  Reduct  %T %F %M %L %R  %T %F %M %L %R Mflop/s Mflop/s Count   Size   Count   Size  %F
---------------------------------------------------------------------------------------------------------------------------------------------------------------

--- Event Stage 0: Main Stage

PetscBarrier           5 1.0 3.5197e-01 1.0 0.00e+00 0.0 1.1e+04 8.0e+02 1.8e+01  0  0  2  0  1   0  0  5  0  2     0       0      0 0.00e+00    0 0.00e+00  0
BuildTwoSided         40 1.0 1.1660e+0013.0 0.00e+00 0.0 9.9e+03 4.0e+00 4.0e+01  1  0  2  0  2   1  0  4  0  5     0       0      0 0.00e+00    0 0.00e+00  0
BuildTwoSidedF         6 1.0 1.0743e+0026.5 0.00e+00 0.0 2.2e+03 4.0e+05 6.0e+00  1  0  0  8  0   1  0  1 18  1     0       0      0 0.00e+00    0 0.00e+00  0
MatMult            1210960.2 1.1773e+00 2.1 6.71e+09 1.1 1.9e+05 1.5e+04 2.0e+00  1 27 32 27  0   1 69 85 59  0 355297       0      1 1.14e-01    0 0.00e+00 100
MatAssemblyBegin      43 1.0 1.1979e+00 5.1 0.00e+00 0.0 2.2e+03 4.0e+05 6.0e+00  1  0  0  8  0   1  0  1 18  1     0       0      0 0.00e+00    0 0.00e+00  0
MatAssemblyEnd        43 1.0 5.5420e-01 2.8 1.18e+06 0.0 0.0e+00 0.0e+00 9.0e+00  0  0  0  0  0   0  0  0  0  1   100       0      0 0.00e+00    0 0.00e+00  0
MatZeroEntries         3 1.0 5.7739e-04 1.5 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
MatView                1 1.0 2.6888e-03 3.5 0.00e+00 0.0 0.0e+00 0.0e+00 1.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
KSPSetUp               1 1.0 1.7873e-03 2.1 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
KSPSolve               1 1.0 2.9863e+00 1.1 7.39e+09 1.1 1.9e+05 1.5e+04 6.0e+02  3 30 31 27 30   3 76 83 59 79 154516   1056544      1 1.14e-01    0 0.00e+00 100
SNESSolve              1 1.0 4.4952e+01 1.0 8.56e+09 1.1 1.9e+05 1.8e+04 6.1e+02 44 35 32 31 31  46 88 84 69 80 11936   1052153      3 2.36e+00    2 3.62e+00 86
SNESSetUp              1 1.0 1.3665e+01 1.0 0.00e+00 0.0 5.3e+03 1.9e+05 1.8e+01 13  0  1  9  1  14  0  2 21  2     0       0      0 0.00e+00    0 0.00e+00  0
SNESFunctionEval       2 1.0 8.8014e+00 1.1 7.96e+08 1.0 1.7e+03 1.3e+04 3.0e+00  8  3  0  0  0   9  8  1  0  0  5760    8455      3 4.32e+00    2 3.62e+00  0
SNESJacobianEval       2 1.0 7.2392e+01 1.0 1.52e+09 1.0 1.7e+03 5.4e+05 2.0e+00 70  6  0  8  0  74 16  1 18  0  1336       0      0 0.00e+00    2 3.62e+00  0
DMCreateInterp         1 1.0 1.2760e-02 1.0 8.29e+04 1.0 1.1e+03 8.0e+02 1.6e+01  0  0  0  0  1   0  0  0  0  2   416       0      0 0.00e+00    0 0.00e+00  0
DMCreateMat            1 1.0 1.3664e+01 1.0 0.00e+00 0.0 5.3e+03 1.9e+05 1.8e+01 13  0  1  9  1  14  0  2 21  2     0       0      0 0.00e+00    0 0.00e+00  0
Mesh Partition         1 1.0 3.0880e-03 1.2 0.00e+00 0.0 3.2e+02 1.1e+02 8.0e+00  0  0  0  0  0   0  0  0  0  1     0       0      0 0.00e+00    0 0.00e+00  0
Mesh Migration         1 1.0 7.5164e-02 1.2 0.00e+00 0.0 1.8e+03 8.3e+01 2.9e+01  0  0  0  0  1   0  0  1  0  4     0       0      0 0.00e+00    0 0.00e+00  0
DMPlexPartSelf         1 1.0 7.3461e-0484.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
DMPlexPartLblInv       1 1.0 1.0660e-03 4.1 0.00e+00 0.0 0.0e+00 0.0e+00 3.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
DMPlexPartLblSF        1 1.0 4.4237e-04 3.2 0.00e+00 0.0 1.3e+02 5.6e+01 1.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
DMPlexPartStrtSF       1 1.0 3.5211e-04 1.4 0.00e+00 0.0 6.3e+01 2.2e+02 0.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
DMPlexPointSF          1 1.0 2.7680e-02 9.8 0.00e+00 0.0 1.3e+02 2.7e+02 0.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
DMPlexInterp          19 1.0 1.6982e-0217.4 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
DMPlexDistribute       1 1.0 9.3908e-02 1.2 0.00e+00 0.0 2.2e+03 9.7e+01 3.7e+01  0  0  0  0  2   0  0  1  0  5     0       0      0 0.00e+00    0 0.00e+00  0
DMPlexDistCones        1 1.0 5.9829e-04 1.1 0.00e+00 0.0 3.8e+02 1.4e+02 2.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
DMPlexDistLabels       1 1.0 1.4821e-03 1.1 0.00e+00 0.0 9.0e+02 6.6e+01 2.4e+01  0  0  0  0  1   0  0  0  0  3     0       0      0 0.00e+00    0 0.00e+00  0
DMPlexDistField        1 1.0 7.2796e-02 1.2 0.00e+00 0.0 4.4e+02 5.9e+01 2.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
DMPlexStratify        33 1.0 3.7888e-02 3.1 0.00e+00 0.0 0.0e+00 0.0e+00 7.0e+00  0  0  0  0  0   0  0  0  0  1     0       0      0 0.00e+00    0 0.00e+00  0
DMPlexSymmetrize      33 1.0 2.4627e-02 1.1 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
DMPlexPrealloc         1 1.0 1.3648e+01 1.0 0.00e+00 0.0 5.3e+03 1.9e+05 1.6e+01 13  0  1  9  1  14  0  2 21  2     0       0      0 0.00e+00    0 0.00e+00  0
DMPlexResidualFE       2 1.0 4.8229e+00 1.1 7.87e+08 1.0 0.0e+00 0.0e+00 0.0e+00  5  3  0  0  0   5  8  0  0  0 10442       0      0 0.00e+00    0 0.00e+00  0
DMPlexJacobianFE       2 1.0 7.1760e+01 1.0 1.51e+09 1.0 1.1e+03 8.0e+05 2.0e+00 70  6  0  8  0  73 16  0 18  0  1343       0      0 0.00e+00    0 0.00e+00  0
DMPlexInterpFE         1 1.0 1.2587e-02 1.0 8.29e+04 1.0 1.1e+03 8.0e+02 1.6e+01  0  0  0  0  1   0  0  0  0  2   422       0      0 0.00e+00    0 0.00e+00  0
SFSetGraph            43 1.0 1.0569e-03 9.6 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
SFSetUp               34 1.0 1.8675e-01 1.3 0.00e+00 0.0 1.8e+04 2.1e+04 3.4e+01  0  0  3  3  2   0  0  8  7  4     0       0      0 0.00e+00    0 0.00e+00  0
SFBcastBegin          65 1.0 3.7123e+00654.3 0.00e+00 0.0 1.3e+04 1.3e+04 0.0e+00  2  0  2  2  0   2  0  6  3  0     0       0      1 1.68e-01    4 7.24e+00  0
SFBcastEnd            65 1.0 3.5320e+0025.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  2  0  0  0  0   2  0  0  0  0     0       0      0 6.24e-03    0 0.00e+00  0
SFReduceBegin         16 1.0 3.2883e-01129.1 5.24e+05 1.0 4.2e+03 8.5e+04 0.0e+00  0  0  1  3  0   0  0  2  7  0   101       0      2 4.15e+00    0 0.00e+00 100
SFReduceEnd           16 1.0 1.9300e+0028.8 2.50e+04 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   1  0  0  0  0     1       0      0 0.00e+00    0 0.00e+00 100
SFFetchOpBegin         2 1.0 3.3820e-03151.1 0.00e+00 0.0 5.6e+02 2.0e+05 0.0e+00  0  0  0  1  0   0  0  0  2  0     0       0      0 0.00e+00    0 0.00e+00  0
SFFetchOpEnd           2 1.0 2.6406e-02 3.1 0.00e+00 0.0 5.6e+02 2.0e+05 0.0e+00  0  0  0  1  0   0  0  0  2  0     0       0      0 0.00e+00    0 0.00e+00  0
SFCreateEmbed          8 1.0 2.1032e-01114.8 0.00e+00 0.0 2.0e+03 7.0e+02 0.0e+00  0  0  0  0  0   0  0  1  0  0     0       0      0 0.00e+00    0 0.00e+00  0
SFDistSection          9 1.0 1.3276e-02 2.6 0.00e+00 0.0 4.1e+03 5.9e+03 1.1e+01  0  0  1  0  1   0  0  2  0  1     0       0      0 0.00e+00    0 0.00e+00  0
SFSectionSF           16 1.0 8.4340e-02 1.7 0.00e+00 0.0 5.8e+03 2.0e+04 1.6e+01  0  0  1  1  1   0  0  3  2  2     0       0      0 0.00e+00    0 0.00e+00  0
SFRemoteOff            7 1.0 2.2213e-0140.5 0.00e+00 0.0 6.1e+03 1.3e+03 4.0e+00  0  0  1  0  0   0  0  3  0  1     0       0      0 0.00e+00    0 0.00e+00  0
SFPack               290 1.0 8.8404e-01154.4 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  1  0  0  0  0   1  0  0  0  0     0       0      2 1.51e-01    0 0.00e+00  0
SFUnpack             292 1.0 3.3048e-0171.2 5.49e+05 1.1 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0   104       0      0 6.24e-03    0 0.00e+00 100
VecTDot              401 1.0 1.3235e+00 2.0 2.10e+08 1.0 0.0e+00 0.0e+00 4.0e+02  1  1  0  0 20   1  2  0  0 53 10048   111012      0 0.00e+00    0 0.00e+00 100
VecNorm              201 1.0 6.8333e-01 2.3 1.05e+08 1.0 0.0e+00 0.0e+00 2.0e+02  0  0  0  0 10   0  1  0  0 26  9755   126918      0 0.00e+00    0 0.00e+00 100
VecCopy                2 1.0 2.9657e-0324.9 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
VecSet                54 1.0 2.3796e-02 3.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
VecAXPY              400 1.0 3.7988e-01 3.3 2.10e+08 1.0 0.0e+00 0.0e+00 0.0e+00  0  1  0  0  0   0  2  0  0  0 34919   72435      0 0.00e+00    0 0.00e+00 100
VecAYPX              199 1.0 1.3056e-01 2.8 1.04e+08 1.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  1  0  0  0 50549   148242      0 0.00e+00    0 0.00e+00 100
VecPointwiseMult     201 1.0 1.3747e-01 2.9 5.27e+07 1.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  1  0  0  0 24245   65821      0 0.00e+00    0 0.00e+00 100
VecScatterBegin      201 1.0 6.5203e-0115.7 0.00e+00 0.0 1.9e+05 1.5e+04 2.0e+00  0  0 32 27  0   0  0 85 59  0     0       0      1 1.14e-01    0 0.00e+00  0
VecScatterEnd        201 1.0 7.5046e-0113.2 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
DualSpaceSetUp         2 1.0 6.2104e-03 1.6 1.80e+03 1.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0    19       0      0 0.00e+00    0 0.00e+00  0
FESetUp                2 1.0 5.5530e-03 5.3 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
PCSetUp                1 1.0 1.7423e-05 5.8 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
PCApply              201 1.0 1.8183e-01 2.0 5.27e+07 1.0 0.0e+00 0.0e+00 2.0e+00  0  0  0  0  0   0  1  0  0  0 18329   63220      0 0.00e+00    0 0.00e+00 100

--- Event Stage 1: PCSetUp

PCSetUp                1 1.0 3.5848e-02 1.4 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0 100  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0

--- Event Stage 2: KSP Solve only

MatMult              400 1.0 1.2507e+00 1.3 1.34e+10 1.1 3.7e+05 1.6e+04 0.0e+00  1 55 62 54  0  27 91100100  0 668874       0      0 0.00e+00    0 0.00e+00 100
MatView                2 1.0 4.6594e-03 3.1 0.00e+00 0.0 0.0e+00 0.0e+00 2.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
KSPSolve               2 1.0 4.4173e+00 1.0 1.48e+10 1.1 3.7e+05 1.6e+04 1.2e+03  4 60 62 54 61 100100100100100 208923   1094405      0 0.00e+00    0 0.00e+00 100
SFPack               400 1.0 2.3784e-03 1.4 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
SFUnpack             400 1.0 1.2915e-04 2.6 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
VecTDot              802 1.0 1.5764e+00 1.3 4.20e+08 1.0 0.0e+00 0.0e+00 8.0e+02  1  2  0  0 40  30  3  0  0 67 16872   109078      0 0.00e+00    0 0.00e+00 100
VecNorm              402 1.0 1.4197e+00 2.4 2.11e+08 1.0 0.0e+00 0.0e+00 4.0e+02  1  1  0  0 20  16  1  0  0 33  9390   140836      0 0.00e+00    0 0.00e+00 100
VecCopy                4 1.0 1.4191e-02 6.5 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
VecSet                 4 1.0 3.7326e-03 1.9 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
VecAXPY              800 1.0 7.6778e-0114.4 4.19e+08 1.0 0.0e+00 0.0e+00 0.0e+00  1  2  0  0  0  16  3  0  0  0 34554   73801      0 0.00e+00    0 0.00e+00 100
VecAYPX              398 1.0 2.4760e-01 5.7 2.09e+08 1.0 0.0e+00 0.0e+00 0.0e+00  0  1  0  0  0   5  1  0  0  0 53307   145239      0 0.00e+00    0 0.00e+00 100
VecPointwiseMult     402 1.0 2.8126e-01 8.5 1.05e+08 1.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   6  1  0  0  0 23700   62608      0 0.00e+00    0 0.00e+00 100
VecScatterBegin      400 1.0 1.9552e-01 5.5 0.00e+00 0.0 3.7e+05 1.6e+04 0.0e+00  0  0 62 54  0   3  0100100  0     0       0      0 0.00e+00    0 0.00e+00  0
VecScatterEnd        400 1.0 9.1048e-01 6.9 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   5  0  0  0  0     0       0      0 0.00e+00    0 0.00e+00  0
PCApply              402 1.0 2.8157e-01 8.4 1.05e+08 1.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   6  1  0  0  0 23673   62608      0 0.00e+00    0 0.00e+00 100
---------------------------------------------------------------------------------------------------------------------------------------------------------------

Memory usage is given in bytes:

Object Type          Creations   Destructions     Memory  Descendants' Mem.
Reports information only for process 0.

--- Event Stage 0: Main Stage

           Container    32             32        18432     0.
                SNES     1              1         1540     0.
              DMSNES     1              1          688     0.
       Krylov Solver     1              1         1664     0.
     DMKSP interface     1              1          656     0.
              Matrix    75             75    195551600     0.
    Distributed Mesh    70             70      7840024     0.
            DM Label   172            172       108704     0.
          Quadrature   148            148        87616     0.
      Mesh Transform     5              5         3780     0.
           Index Set   801            801      1598436     0.
   IS L to G Mapping     2              2      1102568     0.
             Section   249            249       177288     0.
   Star Forest Graph   173            173       188592     0.
     Discrete System   116            116       111364     0.
           Weak Form   117            117        72072     0.
    GraphPartitioner    33             33        22704     0.
              Vector    54             54     19591688     0.
        Linear Space     5              5         3416     0.
          Dual Space    26             26        24336     0.
            FE Space     2              2         1576     0.
              Viewer     2              1          840     0.
      Preconditioner     1              1          872     0.
       Field over DM     1              1          704     0.

--- Event Stage 1: PCSetUp


--- Event Stage 2: KSP Solve only

========================================================================================================================
Average time to get PetscTime(): 5.01e-08
Average time for MPI_Barrier(): 4.0858e-06
Average time for zero size MPI_Send(): 1.12727e-05
#PETSc Option Table entries:
-benchmark_it 2
-dm_distribute
-dm_mat_type aijkokkos
-dm_plex_box_faces 4,4,4
-dm_plex_box_lower 0,0,0
-dm_plex_box_upper 1,1,1
-dm_plex_dim 3
-dm_plex_simplex 0
-dm_refine 5
-dm_vec_type kokkos
-dm_view
-ksp_converged_reason
-ksp_max_it 200
-ksp_norm_type unpreconditioned
-ksp_rtol 1.e-12
-ksp_type cg
-ksp_view
-log_view
-mg_levels_esteig_ksp_max_it 10
-mg_levels_esteig_ksp_type cg
-mg_levels_ksp_chebyshev_esteig 0,0.05,0,1.05
-mg_levels_ksp_type chebyshev
-mg_levels_pc_type jacobi
-options_left
-pc_gamg_coarse_eq_limit 100
-pc_gamg_coarse_grid_layout_type compact
-pc_gamg_esteig_ksp_max_it 10
-pc_gamg_esteig_ksp_type cg
-pc_gamg_process_eq_limit 400
-pc_gamg_repartition false
-pc_gamg_reuse_interpolation true
-pc_gamg_square_graph 0
-pc_gamg_threshold -0.01
-pc_type jacobi
-petscpartitioner_simple_node_grid 1,1,1
-petscpartitioner_simple_process_grid 4,4,4
-petscpartitioner_type simple
-potential_petscspace_degree 2
-snes_max_it 1
-snes_rtol 1.e-8
-snes_type ksponly
-use_gpu_aware_mpi true
#End of PETSc Option Table entries
Compiled without FORTRAN kernels
Compiled with full precision matrices (default)
sizeof(short) 2 sizeof(int) 4 sizeof(long) 8 sizeof(void*) 8 sizeof(PetscScalar) 8 sizeof(PetscInt) 4
Configure options: --with-cc=cc --with-cxx=CC --with-fc=ftn --with-fortran-bindings=0 LIBS="-L/opt/cray/pe/mpich/8.1.12/gtl/lib -lmpi_gtl_hsa" --with-debugging=0 --with-mpiexec="srun -p batch -N 1 -A csc314_crusher -t 00:10:00" --with-hip --with-hipc=hipcc --download-hypre --download-hypre-configure-arguments=--enable-unified-memory --with-hip-arch=gfx90a --download-kokkos --download-kokkos-kernels PETSC_ARCH=arch-olcf-crusher
-----------------------------------------
Libraries compiled on 2022-01-21 19:20:56 on login2 
Machine characteristics: Linux-5.3.18-59.16_11.0.39-cray_shasta_c-x86_64-with-glibc2.3.4
Using PETSc directory: /gpfs/alpine/csc314/scratch/adams/petsc
Using PETSc arch: arch-olcf-crusher
-----------------------------------------

Using C compiler: cc  -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -fstack-protector -Qunused-arguments -fvisibility=hidden -g -O3   
Using Fortran compiler: ftn  -fPIC     
-----------------------------------------

Using include paths: -I/gpfs/alpine/csc314/scratch/adams/petsc/include -I/gpfs/alpine/csc314/scratch/adams/petsc/arch-olcf-crusher/include -I/opt/rocm-4.5.0/include
-----------------------------------------

Using C linker: cc
Using Fortran linker: ftn
Using libraries: -Wl,-rpath,/gpfs/alpine/csc314/scratch/adams/petsc/arch-olcf-crusher/lib -L/gpfs/alpine/csc314/scratch/adams/petsc/arch-olcf-crusher/lib -lpetsc -Wl,-rpath,/gpfs/alpine/csc314/scratch/adams/petsc/arch-olcf-crusher/lib -L/gpfs/alpine/csc314/scratch/adams/petsc/arch-olcf-crusher/lib -Wl,-rpath,/opt/rocm-4.5.0/lib -L/opt/rocm-4.5.0/lib -Wl,-rpath,/opt/cray/pe/mpich/8.1.12/gtl/lib -L/opt/cray/pe/mpich/8.1.12/gtl/lib -Wl,-rpath,/opt/cray/pe/gcc/8.1.0/snos/lib64 -L/opt/cray/pe/gcc/8.1.0/snos/lib64 -Wl,-rpath,/opt/cray/pe/libsci/21.08.1.2/CRAY/9.0/x86_64/lib -L/opt/cray/pe/libsci/21.08.1.2/CRAY/9.0/x86_64/lib -Wl,-rpath,/opt/cray/pe/mpich/8.1.12/ofi/cray/10.0/lib -L/opt/cray/pe/mpich/8.1.12/ofi/cray/10.0/lib -Wl,-rpath,/opt/cray/pe/dsmml/0.2.2/dsmml/lib -L/opt/cray/pe/dsmml/0.2.2/dsmml/lib -Wl,-rpath,/opt/cray/pe/pmi/6.0.16/lib -L/opt/cray/pe/pmi/6.0.16/lib -Wl,-rpath,/opt/cray/pe/cce/13.0.0/cce/x86_64/lib -L/opt/cray/pe/cce/13.0.0/cce/x86_64/lib -Wl,-rpath,/opt/cray/xpmem/2.3.2-2.2_1.16__g9ea452c.shasta/lib64 -L/opt/cray/xpmem/2.3.2-2.2_1.16__g9ea452c.shasta/lib64 -Wl,-rpath,/opt/cray/pe/cce/13.0.0/cce-clang/x86_64/lib/clang/13.0.0/lib/linux -L/opt/cray/pe/cce/13.0.0/cce-clang/x86_64/lib/clang/13.0.0/lib/linux -Wl,-rpath,/opt/cray/pe/gcc/8.1.0/snos/lib/gcc/x86_64-suse-linux/8.1.0 -L/opt/cray/pe/gcc/8.1.0/snos/lib/gcc/x86_64-suse-linux/8.1.0 -Wl,-rpath,/opt/cray/pe/cce/13.0.0/binutils/x86_64/x86_64-unknown-linux-gnu/lib -L/opt/cray/pe/cce/13.0.0/binutils/x86_64/x86_64-unknown-linux-gnu/lib -lHYPRE -lkokkoskernels -lkokkoscontainers -lkokkoscore -lhipsparse -lhipblas -lrocsparse -lrocsolver -lrocblas -lrocrand -lamdhip64 -ldl -lmpi_gtl_hsa -lmpifort_cray -lmpi_cray -ldsmml -lpmi -lpmi2 -lxpmem -lstdc++ -lpgas-shmem -lquadmath -lmodules -lfi -lcraymath -lf -lu -lcsup -lgfortran -lpthread -lgcc_eh -lm -lclang_rt.craypgo-x86_64 -lclang_rt.builtins-x86_64 -lquadmath -ldl -lmpi_gtl_hsa
-----------------------------------------

#PETSc Option Table entries:
-benchmark_it 2
-dm_distribute
-dm_mat_type aijkokkos
-dm_plex_box_faces 4,4,4
-dm_plex_box_lower 0,0,0
-dm_plex_box_upper 1,1,1
-dm_plex_dim 3
-dm_plex_simplex 0
-dm_refine 5
-dm_vec_type kokkos
-dm_view
-ksp_converged_reason
-ksp_max_it 200
-ksp_norm_type unpreconditioned
-ksp_rtol 1.e-12
-ksp_type cg
-ksp_view
-log_view
-mg_levels_esteig_ksp_max_it 10
-mg_levels_esteig_ksp_type cg
-mg_levels_ksp_chebyshev_esteig 0,0.05,0,1.05
-mg_levels_ksp_type chebyshev
-mg_levels_pc_type jacobi
-options_left
-pc_gamg_coarse_eq_limit 100
-pc_gamg_coarse_grid_layout_type compact
-pc_gamg_esteig_ksp_max_it 10
-pc_gamg_esteig_ksp_type cg
-pc_gamg_process_eq_limit 400
-pc_gamg_repartition false
-pc_gamg_reuse_interpolation true
-pc_gamg_square_graph 0
-pc_gamg_threshold -0.01
-pc_type jacobi
-petscpartitioner_simple_node_grid 1,1,1
-petscpartitioner_simple_process_grid 4,4,4
-petscpartitioner_type simple
-potential_petscspace_degree 2
-snes_max_it 1
-snes_rtol 1.e-8
-snes_type ksponly
-use_gpu_aware_mpi true
#End of PETSc Option Table entries
WARNING! There are options you set that were not used!
WARNING! could be spelling mistake, etc!
There are 14 unused database options. They are:
Option left: name:-mg_levels_esteig_ksp_max_it value: 10
Option left: name:-mg_levels_esteig_ksp_type value: cg
Option left: name:-mg_levels_ksp_chebyshev_esteig value: 0,0.05,0,1.05
Option left: name:-mg_levels_ksp_type value: chebyshev
Option left: name:-mg_levels_pc_type value: jacobi
Option left: name:-pc_gamg_coarse_eq_limit value: 100
Option left: name:-pc_gamg_coarse_grid_layout_type value: compact
Option left: name:-pc_gamg_esteig_ksp_max_it value: 10
Option left: name:-pc_gamg_esteig_ksp_type value: cg
Option left: name:-pc_gamg_process_eq_limit value: 400
Option left: name:-pc_gamg_repartition value: false
Option left: name:-pc_gamg_reuse_interpolation value: true
Option left: name:-pc_gamg_square_graph value: 0
Option left: name:-pc_gamg_threshold value: -0.01


More information about the petsc-dev mailing list