1 static const char help[] = "Tests PetscDevice and PetscDeviceContext init sequence control from command line.\n\n";
2
3 #include "petscdevicetestcommon.h"
4
main(int argc,char * argv[])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: 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