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