[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