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