xref: /petsc/src/sys/objects/device/tests/ex12.c (revision fbf9dbe564678ed6eff1806adbc4c4f01b9743f4)
1 static const char help[] = "Tests PetscDevice and PetscDeviceContext init sequence control from command line.\n\n";
2 
3 #include "petscdevicetestcommon.h"
4 
5 int main(int argc, char *argv[])
6 {
7   PetscDeviceContext dctx;
8 
9   PetscFunctionBeginUser;
10   // check that things are properly caught at init-time, i.e. allow failures for "lazy" during
11   // initialize
12   PetscCall(PetscInitialize(&argc, &argv, NULL, help));
13   // and check that things are properly handled if explicitly requested
14   PetscCall(PetscDeviceContextGetCurrentContext(&dctx));
15   PetscCall(PetscFinalize());
16   return 0;
17 }
18 
19 /*TEST
20 
21   testset:
22     requires: defined(PETSC_HAVE_DEVICE), defined(PETSC_USE_INFO)
23     filter: grep -e PetscDevice -e "PETSC ERROR" -e "PETSc successfully started"
24     args: -info -device_enable {{none lazy eager}separate output}
25     args: -petsc_ci_portable_error_output -error_output_stdout
26     test:
27       requires: cuda
28       args: -device_enable_cuda {{none lazy eager}separate output}
29       suffix: cuda_no_env
30     test:
31       requires: cuda
32       env: CUDA_VISIBLE_DEVICES=0
33       args: -device_enable_cuda {{none lazy eager}separate output}
34       suffix: cuda_env_set
35     test:
36       requires: cuda
37       env: CUDA_VISIBLE_DEVICES=
38       args: -device_enable_cuda {{none lazy eager}separate output}
39       suffix: cuda_env_set_empty
40     test:
41       requires: hip
42       args: -device_enable_hip {{none lazy eager}separate output}
43       suffix: hip_no_env
44     test:
45       requires: hip
46       env: HIP_VISIBLE_DEVICES=0
47       args: -device_enable_hip {{none lazy eager}separate output}
48       suffix: hip_env_set
49     test:
50       requires: hip
51       env: HIP_VISIBLE_DEVICES=
52       args: -device_enable_hip {{none lazy eager}separate output}
53       suffix: hip_env_set_empty
54 
55 TEST*/
56