This is a status report of our current unit and regression tests with some action items for me, @JunoRavin, @JonathanGorard @akashukla, @Maxwell-Rosen, @jRoeltgen and maybe others.
Unit tests
make check compiles before running the tests, but on some GPU machines (e.g. stellar), one can't compile on the compute node, and you need the compute node to run GPU tests. Maybe make unit just compiles? I didn't check.
- There are about 130-140 unit test files across core/moments/vlasov/gyrokinetic. Of these
37 are core
27 are moments
18 are vlasov
40 are GK
other: _cu files and mctests (parallel). pkpm?
- It took 4 minutes to run on my Mac, and 8 minutes on Stellar-amd.
- Failing tests are shown below:
Mac run had the following failures:
../build/moments/unit/ctest_fem_poisson_vareps
Test test_2x_p1_dirichletx_neumanny_dirichlety... [ FAILED ]
Test test_2x_p2_neumannx_dirichletx_dirichlety... [ FAILED ]
Test test_2x_p2_dirichletx_neumanny_dirichlety... [ FAILED ]
Test test_2x_p2_neumannx_dirichletx_dirichlety... [ FAILED ]
../build/gyrokinetic/unit/ctest_asdex
Test test_lower... Failed to open the eqdsk file: ./data/eqdsk/asdex.geqdsk
Test ellip... [ FAILED ]
ctest_gkgeom.c:93: Check gkyl_compare(8.382428377712543, arcL, 1e-12)... failed
ctest_gkgeom.c:102: Check gkyl_compare(8.172574228918158, arcL, 1e-12)... failed
../build/core/unit/ctest_mirror_grid_gen
Test wham_no_axis_psi... /bin/sh: line 1: 72168 Segmentation fault: 11 ./core/../build/core/unit/ctest_mirror_grid_gen -E
../build/gyrokinetic/unit/ctest_mom_gyrokinetic
Test test_2x2v_p1... [ FAILED ]
../build/gyrokinetic/unit/ctest_rescale_ghost_jacf
Test test_1x1v_ho... [ FAILED ]
Test test_2x2v_ho... [ FAILED ]
../build/gyrokinetic/unit/ctest_step_compare
Test test_pflo_l... Assertion failed: (false), function gkyl_tok_geo_calc_interior, file tok_geo.c, line 972.
Stellar-amd run had the following failures:
./core/unit/ctest_dg_basis_ops.c
Test cubic_evalf_2d... [ FAILED ]
ctest_dg_basis_ops.c:124: Check gkyl_compare_double(fout[2], 2*sq(xn[0]), 1.0e-15)... failed
./core/unit/ctest_mirror_grid_gen.c
Test wham_no_axis_psi... Test interrupted by SIGSEGV.
Test wham_with_axis_psi... Test interrupted by SIGSEGV.
Test wham_no_axis_sqrt_psi... Test interrupted by SIGSEGV.
Test wham_with_axis_sqrt_psi... Test interrupted by SIGSEGV.
Test quad_geom_no_axis_psi... Test interrupted by SIGSEGV.
Test quad_geom_with_axis_psi... Test interrupted by SIGSEGV.
Test quad_geom_no_axis_sqrt_psi... Test interrupted by SIGSEGV.
Test quad_geom_with_axis_sqrt_psi... Test interrupted by SIGSEGV.
./core/unit/ctest_tensor_field_ops.c
Test cu_tensor_field_lower_idx_in_place... Error:
CUDA error: an illegal memory access was encountered
Test cu_tensor_field_raise_idx_in_place... Error:
CUDA error: an illegal memory access was encountered
Test cu_tensor_field_lower_idx_set... Error:
CUDA error: an illegal memory access was encountered
Test cu_tensor_field_raise_idx_set... Error:
CUDA error: an illegal memory access was encountered
./moments/unit/ctest_wv_gr_mhd.c
Test gr_mhd_waves_schwarzschild... [ FAILED ]
./moments/unit/ctest_wv_gr_mhd_tetrad.c
Test gr_mhd_tetrad_waves_schwarzschild... [ FAILED ]
./vlasov/unit/ctest_dg_em_vars.c
Test test_1x_p1_gpu... [ FAILED ]
Test test_2x_p1_gpu... [ FAILED ]
Test test_1x_p2_gpu... [ FAILED ]
Test test_2x_tensor_p2_gpu... ctest_dg_em_vars: zero/dg_bin_ops_cu.cu:447: void gkyl_dg_div_op_range_cu(gkyl_dg_bin_op_mem*, gkyl_basis, int, gkyl_array*, int, const gkyl_array*, int, const gkyl_array*, const gkyl_range*): Assertion `status' failed.
Test interrupted by SIGABRT.
Test test_3x_tensor_p2_gpu... ctest_dg_em_vars: zero/dg_bin_ops_cu.cu:447: void gkyl_dg_div_op_range_cu(gkyl_dg_bin_op_mem*, gkyl_basis, int, gkyl_array*, int, const gkyl_array*, int, const gkyl_array*, const gkyl_range*): Assertion `status' failed.
Test interrupted by SIGABRT.
./vlasov/unit/ctest_prim_vlasov.c
or
./vlasov/unit/ctest_dg_lbo_vlasov.c
or
./gyrokinetic/unit/ctest_mom_gyrokinetic.c
Test test_1x1v_p2_cu... Error:
CUDA error: an illegal memory access was encountered
Test test_1x2v_p2_cu... Error:
CUDA error: an illegal memory access was encountered
./gyrokinetic/unit/ctest_step_compare.c
or
./gyrokinetic/unit/ctest_asdex.c
Test test_lower... Failed to open the eqdsk file: ./data/eqdsk/asdex.geqdsk
ctest_asdex: zero/efit.c:33: gkyl_efit_new: Assertion `false' failed.
Test interrupted by SIGABRT.
Test test_middle... Failed to open the eqdsk file: ./data/eqdsk/asdex.geqdsk
ctest_asdex: zero/efit.c:33: gkyl_efit_new: Assertion `false' failed.
Test interrupted by SIGABRT.
Test test_upper... Failed to open the eqdsk file: ./data/eqdsk/asdex.geqdsk
ctest_asdex: zero/efit.c:33: gkyl_efit_new: Assertion `false' failed.
Test interrupted by SIGABRT.
./gyrokinetic/unit/ctest_deflated_fem_poisson.c
Test test_fem_poisson_zind_dd... ctest_deflated_fem_poisson: zero/fem_poisson.c:337: gkyl_fem_poisson_set_rhs: Assertion `gkyl_array_is_cu_dev(rhsin)' failed.
Test interrupted by SIGABRT.
./gyrokinetic/unit/ctest_dg_interpolate.c
Test test_1x1v_gk_ho... malloc(): corrupted top size
Test interrupted by SIGABRT.
Test test_1x2v_gk_ho... malloc(): corrupted top size
Test interrupted by SIGABRT.
Test test_2x2v_gk_ho... malloc(): corrupted top size
Test interrupted by SIGABRT.
Test test_3x2v_gk_ho... malloc(): corrupted top size
Test interrupted by SIGABRT.
Test test_1x1v_gk_dev... free(): invalid next size (fast)
Test interrupted by SIGABRT.
Test test_1x2v_gk_dev... free(): invalid next size (fast)
Test interrupted by SIGABRT.
Test test_2x2v_gk_dev... malloc(): invalid size (unsorted)
Test interrupted by SIGABRT.
Test test_3x2v_gk_dev... free(): invalid next size (fast)
Test interrupted by SIGABRT.
./gyrokinetic/unit/ctest_gkgeom.c
Test ellip... [ FAILED ]
ctest_gkgeom.c:93: Check gkyl_compare(8.382428377712543, arcL, 1e-12)... failed
ctest_gkgeom.c:102: Check gkyl_compare(8.172574228918158, arcL, 1e-12)... failed
./gyrokinetic/unit/ctest_mom_gyrokinetic.c
Test test_2x2v_p1... [ FAILED ]
Test test_2x2v_p1_cu... [ FAILED ]
./gyrokinetic/unit/ctest_nodal_ops.c
Test test_p1_interior_2x... Test interrupted by SIGSEGV.
Test test_p1_interior_3x... Test interrupted by SIGSEGV.
Test test_p1_3x... [ FAILED ]
./gyrokinetic/unit/ctest_positivity_shift_gyrokinetic.c
Test test_1x2v_ho... malloc(): corrupted top size
Test interrupted by SIGABRT.
Test test_1x2v_dev... malloc(): corrupted top size
Test interrupted by SIGABRT.
./gyrokinetic/unit/ctest_rescale_ghost_jacf.c
Test test_1x1v_ho... [ FAILED ]
Test test_2x2v_ho... [ FAILED ]
Test test_1x1v_dev... [ FAILED ]
Test test_2x2v_dev... [ FAILED ]
./gyrokinetic/unit/ctest_step_compare.c
Test test_core_l... ctest_step_compare: zero/tok_geo.c:757: gkyl_tok_geo_calc: Assertion `false' failed.
Test interrupted by SIGABRT.
Test test_pflo_l... ctest_step_compare: zero/tok_geo.c:972: gkyl_tok_geo_calc_interior: Assertion `false' failed. Test interrupted by SIGABRT.
./gyrokinetic/unit/ctest_step_outboard.c
Test test_fixed_z... free(): invalid pointer
./test.sh: line 122: 3911843
./cuda-build/gyrokinetic/unit/ctest_step_outboard
Aborted (core dumped)
Warnings:
./gyrokinetic/unit/ctest_dg_rad_gyrokinetic.c
Test test_1x2v_p1_Li1_lowNe...
Warning! More densities selected for element 3, charge state 1 than available. Setting to max available.
[ OK ]
Test test_1x2v_p1_Li1_midNe...
Warning! More densities selected for element 3, charge state 1 than available. Setting to max available.
[ OK ]
Test test_1x2v_p1_Li1_highNe...
Warning! More densities selected for element 3, charge state 1 than available. Setting to max available.
[ OK ]
Test test_1x2v_p1_L1_midNe_gpu...
Warning! More densities selected for element 3, charge state 1 than available. Setting to max available.
Favorite test name:
Test triangle... [ OK ]
Action items
Here's a list of the people I think are best suited to fix each of these tests. As you go through these, please rename the tests inside the file so they are more unique (to avoid same-named tests in multiple files):
@jRoeltgen
./gyrokinetic/unit/ctest_dg_rad_gyrokinetic.c (what I find weird is that this warning came up on Stellar-amd but not my Mac, so that's the only thing that needs resolving here)
@Maxwell-Rosen
../build/core/unit/ctest_mirror_grid_gen
@JonathanGorard
./moments/unit/ctest_wv_gr_mhd.c
./moments/unit/ctest_wv_gr_mhd_tetrad.c
@JunoRavin
./core/unit/ctest_tensor_field_ops.c
./vlasov/unit/ctest_dg_em_vars.c
./vlasov/unit/ctest_prim_vlasov.c
./vlasov/unit/ctest_dg_lbo_vlasov.c
@manauref
../build/moments/unit/ctest_fem_poisson_vareps
../build/gyrokinetic/unit/ctest_mom_gyrokinetic
../build/gyrokinetic/unit/ctest_rescale_ghost_jacf
./gyrokinetic/unit/ctest_dg_interpolate.c
./gyrokinetic/unit/ctest_positivity_shift_gyrokinetic.c
@akashukla
../build/gyrokinetic/unit/ctest_asdex
../build/gyrokinetic/unit/ctest_step_compare
./core/unit/ctest_dg_basis_ops.c
./gyrokinetic/unit/ctest_deflated_fem_poisson.c
./gyrokinetic/unit/ctest_gkgeom.c
./gyrokinetic/unit/ctest_nodal_ops.c
./gyrokinetic/unit/ctest_step_compare.c
./gyrokinetic/unit/ctest_step_outboard.c
./cuda-build/gyrokinetic/unit/ctest_step_outboard
Regression tests
TBD (I tried running them but I didn't time each, so I'll re-do it and post the report here).
We will require the following regression tests before merging PRs:
Moments
Vlasov
Gyrokinetic
PKPM
This is a status report of our current unit and regression tests with some action items for me, @JunoRavin, @JonathanGorard @akashukla, @Maxwell-Rosen, @jRoeltgen and maybe others.
Unit tests
make checkcompiles before running the tests, but on some GPU machines (e.g. stellar), one can't compile on the compute node, and you need the compute node to run GPU tests. Maybemake unitjust compiles? I didn't check.37 are core
27 are moments
18 are vlasov
40 are GK
other: _cu files and mctests (parallel). pkpm?
Mac run had the following failures:
Stellar-amd run had the following failures:
Favorite test name:
Test triangle... [ OK ]
Action items
Here's a list of the people I think are best suited to fix each of these tests. As you go through these, please rename the tests inside the file so they are more unique (to avoid same-named tests in multiple files):
@jRoeltgen
./gyrokinetic/unit/ctest_dg_rad_gyrokinetic.c (what I find weird is that this warning came up on Stellar-amd but not my Mac, so that's the only thing that needs resolving here)
@Maxwell-Rosen
../build/core/unit/ctest_mirror_grid_gen
@JonathanGorard
./moments/unit/ctest_wv_gr_mhd.c
./moments/unit/ctest_wv_gr_mhd_tetrad.c
@JunoRavin
./core/unit/ctest_tensor_field_ops.c
./vlasov/unit/ctest_dg_em_vars.c
./vlasov/unit/ctest_prim_vlasov.c
./vlasov/unit/ctest_dg_lbo_vlasov.c
@manauref
../build/moments/unit/ctest_fem_poisson_vareps
../build/gyrokinetic/unit/ctest_mom_gyrokinetic
../build/gyrokinetic/unit/ctest_rescale_ghost_jacf
./gyrokinetic/unit/ctest_dg_interpolate.c
./gyrokinetic/unit/ctest_positivity_shift_gyrokinetic.c
@akashukla
../build/gyrokinetic/unit/ctest_asdex
../build/gyrokinetic/unit/ctest_step_compare
./core/unit/ctest_dg_basis_ops.c
./gyrokinetic/unit/ctest_deflated_fem_poisson.c
./gyrokinetic/unit/ctest_gkgeom.c
./gyrokinetic/unit/ctest_nodal_ops.c
./gyrokinetic/unit/ctest_step_compare.c
./gyrokinetic/unit/ctest_step_outboard.c
./cuda-build/gyrokinetic/unit/ctest_step_outboard
Regression tests
TBD (I tried running them but I didn't time each, so I'll re-do it and post the report here).
We will require the following regression tests before merging PRs:
Moments
Vlasov
Gyrokinetic
PKPM