xref: /petsc/include/petscbm.h (revision 6d8694c4fbab79f9439f1ad13c0386ba7ee1ca4b)
1 #pragma once
2 
3 #include <petscis.h>
4 
5 /* MANSEC = Sys */
6 /* SUBMANSEC = BM */
7 
8 /*S
9      PetscBench - Abstract PETSc object that manages a benchmark test
10 
11    Level: intermediate
12 
13 .seealso: `PetscBenchCreate()`, `PetscBenchDestroy()`, `PetscBenchSetType()`, `PetscBenchType`
14 S*/
15 typedef struct _p_PetscBench *PetscBench;
16 
17 /*J
18     PetscBenchType - String with the name of a PETSc benchmark test
19 
20    Level: intermediate
21 
22 .seealso: `PetscBenchCreate()`, `PetscBenchDestroy()`, `PetscBenchSetType()`, `PetscBench`
23 J*/
24 typedef const char *PetscBenchType;
25 
26 PETSC_EXTERN PetscClassId PetscBench_CLASSID;
27 
28 PETSC_EXTERN PetscErrorCode PetscBenchInitializePackage(void);
29 
30 PETSC_EXTERN PetscErrorCode PetscBenchCreate(MPI_Comm, PetscBench *);
31 PETSC_EXTERN PetscErrorCode PetscBenchSetFromOptions(PetscBench);
32 PETSC_EXTERN PetscErrorCode PetscBenchSetUp(PetscBench);
33 PETSC_EXTERN PetscErrorCode PetscBenchRun(PetscBench);
34 PETSC_EXTERN PetscErrorCode PetscBenchReset(PetscBench);
35 PETSC_EXTERN PetscErrorCode PetscBenchSetOptionsPrefix(PetscBench, const char[]);
36 PETSC_EXTERN PetscErrorCode PetscBenchView(PetscBench, PetscViewer);
37 PETSC_EXTERN PetscErrorCode PetscBenchViewFromOptions(PetscBench, PetscObject, const char[]);
38 PETSC_EXTERN PetscErrorCode PetscBenchDestroy(PetscBench *);
39 PETSC_EXTERN PetscErrorCode PetscBenchSetType(PetscBench, PetscBenchType);
40 PETSC_EXTERN PetscErrorCode PetscBenchGetType(PetscBench, PetscBenchType *);
41 PETSC_EXTERN PetscErrorCode PetscBenchRegister(const char[], PetscErrorCode (*)(PetscBench));
42 PETSC_EXTERN PetscErrorCode PetscBenchSetSize(PetscBench, PetscInt);
43 PETSC_EXTERN PetscErrorCode PetscBenchGetSize(PetscBench, PetscInt *);
44