You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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
2 weeks ago
..
Makefile [UPDATE] Modified tests to supèport GPU SpMV computing, Moreover dinstinct routine for persistant is now present in psi_dswpadata 3 months ago
README.md [UPDATE] Updated communicationtest to read also external matrices 3 months ago
gpu_cg.sh [WIP] RMA swapdata optimization, nest builder updates, GPU/scorep test tooling 2 weeks ago
psb_c_comm_cg_test.F90 [UPDATE] Added comm tests for all precisions and fixed spmm test in computational_routines 1 month ago
psb_comm_cg_test.F90 [WIP] RMA swapdata optimization, nest builder updates, GPU/scorep test tooling 2 weeks ago
psb_d_comm_cg_test.F90 [UPDATE] Added comm tests for all precisions and fixed spmm test in computational_routines 1 month ago
psb_s_comm_cg_test.F90 [UPDATE] Added comm tests for all precisions and fixed spmm test in computational_routines 1 month ago
psb_z_comm_cg_test.F90 [UPDATE] Added comm tests for all precisions and fixed spmm test in computational_routines 1 month ago

README.md

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.