SomajitDey / progrep

progrep is a command-line tool (Linux) to show live progress report, status and stats of a running simulation or compute job that executes a given number of iterations. It shows % completed, time remaining(ETA), time elapsed (both wall-clock & CPU time), number of threads, MPI_Rank(if any), CPU usage & speed (FPS). The FPS measures may be used in benchmarking, for example, while optimizing HPC algorithms for performance. progrep supports both serial (single-core/single-threaded) and parallel (multicore and/or multinode - e.g. OpenMP and/or MPI) jobs. progrep can also report for jobs running on remote hosts [Case in point: jobs running on Linux Clusters]. progrep works in client-server model. The server for progrep can be installed in your simulation source code with only 4 extra lines (API). When the progrep command is invoked, it queries this server as a client. progrep does not interfere with or slow down your simulation when not invoked. Even when invoked, the overhead is insignificant. Out of the box, the progrep API works with code written in Fortran, C and C++. If your code uses other language, please write your own wrapper for the API. The API library is small and static which benefits portability of your progrep-aware binary.

Home Page:https://doi.org/10.5281/zenodo.4294762

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SomajitDey/progrep Stargazers