12 #include "../offload/offload_library.h"
23 printf(
"%s", message);
30 int main(
int argc,
char *argv[]) {
33 int nrequired_args = 2;
35 bool collocate =
true;
36 if (iarg < argc && strcmp(argv[iarg],
"--integrate") == 0) {
42 if (iarg < argc && strcmp(argv[iarg],
"--batch") == 0) {
49 if (argc - iarg != nrequired_args) {
50 fprintf(stderr,
"Usage: grid_miniapp.x [--integrate] [--batch "
51 "<cycles-per-block>] <cycles> <task-file>\n");
55 int cycles_per_block = 1;
56 if (batch && sscanf(argv[iarg++],
"%i", &cycles_per_block) != 1) {
57 fprintf(stderr,
"Error: Could not parse cycles per block.\n");
62 if (sscanf(argv[iarg++],
"%i", &cycles) != 1) {
63 fprintf(stderr,
"Error: Could not parse cycles.\n");
70 const double tolerance = 1e-12 * cycles;
71 const bool success =
grid_replay(argv[iarg++], cycles, collocate, batch,
72 cycles_per_block, tolerance);
78 fprintf(stderr,
"Error: Maximal difference is too large.\n");
void grid_library_finalize(void)
Finalizes the grid library.
void grid_library_print_stats(void(*mpi_sum_func)(long *, int), const int mpi_comm, void(*print_func)(char *, int), const int output_unit)
Prints statistics gathered by the grid library.
void grid_library_init(void)
Initializes the grid library.
int main(int argc, char *argv[])
Stand-alone miniapp for running .task files.
void mpi_sum_func(long *number, int mpi_comm)
void print_func(char *message, int output_unit)
bool grid_replay(const char *filename, const int cycles, const bool collocate, const bool batch, const int cycles_per_block, const double tolerance)
Reads a .task file, collocates/integrates it, and compares results. See grid_replay....
subroutine, public offload_set_chosen_device(device_id)
Selects the chosen device to be used.