1 const char help[] = "CUDA backend of rosenbrock4cu.cu\n"; 2 3 /* ------------------------------------------------------------------------ 4 5 Copy of rosenbrock1.c. 6 Once PETSc test harness supports conditional linking, we can remove this duplicate. 7 See https://gitlab.com/petsc/petsc/-/issues/1173 8 ------------------------------------------------------------------------- */ 9 10 #include "rosenbrock4.h" 11 main(int argc,char ** argv)12int main(int argc, char **argv) 13 { 14 /* Initialize TAO and PETSc */ 15 PetscFunctionBeginUser; 16 PetscCall(PetscInitialize(&argc, &argv, NULL, help)); 17 PetscCall(RosenbrockMain()); 18 PetscCall(PetscFinalize()); 19 return 0; 20 } 21 22 /*TEST 23 24 build: 25 requires: !complex cuda !single !__float128 !defined(PETSC_USE_65BIT_INDICES) 26 27 test: 28 suffix: 1 29 nsize: {{1 2 3}} 30 args: -mat_type aijcusparse -tao_monitor_short -tao_type nls -tao_gatol 1.e-4 -tao_nls_pc_type pbjacobi 31 requires: !single 32 output_file: output/rosenbrock1_1.out 33 34 test: 35 suffix: 2 36 args: -mat_type aijcusparse -tao_monitor_short -tao_type lmvm -tao_gatol 1.e-3 37 output_file: output/rosenbrock1_2.out 38 39 test: 40 suffix: 3 41 args: -mat_type aijcusparse -tao_monitor_short -tao_type ntr -tao_gatol 1.e-4 42 requires: !single 43 output_file: output/rosenbrock1_3.out 44 45 test: 46 suffix: 5 47 args: -mat_type aijcusparse -tao_monitor_short -tao_type bntr -tao_gatol 1.e-4 48 output_file: output/rosenbrock1_5.out 49 50 test: 51 suffix: 6 52 args: -mat_type aijcusparse -tao_monitor_short -tao_type bntl -tao_gatol 1.e-4 53 output_file: output/rosenbrock1_6.out 54 55 test: 56 suffix: 7 57 args: -mat_type aijcusparse -tao_monitor_short -tao_type bnls -tao_gatol 1.e-4 58 output_file: output/rosenbrock1_7.out 59 60 test: 61 suffix: 8 62 args: -mat_type aijcusparse -tao_monitor_short -tao_type bntr -tao_bnk_max_cg_its 3 -tao_gatol 1.e-4 -tao_bnk_cg_tao_monitor_short 63 output_file: output/rosenbrock1_8.out 64 65 test: 66 suffix: 9 67 args: -mat_type aijcusparse -tao_monitor_short -tao_type bntl -tao_bnk_max_cg_its 3 -tao_gatol 1.e-4 -tao_bnk_cg_tao_monitor_short 68 output_file: output/rosenbrock1_9.out 69 70 test: 71 suffix: 10 72 args: -mat_type aijcusparse -tao_monitor_short -tao_type bnls -tao_bnk_max_cg_its 3 -tao_gatol 1.e-4 -tao_bnk_cg_tao_monitor_short 73 output_file: output/rosenbrock1_10.out 74 75 test: 76 suffix: 11 77 args: -mat_type aijcusparse -test_lmvm -tao_type bqnktr -tao_max_it 10 -tao_bqnk_mat_type lmvmbroyden 78 output_file: output/rosenbrock1_11.out 79 80 test: 81 suffix: 12 82 args: -mat_type aijcusparse -test_lmvm -tao_type bqnktr -tao_max_it 10 -tao_bqnk_mat_type lmvmbadbroyden 83 output_file: output/rosenbrock1_12.out 84 85 test: 86 suffix: 13 87 args: -mat_type aijcusparse -test_lmvm -tao_type bqnktr -tao_max_it 10 -tao_bqnk_mat_type lmvmsymbroyden 88 output_file: output/rosenbrock1_13.out 89 90 test: 91 suffix: 14 92 args: -mat_type aijcusparse -test_lmvm -tao_type bqnktr -tao_max_it 10 -tao_bqnk_mat_type lmvmbfgs 93 output_file: output/rosenbrock1_14.out 94 95 test: 96 suffix: 15 97 args: -mat_type aijcusparse -test_lmvm -tao_type bqnktr -tao_max_it 10 -tao_bqnk_mat_type lmvmdfp 98 output_file: output/rosenbrock1_15.out 99 100 test: 101 suffix: 16 102 args: -mat_type aijcusparse -test_lmvm -tao_type bqnktr -tao_max_it 10 -tao_bqnk_mat_type lmvmsr1 103 output_file: output/rosenbrock1_16.out 104 105 test: 106 suffix: 17 107 args: -mat_type aijcusparse -tao_monitor_short -tao_gatol 1e-4 -tao_type bqnls 108 output_file: output/rosenbrock1_17.out 109 110 test: 111 suffix: 18 112 args: -mat_type aijcusparse -tao_monitor_short -tao_gatol 1e-4 -tao_type blmvm 113 output_file: output/rosenbrock1_18.out 114 115 test: 116 suffix: 19 117 args: -mat_type aijcusparse -tao_monitor_short -tao_gatol 1e-4 -tao_type bqnktr -tao_bqnk_mat_type lmvmsr1 118 output_file: output/rosenbrock1_19.out 119 120 test: 121 suffix: 20 122 args: -mat_type aijcusparse -tao_monitor -tao_gatol 1e-4 -tao_type blmvm -tao_ls_monitor 123 output_file: output/rosenbrock1_20.out 124 125 test: 126 suffix: 21 127 args: -mat_type aijcusparse -test_lmvm -tao_type bqnktr -tao_max_it 10 -tao_bqnk_mat_type lmvmsymbadbroyden 128 output_file: output/rosenbrock1_21.out 129 130 test: 131 suffix: 22 132 args: -mat_type aijcusparse -tao_max_it 1 -tao_converged_reason 133 output_file: output/rosenbrock1_22.out 134 135 test: 136 suffix: 23 137 args: -mat_type aijcusparse -tao_max_funcs 0 -tao_converged_reason 138 output_file: output/rosenbrock1_23.out 139 140 test: 141 suffix: 24 142 args: -mat_type aijcusparse -tao_gatol 10 -tao_converged_reason 143 output_file: output/rosenbrock1_24.out 144 145 test: 146 suffix: 25 147 args: -mat_type aijcusparse -tao_grtol 10 -tao_converged_reason 148 output_file: output/rosenbrock1_25.out 149 150 test: 151 suffix: 26 152 args: -mat_type aijcusparse -tao_gttol 10 -tao_converged_reason 153 output_file: output/rosenbrock1_26.out 154 155 test: 156 suffix: 27 157 args: -mat_type aijcusparse -tao_steptol 10 -tao_converged_reason 158 output_file: output/rosenbrock1_27.out 159 160 test: 161 suffix: 28 162 args: -mat_type aijcusparse -tao_fmin 10 -tao_converged_reason 163 output_file: output/rosenbrock1_28.out 164 165 test: 166 suffix: test_dbfgs 167 nsize: {{1 2 3}} 168 output_file: output/rosenbrock1_14.out 169 args: -mat_type aijcusparse -n 10 -tao_type bqnktr -test_lmvm -tao_max_it 10 -tao_bqnk_mat_type lmvmdbfgs -tao_bqnk_mat_lmvm_scale_type none -tao_bqnk_mat_lbfgs_type {{inplace reorder}} -tao_bqnk_mat_lbfgs_recursive {{0 1}} 170 171 test: 172 suffix: test_ddfp 173 nsize: {{1 2 3}} 174 output_file: output/rosenbrock1_14.out 175 args: -mat_type aijcusparse -n 10 -tao_type bqnktr -test_lmvm -tao_max_it 10 -tao_bqnk_mat_type lmvmddfp -tao_bqnk_mat_lmvm_scale_type none -tao_bqnk_mat_ldfp_type {{inplace reorder}} -tao_bqnk_mat_ldfp_recursive {{0 1}} 176 177 test: 178 suffix: test_dqn_1 179 nsize: 1 180 output_file: output/rosenbrock1_29.out 181 args: -mat_type aijcusparse -n 10 -tao_type bqnktr -test_lmvm -tao_max_it 10 -tao_bqnk_mat_type lmvmdqn -tao_bqnk_mat_lmvm_scale_type none -tao_bqnk_mat_lqn_type {{inplace reorder}} 182 183 test: 184 suffix: test_dqn_2 185 nsize: 2 186 output_file: output/rosenbrock1_30.out 187 args: -mat_type aijcusparse -n 10 -tao_type bqnktr -test_lmvm -tao_max_it 10 -tao_bqnk_mat_type lmvmdqn -tao_bqnk_mat_lmvm_scale_type none -tao_bqnk_mat_lqn_type {{inplace reorder}} 188 189 test: 190 suffix: test_dqn_3 191 nsize: 3 192 output_file: output/rosenbrock1_31.out 193 args: -mat_type aijcusparse -n 10 -tao_type bqnktr -test_lmvm -tao_max_it 10 -tao_bqnk_mat_type lmvmdqn -tao_bqnk_mat_lmvm_scale_type none -tao_bqnk_mat_lqn_type {{inplace reorder}} 194 195 TEST*/ 196