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