HPL_grid_init(3)

πŸ“¦ version 2.2, in fedora 43, fedora 44

πŸ’– HPL_grid_init(3) πŸ’–

HPL Library Functions ✨ the one where we build a whole grid of processes


πŸŽ€ NAME πŸŽ€

HPL_grid_init β€” create a process grid. bestie we're literally building the grid. no cap.


✨ SYNOPSIS ✨

#include "hpl.h"

int HPL_grid_init( MPI_Comm COMM, const HPL_T_ORDER ORDER, const int
NPROW, const int NPCOL, HPL_T_grid * GRID );

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so HPL_grid_init creates a NPROW x NPCOL process grid, and it does it using column- or row-major ordering, starting from an initial collection of processes that get identified by an MPI communicator. That's the whole vibe. πŸ‘‘

Successful completion is indicated by the returned error code MPI_SUCCESS. Any other error codes? Those depend on the MPI implementation, so like, ask your MPI, not me. πŸ’€

Also important: the coordinates of processes that are not part of the grid get set to values outside of [0..NPROW) x [0..NPCOL). So if you're not in the grid, you're literally outside the range. not invited to the party, coordinates say so. 🚫


🌸 ARGUMENTS 🌸

  • COMM β€” (global/local input) MPI_Comm β€” On entry, COMM is the MPI communicator identifying the initial collection of processes out of which the grid is formed. it's giving guest list. 🫢
  • ORDER β€” (global input) const HPL_T_ORDER β€” On entry, ORDER specifies how the processes should be ordered in the grid, like this:
    • ORDER = HPL_ROW_MAJOR β€” row-major ordering;
    • ORDER = HPL_COLUMN_MAJOR β€” column-major ordering;
  • NPROW β€” (global input) const int β€” On entry, NPROW specifies the number of process rows in the grid to be created. NPROW must be at least one. minimum one, periodt. 1️⃣
  • NPCOL β€” (global input) const int β€” On entry, NPCOL specifies the number of process columns in the grid to be created. NPCOL must be at least one. same energy, minimum one. 1️⃣
  • GRID β€” (local input/output) HPL_T_grid * β€” On entry, GRID points to the data structure containing the process grid information to be initialized. it's the little container we're filling up. πŸŽ€

🌈 SEE ALSO 🌈

  • HPL_pnum (3)
  • HPL_grid_info (3)
  • HPL_grid_exit (3)

and that's the tea, bestie πŸ“ go forth and grid-ify. mwah πŸ’…

this was HPL 2.2, dated February 24, 2016 β€” iconic behavior honestly, we stan a classic πŸ‘‘βœ¨

πŸ“¦ where this page comes from