Files
psblas3/test/comm/cg
Stack-1 87eca22895 [WIP] RMA swapdata optimization, nest builder updates, GPU/scorep test tooling
- psi_dswapdata / psb_comm_rma: RMA swapdata optimization (PSCW + Win_allocate)
- psb_d_nest_builder: builder updates
- cuda: Makefile + psb_d_cuda_vect_mod adjustments
- test/comm: spmv/cg drivers, Makefiles, GPU + scorep/strong-scaling scripts
- test/nested: halo-regime test + Makefile/CMake updates
2026-07-05 15:01:43 +02:00
..

CG no-preconditioner communication test

This test lives under test/comm/cg and builds a local executable:

  • source: psb_comm_cg_test.F90
  • executable: runs/psb_comm_cg_test

Behavior:

  • generates a 3D PDE matrix using local psb_d_gen_pde3d (double precision)
  • solves with CG
  • uses preconditioner NONE
  • runs CG three times, changing communication scheme of x each run

Communication pattern used in this test:

  1. reset solution vector
  2. set communication scheme on x%v%comm_handle
  3. run full psb_krylov('CG', ...)
  4. collect and compare solve time

Schemes compared:

  • psb_comm_isend_irecv_
  • psb_comm_ineighbor_alltoallv_
  • psb_comm_persistent_ineighbor_alltoallv_

How to run

From this directory:

  • make run (defaults: NP=4, IDIM=40)
  • make run NP=8 IDIM=80

Default PDE-generated matrix:

  • ./runs/psb_comm_cg_test [idim] [nrep] [nwarm] [itmax] [--gpu=TRUE|FALSE]

External matrix input:

  • ./runs/psb_comm_cg_test [idim] [nrep] [nwarm] [itmax] --matrix=<path> [--fmt=MM|HB] [--gpu=TRUE|FALSE]

When --matrix is provided, the test reads and distributes that matrix and ignores the PDE generator.