virtual-casing 0.2.2__tar.gz → 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/.github/workflows/test.yml +11 -2
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/.github/workflows/wheel.yml +13 -4
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/CMakeLists.txt +35 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/Makefile +5 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/PKG-INFO +7 -2
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/README.md +4 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/.github/run-tests.sh +17 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/.github/workflows/build-test.yml +190 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/.github/workflows/codecov.yml +2 -2
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/Makefile +52 -15
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/README.md +11 -2
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/convergence.svg +621 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/cubed-sphere.svg +728 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/near-1-foot.svg +77 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/near-2-split.svg +65 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/near-3-bisect.svg +146 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/near-4-order.svg +191 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/near-5-pipeline.svg +545 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/scaling.svg +300 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/self-1-split.svg +188 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/self-2-collapse.svg +251 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/self-3-rules.svg +299 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/self-4-pipeline.svg +533 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/Makefile +16 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/convergence.tex +29 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/cubed-sphere.tex +228 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/data/convergence-genoa.dat +5 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/data/genoa-96.txt +140 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/data/icelake-64.txt +134 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/data/rome-128.txt +140 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/data/scaling-genoa-laplace.dat +9 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/data/scaling-genoa-stokes.dat +9 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/data/scaling-mpi-tol1e-3-genoa-96-7204544.txt +338 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/near-1-foot.tex +24 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/near-2-split.tex +28 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/near-3-bisect.tex +32 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/near-4-order.tex +26 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/near-5-pipeline.tex +32 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/results.py +184 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/scaling.tex +24 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/self-1-split.tex +38 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/self-2-collapse.tex +39 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/self-3-rules.tex +29 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/self-4-pipeline.tex +30 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element.rst +399 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/doc/doxygen/index.rst +0 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/kernel_functions.rst +2 -2
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/doc/index.rst +15 -2
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/doc/tutorial/index.rst +0 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/boundary_integral.hpp +9 -8
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/boundary_integral.txx +196 -145
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/comm.hpp +233 -39
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/comm.txx +898 -303
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/common.hpp +4 -2
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/alpert_quadr.cpp +169 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/alpert_quadr.hpp +59 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/device_scratch.hpp +241 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/device_scratch.txx +476 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/gpu-tree.hpp +433 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/gpu-tree.txx +2642 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/gpu-vector.hpp +86 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/quad_element.cpp +2364 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/quad_element.hpp +260 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/sort-scatter.hpp +145 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/sort-scatter.txx +383 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/fmm-wrapper.hpp +21 -2
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/fmm-wrapper.txx +99 -49
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/function-table.hpp +64 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/function-table.txx +383 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/generic-kernel.hpp +21 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/generic-kernel.txx +38 -31
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/intrin-wrapper.hpp +7922 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/iterator.hpp +61 -176
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/iterator.txx +41 -124
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/kernel_functions.hpp +21 -9
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/lagrange-interp.txx +1 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/lin-solve.txx +3 -3
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/mat_utils.txx +38 -10
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/math_utils.hpp +13 -2
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/math_utils.txx +791 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/matrix.hpp +23 -15
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/matrix.txx +58 -39
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/mem_mgr.txx +4 -5
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/morton.hpp +74 -7
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/morton.txx +94 -40
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/ode-solver.txx +1 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/ompUtils.hpp +96 -7
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/ompUtils.txx +235 -10
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/profile.hpp +27 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/profile.txx +99 -11
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/quadrule.txx +1 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/scratch_pool.hpp +76 -2
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/scratch_pool.txx +78 -16
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/small_gemm.hpp +86 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/small_gemm.txx +514 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/sort-scatter.hpp +157 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/sort-scatter.txx +412 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/sph_harm.txx +9 -23
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/sse2neon.h +32 -21
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/tensor.hpp +19 -5
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/tensor.txx +17 -10
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/tree.hpp +71 -22
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/tree.txx +862 -768
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/vec-test.hpp +1410 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/vec.hpp +878 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/vec.txx +838 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/vector.hpp +2 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/vector.txx +37 -25
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl.hpp +8 -1
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/bench-cubed-sphere.cpp +473 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/example-gpu-tree.cu +23 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/src/test-boundary_integral.cpp +1 -2
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/src/test-comm.cpp +106 -1
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-device-scratch.cu +125 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/src/test-fft-fallback.cpp +1 -6
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-function-table.cpp +88 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-gpu-sort-scatter.cu +32 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-gpu-tree.cu +775 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-intrin-wrapper.cpp +37 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/src/test-linear-solver.cpp +1 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-mat_utils.cpp +98 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-math_utils.cpp +68 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-matrix.cpp +54 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/src/test-morton.cpp +12 -7
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-ompUtils.cpp +321 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/src/test-profile.cpp +42 -1
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-pt-tree.cpp +158 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-quad-elem.cpp +1606 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-scratch-pool-perf.cpp +3 -3
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-scratch-pool.cpp +77 -3
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-small-gemm.cpp +267 -0
- virtual_casing-0.2.2/extern/SCTL/src/test-pt-tree.cpp → virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-sort-scatter.cpp +2 -4
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-utils.hpp +99 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/src/test-vector.cpp +42 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-vtudata.cpp +1 -2
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test.cpp +1 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/include/biest/bie_solvers.hpp +11 -5
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/include/biest/bie_solvers.txx +62 -197
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/include/biest/boundary_integ_op.hpp +8 -3
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/include/biest/boundary_integ_op.txx +6 -3
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/include/biest/kernel.hpp +65 -39
- virtual_casing-0.3.0/extern/BIEST/include/biest/offsurface_op.hpp +154 -0
- virtual_casing-0.3.0/extern/BIEST/include/biest/offsurface_op.txx +617 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/include/biest/surface_op.txx +22 -10
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/include/biest/vacuum-field.hpp +2 -2
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/include/biest/vacuum-field.txx +21 -54
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/include/biest.hpp +1 -0
- virtual_casing-0.3.0/extern/SCTL/.github/run-tests.sh +17 -0
- virtual_casing-0.3.0/extern/SCTL/.github/workflows/build-test.yml +190 -0
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/.github/workflows/codecov.yml +2 -2
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/Makefile +52 -15
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/README.md +11 -2
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/convergence.svg +621 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/cubed-sphere.svg +728 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/near-1-foot.svg +77 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/near-2-split.svg +65 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/near-3-bisect.svg +146 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/near-4-order.svg +191 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/near-5-pipeline.svg +545 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/scaling.svg +300 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/self-1-split.svg +188 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/self-2-collapse.svg +251 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/self-3-rules.svg +299 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/self-4-pipeline.svg +533 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/Makefile +16 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/convergence.tex +29 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/cubed-sphere.tex +228 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/data/convergence-genoa.dat +5 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/data/genoa-96.txt +140 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/data/icelake-64.txt +134 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/data/rome-128.txt +140 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/data/scaling-genoa-laplace.dat +9 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/data/scaling-genoa-stokes.dat +9 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/data/scaling-mpi-tol1e-3-genoa-96-7204544.txt +338 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/near-1-foot.tex +24 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/near-2-split.tex +28 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/near-3-bisect.tex +32 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/near-4-order.tex +26 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/near-5-pipeline.tex +32 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/results.py +184 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/scaling.tex +24 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/self-1-split.tex +38 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/self-2-collapse.tex +39 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/self-3-rules.tex +29 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/self-4-pipeline.tex +30 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element.rst +399 -0
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/index.rst +0 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/kernel_functions.rst +2 -2
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/doc/index.rst +15 -2
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/index.rst +0 -1
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/boundary_integral.hpp +9 -8
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/boundary_integral.txx +196 -145
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/comm.hpp +233 -39
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/comm.txx +898 -303
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/common.hpp +4 -2
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/alpert_quadr.cpp +169 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/alpert_quadr.hpp +59 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/device_scratch.hpp +241 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/device_scratch.txx +476 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/gpu-tree.hpp +433 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/gpu-tree.txx +2642 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/gpu-vector.hpp +86 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/quad_element.cpp +2364 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/quad_element.hpp +260 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/sort-scatter.hpp +145 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/sort-scatter.txx +383 -0
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/fmm-wrapper.hpp +21 -2
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/fmm-wrapper.txx +99 -49
- virtual_casing-0.3.0/extern/SCTL/include/sctl/function-table.hpp +64 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/function-table.txx +383 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/generic-kernel.hpp +21 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/generic-kernel.txx +38 -31
- virtual_casing-0.3.0/extern/SCTL/include/sctl/intrin-wrapper.hpp +7922 -0
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/iterator.hpp +61 -176
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/iterator.txx +41 -124
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/kernel_functions.hpp +21 -9
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/lagrange-interp.txx +1 -1
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/lin-solve.txx +3 -3
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/mat_utils.txx +38 -10
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/math_utils.hpp +13 -2
- virtual_casing-0.3.0/extern/SCTL/include/sctl/math_utils.txx +791 -0
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/matrix.hpp +23 -15
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/matrix.txx +58 -39
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/mem_mgr.txx +4 -5
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/morton.hpp +74 -7
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/morton.txx +94 -40
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/ode-solver.txx +1 -1
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/ompUtils.hpp +96 -7
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/ompUtils.txx +235 -10
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/profile.hpp +27 -0
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/profile.txx +99 -11
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/quadrule.txx +1 -1
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/scratch_pool.hpp +76 -2
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/scratch_pool.txx +78 -16
- virtual_casing-0.3.0/extern/SCTL/include/sctl/small_gemm.hpp +86 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/small_gemm.txx +514 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/sort-scatter.hpp +157 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/sort-scatter.txx +412 -0
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/sph_harm.txx +9 -23
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/sse2neon.h +32 -21
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/tensor.hpp +19 -5
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/tensor.txx +17 -10
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/tree.hpp +71 -22
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/tree.txx +862 -768
- virtual_casing-0.3.0/extern/SCTL/include/sctl/vec-test.hpp +1410 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/vec.hpp +878 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/vec.txx +838 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/vector.hpp +2 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/vector.txx +37 -25
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl.hpp +8 -1
- virtual_casing-0.3.0/extern/SCTL/src/bench-cubed-sphere.cpp +473 -0
- virtual_casing-0.3.0/extern/SCTL/src/example-gpu-tree.cu +23 -0
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/src/test-boundary_integral.cpp +1 -2
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/src/test-comm.cpp +106 -1
- virtual_casing-0.3.0/extern/SCTL/src/test-device-scratch.cu +125 -0
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/src/test-fft-fallback.cpp +1 -6
- virtual_casing-0.3.0/extern/SCTL/src/test-function-table.cpp +88 -0
- virtual_casing-0.3.0/extern/SCTL/src/test-gpu-sort-scatter.cu +32 -0
- virtual_casing-0.3.0/extern/SCTL/src/test-gpu-tree.cu +775 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-intrin-wrapper.cpp +37 -1
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/src/test-linear-solver.cpp +1 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-mat_utils.cpp +98 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-math_utils.cpp +68 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-matrix.cpp +54 -0
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/src/test-morton.cpp +12 -7
- virtual_casing-0.3.0/extern/SCTL/src/test-ompUtils.cpp +321 -0
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/src/test-profile.cpp +42 -1
- virtual_casing-0.3.0/extern/SCTL/src/test-pt-tree.cpp +158 -0
- virtual_casing-0.3.0/extern/SCTL/src/test-quad-elem.cpp +1606 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-scratch-pool-perf.cpp +3 -3
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-scratch-pool.cpp +77 -3
- virtual_casing-0.3.0/extern/SCTL/src/test-small-gemm.cpp +267 -0
- virtual_casing-0.2.2/extern/BIEST/extern/SCTL/src/test-pt-tree.cpp → virtual_casing-0.3.0/extern/SCTL/src/test-sort-scatter.cpp +2 -4
- virtual_casing-0.3.0/extern/SCTL/src/test-utils.hpp +99 -0
- {virtual_casing-0.2.2/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/src/test-vector.cpp +42 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-vtudata.cpp +1 -2
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test.cpp +1 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/include/virtual-casing.hpp +3 -11
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/include/virtual-casing.txx +7 -28
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/pyproject.toml +2 -1
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/src/__init__.py +6 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/src/_vc_baseline.pyi +2 -14
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/src/python.cpp +2 -14
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/test/test.py +56 -6
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/test/virtual-casing.cpp +3 -3
- virtual_casing-0.2.2/extern/BIEST/extern/SCTL/.github/workflows/build-test.yml +0 -82
- virtual_casing-0.2.2/extern/BIEST/extern/SCTL/doc/doxygen/boundary_quadrature.rst +0 -8
- virtual_casing-0.2.2/extern/BIEST/extern/SCTL/include/sctl/boundary_quadrature.hpp +0 -1907
- virtual_casing-0.2.2/extern/BIEST/extern/SCTL/include/sctl/experimental/quad_element.cpp +0 -498
- virtual_casing-0.2.2/extern/BIEST/extern/SCTL/include/sctl/experimental/quad_element.hpp +0 -190
- virtual_casing-0.2.2/extern/BIEST/extern/SCTL/include/sctl/intrin-wrapper.hpp +0 -3083
- virtual_casing-0.2.2/extern/BIEST/extern/SCTL/include/sctl/math_utils.txx +0 -503
- virtual_casing-0.2.2/extern/BIEST/extern/SCTL/include/sctl/vec-test.hpp +0 -457
- virtual_casing-0.2.2/extern/BIEST/extern/SCTL/include/sctl/vec.hpp +0 -397
- virtual_casing-0.2.2/extern/BIEST/extern/SCTL/include/sctl/vec.txx +0 -420
- virtual_casing-0.2.2/extern/BIEST/extern/SCTL/src/test-ompUtils.cpp +0 -177
- virtual_casing-0.2.2/extern/BIEST/extern/SCTL/src/test-quad-elem.cpp +0 -95
- virtual_casing-0.2.2/extern/BIEST/extern/SCTL/src/test-utils.hpp +0 -45
- virtual_casing-0.2.2/extern/SCTL/.github/workflows/build-test.yml +0 -82
- virtual_casing-0.2.2/extern/SCTL/doc/doxygen/boundary_quadrature.rst +0 -8
- virtual_casing-0.2.2/extern/SCTL/include/sctl/boundary_quadrature.hpp +0 -1907
- virtual_casing-0.2.2/extern/SCTL/include/sctl/experimental/quad_element.cpp +0 -498
- virtual_casing-0.2.2/extern/SCTL/include/sctl/experimental/quad_element.hpp +0 -190
- virtual_casing-0.2.2/extern/SCTL/include/sctl/intrin-wrapper.hpp +0 -3083
- virtual_casing-0.2.2/extern/SCTL/include/sctl/math_utils.txx +0 -503
- virtual_casing-0.2.2/extern/SCTL/include/sctl/vec-test.hpp +0 -457
- virtual_casing-0.2.2/extern/SCTL/include/sctl/vec.hpp +0 -397
- virtual_casing-0.2.2/extern/SCTL/include/sctl/vec.txx +0 -420
- virtual_casing-0.2.2/extern/SCTL/src/test-ompUtils.cpp +0 -177
- virtual_casing-0.2.2/extern/SCTL/src/test-quad-elem.cpp +0 -95
- virtual_casing-0.2.2/extern/SCTL/src/test-utils.hpp +0 -45
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/.gitignore +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/.gitmodules +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/LICENSE +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/MANIFEST.in +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/cmake/FindFFTW.cmake +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/.clang-format +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/.gitignore +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/.gitmodules +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/LICENSE +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/Makefile +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/README.md +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/applications/virtual-casing/BetaScan_run_20.Bxyz.txt +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/applications/virtual-casing/Makefile +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/applications/virtual-casing/ellipse.coils +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/applications/virtual-casing/virtual-casing.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/.clang-format +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/.gitattributes +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/.gitignore +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/.readthedocs.yaml +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/LICENSE +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/Doxyfile +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/Makefile +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/ackn.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/conf.py +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/boundary_integral.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/cheb_utils.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/comm.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/common.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/fft_wrapper.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/fmm-wrapper.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/generic-kernel.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/iterator.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/lagrange-interp.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/lin-solve.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/mat_utils.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/math_utils.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/matrix.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/mem_mgr.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/morton.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/ode-solver.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/ompUtils.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/permutation.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/profile.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/quadrule.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/scratch_pool.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/sph_harm.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/stacktrace.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/static-array.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/tensor.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/tree.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/vec.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/vector.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/vtudata.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/requirements.txt +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/boundaryintegralop.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/comm.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/fft.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/fmm.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/gmres-rsult.txt +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/gmres.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/interp-quadrule.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/kernels.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/lagrange-interp.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/matrix.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/permutation.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/profile.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/sdc.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/tensor.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/tree.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/vec.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/vector.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/vtudata.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/blas.h +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/cheb_utils.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/fft_wrapper.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/fft_wrapper.txx +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/lagrange-interp.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/lapack.h +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/lin-solve.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/mat_utils.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/mem_mgr.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/ode-solver.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/permutation.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/permutation.txx +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/quadrule.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/sph_harm.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/stacktrace.h +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/static-array.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/static-array.txx +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/vtudata.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/vtudata.txx +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-cheb_utils.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-fft.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-fmm.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-generic-kernel.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-gmres.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-iterator.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-kernel_functions.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-lagrange-interp.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-mem_mgr.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-ode-solver.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-permutation.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-quadrule.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-sph-harm.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-static-array.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-tensor.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-vec.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/geom/LHD-X.mat +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/geom/LHD-Y.mat +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/geom/LHD-Z.mat +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/geom/NCSX +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/geom/Quas3-X.mat +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/geom/Quas3-Y.mat +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/geom/Quas3-Z.mat +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/geom/W7X-X.mat +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/geom/W7X-Y.mat +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/geom/W7X-Z.mat +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/include/biest/mat.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/include/biest/singular_correction.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/include/biest/surface.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/include/biest/surface.txx +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/include/biest/surface_op.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/src/double-layer-convergence.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/src/example1.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/src/force-free-fields-example.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/src/quadrature-example.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/src/table1.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/src/table3.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/src/table4.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/src/table5.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/src/table6.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/src/table7.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/BIEST/src/virtual-casing-principle.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/.clang-format +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/.gitattributes +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/.gitignore +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/.readthedocs.yaml +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/LICENSE +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/Doxyfile +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/Makefile +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/ackn.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/conf.py +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/boundary_integral.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/cheb_utils.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/comm.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/common.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/fft_wrapper.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/fmm-wrapper.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/generic-kernel.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/iterator.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/lagrange-interp.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/lin-solve.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/mat_utils.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/math_utils.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/matrix.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/mem_mgr.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/morton.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/ode-solver.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/ompUtils.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/permutation.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/profile.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/quadrule.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/scratch_pool.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/sph_harm.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/stacktrace.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/static-array.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/tensor.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/tree.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/vec.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/vector.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/vtudata.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/requirements.txt +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/boundaryintegralop.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/comm.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/fft.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/fmm.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/gmres-rsult.txt +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/gmres.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/interp-quadrule.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/kernels.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/lagrange-interp.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/matrix.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/permutation.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/profile.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/sdc.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/tensor.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/tree.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/vec.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/vector.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/vtudata.rst +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/blas.h +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/cheb_utils.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/fft_wrapper.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/fft_wrapper.txx +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/lagrange-interp.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/lapack.h +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/lin-solve.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/mat_utils.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/mem_mgr.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/ode-solver.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/permutation.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/permutation.txx +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/quadrule.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/sph_harm.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/stacktrace.h +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/static-array.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/static-array.txx +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/vtudata.hpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/vtudata.txx +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-cheb_utils.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-fft.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-fmm.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-generic-kernel.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-gmres.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-iterator.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-kernel_functions.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-lagrange-interp.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-mem_mgr.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-ode-solver.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-permutation.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-quadrule.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-sph-harm.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-static-array.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-tensor.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/extern/SCTL/src/test-vec.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/include/virtual-casing.h +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/src/__init__.pyi +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/src/cpu_features.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/src/py.typed +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/src/virtual-casing.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/test/axisymm.cpp +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/test/check_isa.py +0 -0
- {virtual_casing-0.2.2 → virtual_casing-0.3.0}/test/virtual-casing-c.c +0 -0
|
@@ -126,13 +126,22 @@ jobs:
|
|
|
126
126
|
python-version: '3.11'
|
|
127
127
|
|
|
128
128
|
- name: Install package and stubgen
|
|
129
|
-
run: python -m pip install . "pybind11-stubgen>=
|
|
129
|
+
run: python -m pip install . "pybind11-stubgen>=3.0,<4" mypy
|
|
130
130
|
|
|
131
131
|
- name: Regenerate stubs and compare
|
|
132
132
|
run: |
|
|
133
133
|
# force the variant being introspected: importing two of them into one
|
|
134
134
|
# process fails, since they register the same pybind11 types
|
|
135
|
-
VIRTUAL_CASING_ISA=baseline
|
|
135
|
+
VIRTUAL_CASING_ISA=baseline python -c "
|
|
136
|
+
import sys, virtual_casing._vc_baseline as m
|
|
137
|
+
# __init__.py presents the classes as virtual_casing, which would make
|
|
138
|
+
# stubgen re-export them rather than declare them; restore their real home
|
|
139
|
+
for o in vars(m).values():
|
|
140
|
+
if isinstance(o, type):
|
|
141
|
+
o.__module__ = m.__name__
|
|
142
|
+
sys.argv = ['pybind11-stubgen', '--print-value-comments', 'virtual_casing._vc_baseline', '-o', 'regenerated']
|
|
143
|
+
from pybind11_stubgen import main; main()
|
|
144
|
+
"
|
|
136
145
|
# stubgen leaves trailing whitespace in docstrings; the committed copy has
|
|
137
146
|
# it stripped, so normalise before comparing
|
|
138
147
|
sed -i 's/[[:space:]]*$//' regenerated/virtual_casing/_vc_baseline.pyi
|
|
@@ -47,14 +47,23 @@ jobs:
|
|
|
47
47
|
run: python -m cibuildwheel --output-dir wheelhouse
|
|
48
48
|
env:
|
|
49
49
|
CIBW_ARCHS_LINUX: x86_64
|
|
50
|
-
CIBW_ENVIRONMENT_LINUX: CI=True VC_ARCH_FLAG=${{ matrix.arch_flag }}
|
|
51
|
-
|
|
50
|
+
CIBW_ENVIRONMENT_LINUX: CI=True VC_ARCH_FLAG=${{ matrix.arch_flag }} LIBXSMM_DIR=/opt/libxsmm
|
|
51
|
+
# LIBXSMM's own code is built for SSE4.2; the matrix kernels it generates use the CPU that runs them
|
|
52
|
+
CIBW_BEFORE_ALL_LINUX: >
|
|
53
|
+
yum install -y lapack-devel openblas-devel fftw-devel &&
|
|
54
|
+
git clone --depth 1 --branch 2.1.0 https://github.com/libxsmm/libxsmm.git /opt/libxsmm &&
|
|
55
|
+
make -C /opt/libxsmm -j$(nproc) STATIC=1 SSE=4 lib
|
|
52
56
|
CIBW_BEFORE_BUILD_LINUX: python -m pip install --upgrade pip setuptools wheel numpy cmake ninja && git config --global --add safe.directory /project
|
|
53
57
|
CIBW_MANYLINUX_X86_64_IMAGE: quay.io/pypa/manylinux_2_28_x86_64
|
|
54
58
|
CIBW_SKIP: "*-musllinux_*"
|
|
55
|
-
CIBW_ENVIRONMENT_MACOS: CI=True VC_ARCH_FLAG=${{ matrix.arch_flag }} MACOSX_DEPLOYMENT_TARGET=${{ matrix.deployment_target }} CC=gcc-12 CXX=g++-12 # with GCC
|
|
59
|
+
CIBW_ENVIRONMENT_MACOS: CI=True VC_ARCH_FLAG=${{ matrix.arch_flag }} MACOSX_DEPLOYMENT_TARGET=${{ matrix.deployment_target }} CC=gcc-12 CXX=g++-12 LIBXSMM_DIR=/tmp/libxsmm # with GCC
|
|
56
60
|
#CIBW_ENVIRONMENT_MACOS: CI=True VC_ARCH_FLAG=${{ matrix.arch_flat }} MACOSX_DEPLOYMENT_TARGET=${{ matrix.deployment_target }} OpenMP_ROOT=$(brew --prefix)/opt/libomp # with Apple Clang
|
|
57
|
-
|
|
61
|
+
# LIBXSMM's own code is built for the runner (SSE4.2 on x86_64); the matrix kernels it generates use the CPU
|
|
62
|
+
# that runs them
|
|
63
|
+
CIBW_BEFORE_ALL_MACOS: >
|
|
64
|
+
brew install fftw lapack gcc@12 libomp openblas &&
|
|
65
|
+
git clone --depth 1 --branch 2.1.0 https://github.com/libxsmm/libxsmm.git /tmp/libxsmm &&
|
|
66
|
+
MACOSX_DEPLOYMENT_TARGET=${{ matrix.deployment_target }} make -C /tmp/libxsmm -j$(sysctl -n hw.ncpu) STATIC=1 lib
|
|
58
67
|
CIBW_BEFORE_BUILD_MACOS: python -m pip install --upgrade pip setuptools wheel numpy cmake ninja && git config --global --add safe.directory /project
|
|
59
68
|
CIBW_BUILD: cp310-* cp311-* cp312-* cp313-* cp314-*
|
|
60
69
|
# exercise the repaired wheel, not the source build test.yml already covers
|
|
@@ -53,6 +53,35 @@ if(FFTW_DOUBLE_LIB_FOUND)
|
|
|
53
53
|
endif()
|
|
54
54
|
# float/long-double FFTW is never called; linking it only bloats the wheel
|
|
55
55
|
|
|
56
|
+
# LIBXSMM generates SCTL's small matrix products for the CPU that runs them, whatever the compiler flags
|
|
57
|
+
option (VC_USE_LIBXSMM "Link LIBXSMM, if found in LIBXSMM_DIR or the default paths, for SCTL's small matrix products" ON)
|
|
58
|
+
if (VC_USE_LIBXSMM)
|
|
59
|
+
find_path (LIBXSMM_INCLUDE_DIR libxsmm.h HINTS "$ENV{LIBXSMM_DIR}/include")
|
|
60
|
+
find_library (LIBXSMM_LIBRARY NAMES libxsmm.a xsmm HINTS "$ENV{LIBXSMM_DIR}/lib")
|
|
61
|
+
endif ()
|
|
62
|
+
if (LIBXSMM_INCLUDE_DIR AND LIBXSMM_LIBRARY)
|
|
63
|
+
find_package (Threads REQUIRED)
|
|
64
|
+
set (LIBXSMM_LIBRARIES ${LIBXSMM_LIBRARY} Threads::Threads ${CMAKE_DL_LIBS} m)
|
|
65
|
+
if (NOT APPLE)
|
|
66
|
+
list (APPEND LIBXSMM_LIBRARIES rt)
|
|
67
|
+
endif ()
|
|
68
|
+
# versions before 2.0 lack this interface
|
|
69
|
+
include (CheckCXXSourceCompiles)
|
|
70
|
+
set (CMAKE_REQUIRED_INCLUDES ${LIBXSMM_INCLUDE_DIR})
|
|
71
|
+
set (CMAKE_REQUIRED_LIBRARIES ${LIBXSMM_LIBRARIES})
|
|
72
|
+
check_cxx_source_compiles ("#include <libxsmm.h>
|
|
73
|
+
int main() {
|
|
74
|
+
const libxsmm_gemm_shape shape = libxsmm_create_gemm_shape(1, 1, 1, 1, 1, 1, LIBXSMM_DATATYPE_F64, LIBXSMM_DATATYPE_F64, LIBXSMM_DATATYPE_F64, LIBXSMM_DATATYPE_F64);
|
|
75
|
+
return libxsmm_dispatch_gemm(shape, 0, 0) == nullptr;
|
|
76
|
+
}" LIBXSMM_FOUND)
|
|
77
|
+
unset (CMAKE_REQUIRED_INCLUDES)
|
|
78
|
+
unset (CMAKE_REQUIRED_LIBRARIES)
|
|
79
|
+
endif ()
|
|
80
|
+
if (LIBXSMM_FOUND)
|
|
81
|
+
add_definitions (-DSCTL_HAVE_LIBXSMM)
|
|
82
|
+
include_directories ("${LIBXSMM_INCLUDE_DIR}")
|
|
83
|
+
endif ()
|
|
84
|
+
|
|
56
85
|
find_package(Git QUIET)
|
|
57
86
|
if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
|
|
58
87
|
# Update submodules as needed
|
|
@@ -113,8 +142,12 @@ if (SKBUILD)
|
|
|
113
142
|
target_include_directories(${tgt} PRIVATE "$<$<BOOL:${FFTW_DOUBLE_LIB_FOUND}>:${FFTW_INCLUDE_DIRS}>"
|
|
114
143
|
"include" "extern/SCTL/include" "extern/BIEST/include")
|
|
115
144
|
target_link_libraries(${tgt} PRIVATE "$<$<BOOL:${OpenMP_CXX_FOUND}>:OpenMP::OpenMP_CXX>"
|
|
116
|
-
"$<$<BOOL:${FFTW_DOUBLE_LIB_FOUND}>:FFTW::Double>"
|
|
145
|
+
"$<$<BOOL:${FFTW_DOUBLE_LIB_FOUND}>:FFTW::Double>" "$<$<BOOL:${LIBXSMM_FOUND}>:${LIBXSMM_LIBRARIES}>"
|
|
117
146
|
"$<$<BOOL:${BLAS_FOUND}>:${BLAS_LIBRARIES}>" "$<$<BOOL:${LAPACK_FOUND}>:${LAPACK_LIBRARIES}>")
|
|
147
|
+
if (LIBXSMM_FOUND AND NOT APPLE)
|
|
148
|
+
# not exported, so that another copy of LIBXSMM in the process does not replace these functions
|
|
149
|
+
target_link_options(${tgt} PRIVATE "LINKER:--exclude-libs,libxsmm.a")
|
|
150
|
+
endif ()
|
|
118
151
|
install(TARGETS ${tgt} LIBRARY DESTINATION ${PROJECT_NAME})
|
|
119
152
|
endforeach()
|
|
120
153
|
|
|
@@ -131,5 +164,6 @@ target_compile_options(vc_testing PUBLIC "$<$<CXX_COMPILER_ID:PGI>:-Wc,--pending
|
|
|
131
164
|
target_include_directories(vc_testing PRIVATE "$<$<BOOL:${FFTW_DOUBLE_LIB_FOUND}>:${FFTW_INCLUDE_DIRS}>"
|
|
132
165
|
"include" "extern/SCTL/include" "extern/BIEST/include")
|
|
133
166
|
target_link_libraries(vc_testing PUBLIC $<$<BOOL:${FFTW_DOUBLE_LIB_FOUND}>:FFTW::Double>
|
|
167
|
+
"$<$<BOOL:${LIBXSMM_FOUND}>:${LIBXSMM_LIBRARIES}>"
|
|
134
168
|
"$<$<BOOL:${BLAS_FOUND}>:${BLAS_LIBRARIES}>"
|
|
135
169
|
"$<$<BOOL:${LAPACK_FOUND}>:${LAPACK_LIBRARIES}>" $<$<BOOL:${OpenMP_CXX_FOUND}>:OpenMP::OpenMP_CXX>)
|
|
@@ -53,6 +53,11 @@ CXXFLAGS += -lfftw3 -DSCTL_HAVE_FFTW
|
|
|
53
53
|
CXXFLAGS += -lfftw3f -DSCTL_HAVE_FFTWF
|
|
54
54
|
CXXFLAGS += -lfftw3l -DSCTL_HAVE_FFTWL
|
|
55
55
|
|
|
56
|
+
ifdef LIBXSMM_DIR # use LIBXSMM (version 2.0 or newer) for SCTL's small matrix products
|
|
57
|
+
CXXFLAGS += -I$(LIBXSMM_DIR)/include -DSCTL_HAVE_LIBXSMM
|
|
58
|
+
LDLIBS += $(LIBXSMM_DIR)/lib/libxsmm.a -lpthread -ldl -lm $(if $(filter Darwin,$(OS)),,-lrt)
|
|
59
|
+
endif
|
|
60
|
+
|
|
56
61
|
CXXFLAGS += -lmvec -lm -DSCTL_HAVE_LIBMVEC
|
|
57
62
|
#CXXFLAGS += -DSCTL_HAVE_SVML
|
|
58
63
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: virtual_casing
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Python Wrapper for Virtual Casing
|
|
5
5
|
Author: Dhairya Malhotra, Matt Landreman, Chris Smiet, Manas Rachh, Antoine Cerfon, Misha Padidar
|
|
6
6
|
Author-Email: Bharat Medasani <mbkumar@gmail.com>
|
|
@@ -16,11 +16,12 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
16
16
|
Classifier: Programming Language :: C++
|
|
17
17
|
Classifier: Operating System :: OS Independent
|
|
18
18
|
Project-URL: Repository, https://github.com/hiddenSymmetries/virtual-casing
|
|
19
|
+
Project-URL: Issues, https://github.com/hiddenSymmetries/virtual-casing/issues
|
|
19
20
|
Requires-Python: >=3.10
|
|
20
21
|
Provides-Extra: test
|
|
21
22
|
Requires-Dist: pytest>=6.0; extra == "test"
|
|
22
23
|
Provides-Extra: dev
|
|
23
|
-
Requires-Dist: pybind11-stubgen
|
|
24
|
+
Requires-Dist: pybind11-stubgen<4,>=3.0; extra == "dev"
|
|
24
25
|
Requires-Dist: pytest; extra == "dev"
|
|
25
26
|
Description-Content-Type: text/markdown
|
|
26
27
|
|
|
@@ -48,6 +49,10 @@ If the above command succeeds, we can go to the next step. Build the ``vc_testin
|
|
|
48
49
|
|
|
49
50
|
If the compilation is successful, you will have ``vc_testing`` in the ``build`` folder.
|
|
50
51
|
|
|
52
|
+
Optionally, set the environment variable ``LIBXSMM_DIR`` to a build of [LIBXSMM](https://github.com/libxsmm/libxsmm)
|
|
53
|
+
(version 2.0 or newer) before running cmake, or before installing the Python package, to use it for small matrix
|
|
54
|
+
products. The Makefile uses it in the same way.
|
|
55
|
+
|
|
51
56
|
|
|
52
57
|
### Python package
|
|
53
58
|
|
|
@@ -22,6 +22,10 @@ If the above command succeeds, we can go to the next step. Build the ``vc_testin
|
|
|
22
22
|
|
|
23
23
|
If the compilation is successful, you will have ``vc_testing`` in the ``build`` folder.
|
|
24
24
|
|
|
25
|
+
Optionally, set the environment variable ``LIBXSMM_DIR`` to a build of [LIBXSMM](https://github.com/libxsmm/libxsmm)
|
|
26
|
+
(version 2.0 or newer) before running cmake, or before installing the Python package, to use it for small matrix
|
|
27
|
+
products. The Makefile uses it in the same way.
|
|
28
|
+
|
|
25
29
|
|
|
26
30
|
### Python package
|
|
27
31
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Runs the Makefile's tests, also after a failure, each failure as a GitHub annotation; exits with 1 if any failed.
|
|
2
|
+
# SCTL_TESTS: the tests to run instead; SCTL_TEST_RUNNER: a command to run them under
|
|
3
|
+
set +e
|
|
4
|
+
s=0
|
|
5
|
+
for t in ${SCTL_TESTS:-$(sed -n '/^test: /,/^$/p' Makefile | grep -o '/test[^/ ]*$' | cut -c2-)}; do
|
|
6
|
+
echo "=== $t"
|
|
7
|
+
$SCTL_TEST_RUNNER ./bin/$t 2>&1 | tee $t.log
|
|
8
|
+
st=${PIPESTATUS[0]}
|
|
9
|
+
echo "=== $t: exit $st"
|
|
10
|
+
if [ $st -ne 0 ]; then
|
|
11
|
+
s=1
|
|
12
|
+
msg=$(grep -a -m4 -E 'Assertion|failed|Error|error' $t.log | cut -c1-500 | awk '{printf "%s%%0A", $0}')
|
|
13
|
+
[ -n "$msg" ] || msg=$(tail -n 5 $t.log | cut -c1-500 | awk '{printf "%s%%0A", $0}')
|
|
14
|
+
echo "::error title=$t exit $st::$msg"
|
|
15
|
+
fi
|
|
16
|
+
done
|
|
17
|
+
exit $s
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
name: Build and Test
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- master
|
|
7
|
+
pull_request:
|
|
8
|
+
branches:
|
|
9
|
+
- master
|
|
10
|
+
|
|
11
|
+
# a new push cancels the run in progress
|
|
12
|
+
concurrency:
|
|
13
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
14
|
+
cancel-in-progress: true
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
build:
|
|
18
|
+
strategy:
|
|
19
|
+
fail-fast: false
|
|
20
|
+
matrix:
|
|
21
|
+
os:
|
|
22
|
+
- ubuntu-24.04 # GCC 13.3, 14.2 (bug 117159)
|
|
23
|
+
- macos-latest
|
|
24
|
+
compiler:
|
|
25
|
+
- g++-13
|
|
26
|
+
- g++-14
|
|
27
|
+
- clang++
|
|
28
|
+
vecflag:
|
|
29
|
+
- -march=native
|
|
30
|
+
memdbgflag:
|
|
31
|
+
- ""
|
|
32
|
+
- -DSCTL_MEMDEBUG
|
|
33
|
+
optflag:
|
|
34
|
+
- -O0
|
|
35
|
+
- -O3
|
|
36
|
+
earlyra: # GCC 14 on Apple silicon: off adds -mearly-ra=none
|
|
37
|
+
- "off"
|
|
38
|
+
include:
|
|
39
|
+
# GCC 14 with its early register allocator: tests the workarounds in the code
|
|
40
|
+
- os: macos-latest
|
|
41
|
+
compiler: g++-14
|
|
42
|
+
vecflag: -march=native
|
|
43
|
+
memdbgflag: ""
|
|
44
|
+
optflag: -O3
|
|
45
|
+
earlyra: "on"
|
|
46
|
+
|
|
47
|
+
runs-on: ${{ matrix.os }}
|
|
48
|
+
|
|
49
|
+
env:
|
|
50
|
+
CPPFLAGS: >-
|
|
51
|
+
-std=c++17 -g1 -rdynamic -fopenmp -Wall -Wfloat-conversion
|
|
52
|
+
-DSCTL_GLOBAL_MEM_BUFF=500 -DSCTL_PROFILE=5 -DSCTL_VERBOSE
|
|
53
|
+
-DSCTL_SIG_HANDLER -fstack-protector
|
|
54
|
+
ASANFLAGS: >-
|
|
55
|
+
-fsanitize=address,leak,undefined,pointer-compare,pointer-subtract,float-divide-by-zero,float-cast-overflow
|
|
56
|
+
-fno-sanitize-recover=all
|
|
57
|
+
|
|
58
|
+
steps:
|
|
59
|
+
- name: Checkout repository
|
|
60
|
+
uses: actions/checkout@v7
|
|
61
|
+
|
|
62
|
+
- name: Setup dependencies (Linux)
|
|
63
|
+
if: runner.os == 'Linux'
|
|
64
|
+
run: |
|
|
65
|
+
sudo apt-get update
|
|
66
|
+
sudo apt-get install -y libomp-dev g++-14
|
|
67
|
+
|
|
68
|
+
- name: Setup dependencies (macOS)
|
|
69
|
+
if: runner.os == 'macOS'
|
|
70
|
+
run: |
|
|
71
|
+
brew install gcc@13 gcc@14 llvm libomp
|
|
72
|
+
echo "PATH=$(brew --prefix llvm)/bin:$PATH" >> $GITHUB_ENV
|
|
73
|
+
echo "LDFLAGS=-L$(brew --prefix llvm)/lib" >> $GITHUB_ENV
|
|
74
|
+
echo "CPPFLAGS=$CPPFLAGS -I$(brew --prefix llvm)/include" >> $GITHUB_ENV
|
|
75
|
+
echo "LIBRARY_PATH=$(brew --prefix llvm)/lib:$LIBRARY_PATH" >> $GITHUB_ENV
|
|
76
|
+
echo "MACOSX_DEPLOYMENT_TARGET=$(sw_vers -productVersion | cut -d. -f1).0" >> $GITHUB_ENV # GCC 13 assumes 16.0 on macOS 26
|
|
77
|
+
|
|
78
|
+
- name: CPU
|
|
79
|
+
run: |
|
|
80
|
+
if [ "$RUNNER_OS" == "Linux" ]; then
|
|
81
|
+
echo "::notice::CPU: $(lscpu | sed -n 's/^Model name: *//p'); AVX-512: $(grep -q -w avx512f /proc/cpuinfo && echo yes || echo no)"
|
|
82
|
+
else
|
|
83
|
+
echo "::notice::CPU: $(sysctl -n machdep.cpu.brand_string)"
|
|
84
|
+
fi
|
|
85
|
+
|
|
86
|
+
- name: Build project
|
|
87
|
+
run: |
|
|
88
|
+
CXXFLAGS="${CPPFLAGS} ${{ matrix.optflag }} ${{ matrix.memdbgflag }}"
|
|
89
|
+
if [ "$(uname -s)" == "Darwin" ] && [ "$(uname -m)" == "arm64" ]; then
|
|
90
|
+
CXXFLAGS+=" -mcpu=apple-m1"
|
|
91
|
+
if [[ "${{ matrix.compiler }}" == g++* ]]; then
|
|
92
|
+
CXXFLAGS+=" -lomp" # clang's -fopenmp links libomp
|
|
93
|
+
fi
|
|
94
|
+
if [ "${{ matrix.compiler }}" == "g++-14" ] && [ "${{ matrix.earlyra }}" == "off" ]; then
|
|
95
|
+
CXXFLAGS+=" -mearly-ra=none" # see README
|
|
96
|
+
fi
|
|
97
|
+
else
|
|
98
|
+
CXXFLAGS+=" ${{ matrix.vecflag }} ${ASANFLAGS}"
|
|
99
|
+
fi
|
|
100
|
+
# __float128: x86, and GCC on Apple silicon
|
|
101
|
+
if [ "$(uname -m)" == "x86_64" ] || [[ "${{ matrix.compiler }}" == g++* ]]; then
|
|
102
|
+
CXXFLAGS+=" -DSCTL_QUAD_T=__float128"
|
|
103
|
+
fi
|
|
104
|
+
# one compile per core: the sanitizer builds of the largest tests come close to the runner's memory
|
|
105
|
+
make -j$(getconf _NPROCESSORS_ONLN) CXX="${{ matrix.compiler }}" CXXFLAGS="${CXXFLAGS}"
|
|
106
|
+
|
|
107
|
+
- name: Run tests
|
|
108
|
+
run: bash .github/run-tests.sh
|
|
109
|
+
|
|
110
|
+
# without sanitizers, which hid GCC bug 117159; x86-64-v4 under Intel SDE on runners without AVX-512
|
|
111
|
+
release:
|
|
112
|
+
strategy:
|
|
113
|
+
fail-fast: false
|
|
114
|
+
matrix:
|
|
115
|
+
os:
|
|
116
|
+
- ubuntu-24.04
|
|
117
|
+
compiler:
|
|
118
|
+
- g++-13
|
|
119
|
+
- g++-14
|
|
120
|
+
- clang++
|
|
121
|
+
isa:
|
|
122
|
+
- x86-64-v3
|
|
123
|
+
- x86-64-v4
|
|
124
|
+
optflag:
|
|
125
|
+
- -O2
|
|
126
|
+
- -O3
|
|
127
|
+
include:
|
|
128
|
+
- {os: ubuntu-24.04, compiler: g++-12, isa: x86-64-v3, optflag: -O3}
|
|
129
|
+
- {os: ubuntu-24.04, compiler: g++-12, isa: x86-64-v4, optflag: -O3}
|
|
130
|
+
- {os: ubuntu-26.04, compiler: g++-15, isa: x86-64-v3, optflag: -O3}
|
|
131
|
+
- {os: ubuntu-26.04, compiler: g++-15, isa: x86-64-v4, optflag: -O3}
|
|
132
|
+
- {os: ubuntu-26.04, compiler: clang++-22, isa: x86-64-v3, optflag: -O3}
|
|
133
|
+
- {os: ubuntu-26.04, compiler: clang++-22, isa: x86-64-v4, optflag: -O3}
|
|
134
|
+
|
|
135
|
+
runs-on: ${{ matrix.os }}
|
|
136
|
+
|
|
137
|
+
env:
|
|
138
|
+
CPPFLAGS: >-
|
|
139
|
+
-std=c++17 -g1 -rdynamic -fopenmp -Wall -Wfloat-conversion
|
|
140
|
+
-DSCTL_GLOBAL_MEM_BUFF=500 -DSCTL_PROFILE=5 -DSCTL_VERBOSE
|
|
141
|
+
-DSCTL_SIG_HANDLER -fstack-protector
|
|
142
|
+
|
|
143
|
+
steps:
|
|
144
|
+
- name: Checkout repository
|
|
145
|
+
uses: actions/checkout@v7
|
|
146
|
+
|
|
147
|
+
- name: Setup dependencies
|
|
148
|
+
run: |
|
|
149
|
+
sudo apt-get update
|
|
150
|
+
c="${{ matrix.compiler }}"
|
|
151
|
+
case "$c" in
|
|
152
|
+
g++-*) sudo apt-get install -y libomp-dev "$c" ;;
|
|
153
|
+
clang++-*) sudo apt-get install -y "clang-${c#clang++-}" "libomp-${c#clang++-}-dev" ;;
|
|
154
|
+
*) sudo apt-get install -y libomp-dev ;;
|
|
155
|
+
esac
|
|
156
|
+
|
|
157
|
+
- name: CPU
|
|
158
|
+
id: cpu
|
|
159
|
+
run: |
|
|
160
|
+
avx512=$(grep -q -w avx512f /proc/cpuinfo && echo yes || echo no)
|
|
161
|
+
echo "::notice::CPU: $(lscpu | sed -n 's/^Model name: *//p'); AVX-512: ${avx512}"
|
|
162
|
+
if [ "${{ matrix.isa }}" == "x86-64-v4" ] && [ "${avx512}" != "yes" ]; then
|
|
163
|
+
echo "emulate=yes" >> $GITHUB_OUTPUT
|
|
164
|
+
echo "::notice::No AVX-512 on this runner: test-vec runs under Intel SDE, which emulates it; the other tests are not run"
|
|
165
|
+
fi
|
|
166
|
+
|
|
167
|
+
# Intel SDE 10.13.1, checked against Intel's SHA256
|
|
168
|
+
- name: Install Intel SDE
|
|
169
|
+
if: steps.cpu.outputs.emulate == 'yes'
|
|
170
|
+
run: |
|
|
171
|
+
curl -sSL --retry 3 -o "$RUNNER_TEMP/sde.tar.xz" https://media.githubusercontent.com/media/petarpetrovt/setup-sde/dfe773d77ce97b3da48d34ff9e6ff45a774ff4ff/binaries/sde-external-10.13.1-2026-07-28-lin.tar.xz
|
|
172
|
+
echo "94e97d623fec54385686e1e7ba65ebc9941748c05ee451423948334892bf2b50 $RUNNER_TEMP/sde.tar.xz" | sha256sum -c -
|
|
173
|
+
mkdir -p "$RUNNER_TEMP/sde"
|
|
174
|
+
tar -xJf "$RUNNER_TEMP/sde.tar.xz" -C "$RUNNER_TEMP/sde" --strip-components=1
|
|
175
|
+
|
|
176
|
+
- name: Build project
|
|
177
|
+
run: |
|
|
178
|
+
target=
|
|
179
|
+
if [ "${{ steps.cpu.outputs.emulate }}" == "yes" ]; then
|
|
180
|
+
target=bin/test-vec
|
|
181
|
+
fi
|
|
182
|
+
make -j$(getconf _NPROCESSORS_ONLN) ${target} CXX="${{ matrix.compiler }}" CXXFLAGS="${CPPFLAGS} ${{ matrix.optflag }} -march=${{ matrix.isa }} -DSCTL_QUAD_T=__float128"
|
|
183
|
+
|
|
184
|
+
- name: Run tests
|
|
185
|
+
run: |
|
|
186
|
+
if [ "${{ steps.cpu.outputs.emulate }}" == "yes" ]; then
|
|
187
|
+
SCTL_TESTS=test-vec SCTL_TEST_RUNNER="$RUNNER_TEMP/sde/sde64 -icx --" bash .github/run-tests.sh
|
|
188
|
+
else
|
|
189
|
+
bash .github/run-tests.sh
|
|
190
|
+
fi
|
{virtual_casing-0.2.2 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/.github/workflows/codecov.yml
RENAMED
|
@@ -7,12 +7,12 @@ on:
|
|
|
7
7
|
|
|
8
8
|
jobs:
|
|
9
9
|
build:
|
|
10
|
-
runs-on: ubuntu-
|
|
10
|
+
runs-on: ubuntu-24.04
|
|
11
11
|
|
|
12
12
|
steps:
|
|
13
13
|
# Step 1: Checkout the repository
|
|
14
14
|
- name: Checkout repository
|
|
15
|
-
uses: actions/checkout@
|
|
15
|
+
uses: actions/checkout@v7
|
|
16
16
|
|
|
17
17
|
# Step 2: Compile the project
|
|
18
18
|
- name: Compile
|
|
@@ -12,18 +12,13 @@ endif
|
|
|
12
12
|
|
|
13
13
|
OS = $(shell uname -s)
|
|
14
14
|
ifeq "$(OS)" "Darwin"
|
|
15
|
-
CXXFLAGS += -g -rdynamic
|
|
15
|
+
CXXFLAGS += -g -rdynamic # for stack trace
|
|
16
16
|
else
|
|
17
17
|
CXXFLAGS += -gdwarf-4 -g -rdynamic # for stack trace
|
|
18
|
-
CXXFLAGS += -ldl # dladdr()
|
|
18
|
+
CXXFLAGS += -ldl # dladdr(), for glibc < 2.34
|
|
19
19
|
endif
|
|
20
20
|
|
|
21
|
-
#
|
|
22
|
-
# instructions (e.g. `vmovw`) that pre-2.38 binutils' system assembler can't
|
|
23
|
-
# decode. Disable just the FP16 subset; the rest of -march=native is fine. If a
|
|
24
|
-
# newer binutils is available (e.g. `module load binutils/2.43.1`), the user can
|
|
25
|
-
# remove this flag manually. macOS clang doesn't emit avx512fp16 and doesn't
|
|
26
|
-
# recognise the flag on Apple Silicon — skip there.
|
|
21
|
+
# AVX-512-FP16 of -march=native (Sapphire Rapids), which binutils before 2.38 can't assemble
|
|
27
22
|
ifneq "$(OS)" "Darwin"
|
|
28
23
|
CXXFLAGS += -mno-avx512fp16
|
|
29
24
|
endif
|
|
@@ -33,10 +28,15 @@ CXXFLAGS += -DSCTL_GLOBAL_MEM_BUFF=0 # Global memory buffer size in MB
|
|
|
33
28
|
CXXFLAGS += -DSCTL_PROFILE=5 -DSCTL_VERBOSE # Enable profiling
|
|
34
29
|
CXXFLAGS += -DSCTL_SIG_HANDLER # Enable SCTL stack trace
|
|
35
30
|
|
|
36
|
-
CXXFLAGS += -DSCTL_QUAD_T=__float128 # Enable quadruple precision
|
|
31
|
+
CXXFLAGS += -DSCTL_QUAD_T=__float128 # Enable quadruple precision (x86, or GCC on Apple silicon)
|
|
32
|
+
|
|
33
|
+
#CXXFLAGS += -DSCTL_MAX_DEPTH=20 # Morton/Tree depth limit
|
|
37
34
|
|
|
38
35
|
#CXXFLAGS += -DSCTL_HAVE_MPI #use MPI
|
|
39
36
|
|
|
37
|
+
#CXXFLAGS += -DSCTL_COMM_PTRACER # allow direct reads; exposes rank memory to the same user
|
|
38
|
+
#CXXFLAGS += -DSCTL_COMM_NO_DIRECT # disable direct reads (overrides the above)
|
|
39
|
+
|
|
40
40
|
CXXFLAGS += -lblas -DSCTL_HAVE_BLAS # use BLAS
|
|
41
41
|
CXXFLAGS += -llapack -DSCTL_HAVE_LAPACK # use LAPACK
|
|
42
42
|
#CXXFLAGS += -qmkl -DSCTL_HAVE_BLAS -DSCTL_HAVE_LAPACK -DSCTL_HAVE_FFTW3_MKL # use MKL BLAS, LAPACK and FFTW (Intel compiler)
|
|
@@ -50,13 +50,14 @@ CXXFLAGS += -lfftw3l -DSCTL_HAVE_FFTWL
|
|
|
50
50
|
#CXXFLAGS += -lmvec -lm -DSCTL_HAVE_LIBMVEC
|
|
51
51
|
#CXXFLAGS += -DSCTL_HAVE_SVML
|
|
52
52
|
|
|
53
|
+
#CXXFLAGS += -I$(LIBXSMM_DIR)/include -L$(LIBXSMM_DIR)/lib -l:libxsmm.a -lpthread -lrt -ldl -lm -DSCTL_HAVE_LIBXSMM # use LIBXSMM for SmallGEMM
|
|
54
|
+
|
|
53
55
|
#CXXFLAGS += -I${PETSC_DIR}/include -I${PETSC_DIR}/../include -DSCTL_HAVE_PETSC
|
|
54
56
|
#LDLIBS += -L${PETSC_DIR}/lib -lpetsc
|
|
55
57
|
|
|
56
58
|
#PVFMM_INC_DIR = ../include
|
|
57
59
|
#CXXFLAGS += -DSCTL_HAVE_PVFMM -I$(PVFMM_INC_DIR)
|
|
58
60
|
|
|
59
|
-
|
|
60
61
|
RM = rm -f
|
|
61
62
|
MKDIRS = mkdir -p
|
|
62
63
|
|
|
@@ -71,6 +72,7 @@ TARGET_BIN = \
|
|
|
71
72
|
$(BINDIR)/test-boundary_integral \
|
|
72
73
|
$(BINDIR)/test-cheb_utils \
|
|
73
74
|
$(BINDIR)/test-fft-fallback \
|
|
75
|
+
$(BINDIR)/test-function-table \
|
|
74
76
|
$(BINDIR)/test-generic-kernel \
|
|
75
77
|
$(BINDIR)/test-intrin-wrapper \
|
|
76
78
|
$(BINDIR)/test-iterator \
|
|
@@ -93,15 +95,17 @@ TARGET_BIN = \
|
|
|
93
95
|
$(BINDIR)/test-linear-solver \
|
|
94
96
|
$(BINDIR)/test-ode-solver \
|
|
95
97
|
$(BINDIR)/test-pt-tree \
|
|
98
|
+
$(BINDIR)/test-sort-scatter \
|
|
96
99
|
$(BINDIR)/test-quadrule \
|
|
97
100
|
$(BINDIR)/test-sph-harm \
|
|
98
101
|
$(BINDIR)/test-tensor \
|
|
99
102
|
$(BINDIR)/test-vec \
|
|
100
|
-
$(BINDIR)/test-quad-elem \
|
|
101
103
|
$(BINDIR)/test-scratch-pool \
|
|
102
|
-
$(BINDIR)/test-scratch-pool-perf
|
|
104
|
+
$(BINDIR)/test-scratch-pool-perf \
|
|
105
|
+
$(BINDIR)/test-small-gemm \
|
|
106
|
+
$(BINDIR)/test-quad-elem
|
|
103
107
|
|
|
104
|
-
.PHONY: all test clean
|
|
108
|
+
.PHONY: all gpu test clean
|
|
105
109
|
|
|
106
110
|
all : $(TARGET_BIN)
|
|
107
111
|
|
|
@@ -112,9 +116,39 @@ ifeq "$(OS)" "Darwin"
|
|
|
112
116
|
/usr/bin/dsymutil $@ -o $@.dSYM
|
|
113
117
|
endif
|
|
114
118
|
|
|
119
|
+
# link-only flags of CXXFLAGS, left out of compiles (clang warns of them)
|
|
120
|
+
LINK_ONLY_FLAGS = -l% -L% -Wl,% -rdynamic
|
|
121
|
+
|
|
115
122
|
$(OBJDIR)/%.o: $(SRCDIR)/%.cpp
|
|
116
123
|
-@$(MKDIRS) $(dir $@)
|
|
117
|
-
$(CXX) $(CXXFLAGS) -I$(INCDIR) -c
|
|
124
|
+
$(CXX) $(filter-out $(LINK_ONLY_FLAGS),$(CXXFLAGS)) -MMD -MP -I$(INCDIR) -c $< -o $@
|
|
125
|
+
|
|
126
|
+
# header dependencies (-MMD -MP)
|
|
127
|
+
-include $(wildcard $(OBJDIR)/*.d)
|
|
128
|
+
|
|
129
|
+
# keep the objects, which the dependency files name
|
|
130
|
+
.SECONDARY: $(patsubst $(BINDIR)/%,$(OBJDIR)/%.o,$(TARGET_BIN))
|
|
131
|
+
|
|
132
|
+
# GPU tree: needs CUDA and a CUDA-aware MPI (not in `all`)
|
|
133
|
+
NVCC = nvcc -ccbin mpicxx
|
|
134
|
+
NVCCFLAGS = -x cu -std=c++17 -O3 -arch=native -rdc=true --expt-relaxed-constexpr -Xcompiler "-fopenmp" \
|
|
135
|
+
-DSCTL_HAVE_MPI -DSCTL_MAX_DEPTH=20 -DTHRUST_HOST_SYSTEM=THRUST_HOST_SYSTEM_OMP
|
|
136
|
+
NVCCLIBS = -ldl
|
|
137
|
+
|
|
138
|
+
GPU_BIN = \
|
|
139
|
+
$(BINDIR)/test-device-scratch \
|
|
140
|
+
$(BINDIR)/test-gpu-tree \
|
|
141
|
+
$(BINDIR)/test-gpu-sort-scatter \
|
|
142
|
+
$(BINDIR)/example-gpu-tree
|
|
143
|
+
|
|
144
|
+
gpu: $(GPU_BIN)
|
|
145
|
+
|
|
146
|
+
GPU_DEPS = $(wildcard $(INCDIR)/*.hpp $(INCDIR)/sctl/*.hpp $(INCDIR)/sctl/*.txx \
|
|
147
|
+
$(INCDIR)/sctl/experimental/*.hpp $(INCDIR)/sctl/experimental/*.txx)
|
|
148
|
+
|
|
149
|
+
$(BINDIR)/%: $(SRCDIR)/%.cu $(GPU_DEPS)
|
|
150
|
+
-@$(MKDIRS) $(dir $@)
|
|
151
|
+
$(NVCC) $(NVCCFLAGS) -I$(INCDIR) $< $(NVCCLIBS) -o $@
|
|
118
152
|
|
|
119
153
|
test: $(TARGET_BIN)
|
|
120
154
|
./$(BINDIR)/test
|
|
@@ -122,6 +156,7 @@ test: $(TARGET_BIN)
|
|
|
122
156
|
./$(BINDIR)/test-boundary_integral
|
|
123
157
|
./$(BINDIR)/test-cheb_utils
|
|
124
158
|
./$(BINDIR)/test-fft-fallback
|
|
159
|
+
./$(BINDIR)/test-function-table
|
|
125
160
|
./$(BINDIR)/test-generic-kernel
|
|
126
161
|
./$(BINDIR)/test-intrin-wrapper
|
|
127
162
|
./$(BINDIR)/test-iterator
|
|
@@ -144,12 +179,14 @@ test: $(TARGET_BIN)
|
|
|
144
179
|
./$(BINDIR)/test-linear-solver
|
|
145
180
|
./$(BINDIR)/test-ode-solver
|
|
146
181
|
./$(BINDIR)/test-pt-tree
|
|
182
|
+
./$(BINDIR)/test-sort-scatter
|
|
147
183
|
./$(BINDIR)/test-quadrule
|
|
148
184
|
./$(BINDIR)/test-sph-harm
|
|
149
185
|
./$(BINDIR)/test-tensor
|
|
150
186
|
./$(BINDIR)/test-vec
|
|
151
|
-
./$(BINDIR)/test-quad-elem
|
|
152
187
|
./$(BINDIR)/test-scratch-pool
|
|
188
|
+
./$(BINDIR)/test-small-gemm
|
|
189
|
+
./$(BINDIR)/test-quad-elem
|
|
153
190
|
|
|
154
191
|
clean:
|
|
155
192
|
$(RM) -r $(BINDIR)/* $(OBJDIR)/*
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
|
|
12
12
|
The only requirement to use SCTL is a working C++17 compliant compiler with OpenMP 4.0 support. It has been tested with GCC-9 and newer.
|
|
13
13
|
|
|
14
|
+
**GCC 14 and newer on AArch64 (ARM, including Apple silicon):** compile with `-mearly-ra=none`. GCC's early register allocator for vector registers can assign one register to two values in use at the same time, which gave wrong results in `Vec` at `-O3` with GCC 14. GCC 15 and 16 have the same bug, hidden in the cases found so far. GCC 11 to 13 reject the flag.
|
|
15
|
+
|
|
14
16
|
## Getting Started
|
|
15
17
|
|
|
16
18
|
To get started, download the latest version of SCTL from the [SCTL GitHub](https://github.com/dmalhotra/SCTL).
|
|
@@ -27,6 +29,8 @@ Since SCTL is a header-only library, it does not require compilation or installa
|
|
|
27
29
|
|
|
28
30
|
Ensure the compiler can locate the header file by providing the path to `SCTL_ROOT/include` using the flag `-I ${SCTL_ROOT}/include`.
|
|
29
31
|
|
|
32
|
+
The included `Makefile` builds the tests (`make test`). On Apple silicon with Homebrew: `CPATH=/opt/homebrew/include LIBRARY_PATH=/opt/homebrew/lib make CXX=g++-15`.
|
|
33
|
+
|
|
30
34
|
## Optional Dependencies
|
|
31
35
|
|
|
32
36
|
The following libraries can be optionally used when available. If not available, SCTL uses its own implementation which may be slower.
|
|
@@ -50,7 +54,7 @@ The following compiler flags can be used to enable or disable specific features
|
|
|
50
54
|
- `-DSCTL_PROFILE=<level>`: Enable [profiling](include/sctl/profile.hpp).
|
|
51
55
|
- `-DSCTL_VERBOSE`: Enable verbose [profiling](include/sctl/profile.hpp) output.
|
|
52
56
|
- `-DSCTL_SIG_HANDLER`: Enable [stack trace](include/sctl/stacktrace.h). On Linux with glibc < 2.34, link with `-ldl` (newer glibc has it merged into libc).
|
|
53
|
-
- `-DSCTL_QUAD_T
|
|
57
|
+
- `-DSCTL_QUAD_T=<type>`: Enable support for [quad-precision type](include/sctl/math_utils.hpp), e.g. `__float128` on x86 and with GCC on Apple silicon.
|
|
54
58
|
|
|
55
59
|
## Features and Capabilities
|
|
56
60
|
|
|
@@ -72,6 +76,7 @@ The following list outlines the primary features and capabilities provided by th
|
|
|
72
76
|
- [ChebQuadRule, LegQuadRule](include/sctl/quadrule.hpp): Clenshaw-Curtis and Gauss-Legendre quadrature rules.
|
|
73
77
|
- [InterpQuadRule](include/sctl/quadrule.hpp): Generating special quadrature rules.
|
|
74
78
|
- [Tree, PtTree](include/sctl/tree.hpp), [Morton](include/sctl/morton.hpp): Morton order based N-dimensional parallel tree structure.
|
|
79
|
+
- [SortScatter](include/sctl/sort-scatter.hpp): keys sorted into a rank-partitioned order, kept together with the permutation to and from the caller's order; the trees move particle data with it.
|
|
75
80
|
|
|
76
81
|
- **Spectral Methods**:
|
|
77
82
|
Methods for spectral representations and transformations.
|
|
@@ -105,8 +110,12 @@ The following list outlines the primary features and capabilities provided by th
|
|
|
105
110
|
- [Stacktrace utility](include/sctl/stacktrace.h): Prints stack traces for debugging.
|
|
106
111
|
- [GEMM, SVD (unoptimized)](include/sctl/mat_utils.hpp): Provides basic implementations of GEMM and SVD operations.
|
|
107
112
|
|
|
113
|
+
- **Experimental**:
|
|
114
|
+
Components whose interfaces may still change.
|
|
115
|
+
|
|
116
|
+
- [GPUTree, PtTree](include/sctl/experimental/gpu-tree.hpp): The `Tree`/`PtTree` interface on a thrust backend, OpenMP host or CUDA device, with CUDA-aware MPI (`make gpu`).
|
|
117
|
+
|
|
108
118
|
- **Legacy (Unmaintained)**:
|
|
109
119
|
Older functionalities that are no longer actively maintained.
|
|
110
120
|
|
|
111
|
-
- [Boundary quadrature](include/sctl/boundary_quadrature.hpp): Boundary integrals on quad-patches using hedgehog quadrature.
|
|
112
121
|
- [ChebBasis](include/sctl/cheb_utils.hpp): Tensor product Chebyshev basis for general-dimension computations.
|