netgen-mesher 6.2.2504.post11.dev0__cp313-cp313-win_amd64.whl → 6.2.2506.post48.dev0__cp313-cp313-win_amd64.whl
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.
- netgen/__init__.pyi +3 -3
- netgen/cmake/NetgenConfig.cmake +10 -9
- netgen/config/__init__.pyi +8 -8
- netgen/config/config.py +7 -7
- netgen/config/config.pyi +8 -8
- netgen/include/core/archive.hpp +18 -3
- netgen/include/core/array.hpp +20 -4
- netgen/include/core/autodiff.hpp +9 -11
- netgen/include/core/autodiffdiff.hpp +0 -2
- netgen/include/core/bitarray.hpp +1 -1
- netgen/include/core/flags.hpp +1 -1
- netgen/include/core/hashtable.hpp +1 -1
- netgen/include/core/memtracer.hpp +7 -7
- netgen/include/core/ngcore.hpp +5 -0
- netgen/include/core/ngcore_api.hpp +11 -0
- netgen/include/core/paje_trace.hpp +9 -8
- netgen/include/core/profiler.hpp +5 -5
- netgen/include/core/register_archive.hpp +8 -0
- netgen/include/core/simd.hpp +69 -1
- netgen/include/core/simd_arm64.hpp +205 -1
- netgen/include/core/simd_avx.hpp +72 -4
- netgen/include/core/simd_avx512.hpp +9 -0
- netgen/include/core/simd_generic.hpp +274 -8
- netgen/include/core/simd_math.hpp +178 -0
- netgen/include/core/simd_sse.hpp +11 -1
- netgen/include/core/statushandler.hpp +37 -0
- netgen/include/core/table.hpp +3 -2
- netgen/include/core/taskmanager.hpp +34 -1
- netgen/include/core/utils.hpp +3 -8
- netgen/include/include/netgen_version.hpp +4 -4
- netgen/include/meshing/basegeom.hpp +1 -4
- netgen/include/meshing/global.hpp +0 -17
- netgen/include/meshing/hpref_tet.hpp +41 -0
- netgen/include/meshing/hprefinement.hpp +2 -0
- netgen/include/meshing/meshtype.hpp +2 -1
- netgen/include/meshing/msghandler.hpp +9 -6
- netgen/include/meshing/topology.hpp +2 -2
- netgen/include/nginterface.h +3 -2
- netgen/include/occ/occ_utils.hpp +26 -0
- netgen/include/occ/occgeom.hpp +8 -0
- netgen/include/pybind11/attr.h +40 -8
- netgen/include/pybind11/buffer_info.h +14 -14
- netgen/include/pybind11/cast.h +553 -29
- netgen/include/pybind11/chrono.h +4 -1
- netgen/include/pybind11/conduit/README.txt +15 -0
- netgen/include/pybind11/conduit/pybind11_conduit_v1.h +116 -0
- netgen/include/pybind11/conduit/pybind11_platform_abi_id.h +87 -0
- netgen/include/pybind11/conduit/wrap_include_python_h.h +72 -0
- netgen/include/pybind11/critical_section.h +56 -0
- netgen/include/pybind11/detail/class.h +172 -97
- netgen/include/pybind11/detail/common.h +270 -189
- netgen/include/pybind11/detail/cpp_conduit.h +75 -0
- netgen/include/pybind11/detail/descr.h +55 -0
- netgen/include/pybind11/detail/dynamic_raw_ptr_cast_if_possible.h +39 -0
- netgen/include/pybind11/detail/exception_translation.h +71 -0
- netgen/include/pybind11/detail/function_record_pyobject.h +191 -0
- netgen/include/pybind11/detail/init.h +113 -9
- netgen/include/pybind11/detail/internals.h +479 -344
- netgen/include/pybind11/detail/native_enum_data.h +209 -0
- netgen/include/pybind11/detail/pybind11_namespace_macros.h +82 -0
- netgen/include/pybind11/detail/struct_smart_holder.h +378 -0
- netgen/include/pybind11/detail/type_caster_base.h +506 -133
- netgen/include/pybind11/detail/using_smart_holder.h +22 -0
- netgen/include/pybind11/detail/value_and_holder.h +90 -0
- netgen/include/pybind11/eigen/matrix.h +19 -10
- netgen/include/pybind11/eigen/tensor.h +15 -11
- netgen/include/pybind11/embed.h +50 -46
- netgen/include/pybind11/eval.h +11 -6
- netgen/include/pybind11/functional.h +58 -49
- netgen/include/pybind11/gil.h +34 -82
- netgen/include/pybind11/gil_safe_call_once.h +12 -1
- netgen/include/pybind11/gil_simple.h +37 -0
- netgen/include/pybind11/native_enum.h +67 -0
- netgen/include/pybind11/numpy.h +272 -93
- netgen/include/pybind11/pybind11.h +947 -265
- netgen/include/pybind11/pytypes.h +127 -21
- netgen/include/pybind11/stl/filesystem.h +23 -25
- netgen/include/pybind11/stl.h +277 -59
- netgen/include/pybind11/stl_bind.h +42 -7
- netgen/include/pybind11/subinterpreter.h +299 -0
- netgen/include/pybind11/trampoline_self_life_support.h +65 -0
- netgen/include/pybind11/typing.h +177 -4
- netgen/include/pybind11/warnings.h +75 -0
- netgen/include/visualization/mvdraw.hpp +48 -12
- netgen/include/visualization/vssolution.hpp +3 -1
- netgen/lib/libnggui.lib +0 -0
- netgen/lib/ngcore.lib +0 -0
- netgen/lib/nglib.lib +0 -0
- netgen/libnggui.dll +0 -0
- netgen/libngguipy.pyd +0 -0
- netgen/libngpy/_NgOCC.pyi +224 -139
- netgen/libngpy/_csg.pyi +26 -26
- netgen/libngpy/_geom2d.pyi +34 -25
- netgen/libngpy/_meshing.pyi +262 -111
- netgen/libngpy/_stl.pyi +3 -4
- netgen/libngpy.pyd +0 -0
- netgen/ngcore.dll +0 -0
- netgen/nglib.dll +0 -0
- netgen/read_gmsh.py +41 -0
- netgen/togl.dll +0 -0
- netgen/version.py +1 -1
- netgen/webgui.py +38 -2
- {netgen_mesher-6.2.2504.post11.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/METADATA +2 -1
- {netgen_mesher-6.2.2504.post11.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/RECORD +153 -132
- pyngcore/pyngcore.cp313-win_amd64.pyd +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/boundarycondition.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/boxcyl.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/circle_on_cube.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cone.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cube.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cubeandring.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cubeandspheres.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cubemcyl.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cubemsphere.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cylinder.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cylsphere.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/doc/ng4.pdf +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/ellipsoid.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/ellipticcyl.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/extrusion.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/fichera.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/frame.step +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/hinge.stl +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/lshape3d.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/manyholes.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/manyholes2.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/matrix.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/ortho.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/part1.stl +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/period.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/py_tutorials/exportNeutral.py +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/py_tutorials/mesh.py +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/py_tutorials/shaft.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/revolution.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/screw.step +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/sculpture.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/shaft.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/shell.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/sphere.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/sphereincube.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/square.in2d +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/squarecircle.in2d +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/squarehole.in2d +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/torus.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/trafo.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/twobricks.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/twocubes.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/twocyl.geo +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/AUTHORS +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/LICENSE +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/WHEEL +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/entry_points.txt +0 -0
- {netgen_mesher-6.2.2504.post11.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/top_level.txt +0 -0
netgen/__init__.pyi
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
-
from netgen.libngpy._meshing import _Redraw
|
|
2
|
+
from netgen.libngpy._meshing.pybind11_detail_function_record_v1_msvc_md_mscver19 import _Redraw
|
|
3
3
|
from pathlib._local import Path
|
|
4
4
|
from pyngcore.pyngcore import Timer
|
|
5
5
|
import sys
|
|
@@ -17,6 +17,6 @@ def _get_diagnostics():
|
|
|
17
17
|
def load_occ_libs():
|
|
18
18
|
...
|
|
19
19
|
__diagnostics_template: str = '\nNetgen diagnostics:\n sys.platform: {sys.platform}\n sys.executable: {sys.executable}\n sys.version: {sys.version}\n Netgen python version: {config.PYTHON_VERSION}\n Netgen path {__file__}\n Netgen config {config.__file__}\n Netgen version {config.NETGEN_VERSION}\n sys.path: {sys.path}\n'
|
|
20
|
-
_netgen_bin_dir: str = 'C:\\gitlabci\\tools\\builds\\
|
|
21
|
-
_netgen_lib_dir: str = 'C:\\gitlabci\\tools\\builds\\
|
|
20
|
+
_netgen_bin_dir: str = 'C:\\gitlabci\\tools\\builds\\3zsqG5ns9\\0\\ngsolve\\ngsolve\\external_dependencies\\netgen\\_skbuild\\win-amd64-3.13\\cmake-install\\netgen'
|
|
21
|
+
_netgen_lib_dir: str = 'C:\\gitlabci\\tools\\builds\\3zsqG5ns9\\0\\ngsolve\\ngsolve\\external_dependencies\\netgen\\_skbuild\\win-amd64-3.13\\cmake-install\\netgen'
|
|
22
22
|
v: sys.version_info # value = sys.version_info(major=3, minor=13, micro=2, releaselevel='final', serial=0)
|
netgen/cmake/NetgenConfig.cmake
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
set(
|
|
1
|
+
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreadedDLL")
|
|
2
|
+
set(NETGEN_VERSION "6.2.2506-48-g8263c0bc")
|
|
2
3
|
set(NETGEN_VERSION_MAJOR "6")
|
|
3
4
|
set(NETGEN_VERSION_MINOR "2")
|
|
4
|
-
set(NETGEN_VERSION_PATCH "
|
|
5
|
-
set(NETGEN_VERSION_TWEAK "
|
|
5
|
+
set(NETGEN_VERSION_PATCH "2506")
|
|
6
|
+
set(NETGEN_VERSION_TWEAK "48")
|
|
6
7
|
|
|
7
8
|
get_filename_component(NETGEN_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
|
8
9
|
|
|
9
10
|
get_filename_component(NETGEN_DIR "${NETGEN_CMAKE_DIR}/../../" ABSOLUTE)
|
|
10
11
|
|
|
11
|
-
set(NETGEN_COMPILE_DEFINITIONS "
|
|
12
|
+
set(NETGEN_COMPILE_DEFINITIONS "")
|
|
12
13
|
|
|
13
14
|
get_filename_component(NETGEN_INCLUDE_DIR "${NETGEN_CMAKE_DIR}/../include" ABSOLUTE)
|
|
14
15
|
get_filename_component(NETGEN_BINARY_DIR "${NETGEN_CMAKE_DIR}/../" ABSOLUTE)
|
|
@@ -16,7 +17,7 @@ get_filename_component(NETGEN_LIBRARY_DIR "${NETGEN_CMAKE_DIR}/../lib" ABSOLUTE)
|
|
|
16
17
|
get_filename_component(NETGEN_PYTHON_DIR "${NETGEN_CMAKE_DIR}/../../" ABSOLUTE)
|
|
17
18
|
get_filename_component(NETGEN_RESOURCE_DIR "${NETGEN_CMAKE_DIR}/../../share" ABSOLUTE)
|
|
18
19
|
|
|
19
|
-
set(NETGEN_SOURCE_DIR "C:/gitlabci/tools/builds/
|
|
20
|
+
set(NETGEN_SOURCE_DIR "C:/gitlabci/tools/builds/3zsqG5ns9/0/ngsolve/ngsolve/external_dependencies/netgen")
|
|
20
21
|
|
|
21
22
|
set(NETGEN_BUILD_FOR_CONDA "ON")
|
|
22
23
|
set(NETGEN_CHECK_RANGE "OFF")
|
|
@@ -41,15 +42,15 @@ set(NETGEN_OPENGL_LIBRARIES "opengl32;glu32")
|
|
|
41
42
|
set(NETGEN_PYTHON_EXECUTABLE "C:/Python313/python.exe")
|
|
42
43
|
set(NETGEN_PYTHON_INCLUDE_DIRS "C:/Python313/Include")
|
|
43
44
|
set(NETGEN_PYTHON_LIBRARIES "C:/Python313/libs/python313.lib")
|
|
44
|
-
set(NETGEN_TCL_INCLUDE_PATH "C:/gitlabci/tools/builds/
|
|
45
|
+
set(NETGEN_TCL_INCLUDE_PATH "C:/gitlabci/tools/builds/3zsqG5ns9/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/win-amd64-3.13/cmake-build/dependencies/src/project_tcl/generic")
|
|
45
46
|
set(NETGEN_TCL_LIBRARY "C:/Python313/tcl/tclstub86.lib")
|
|
46
47
|
set(NETGEN_TK_DND_LIBRARY "")
|
|
47
|
-
set(NETGEN_TK_INCLUDE_PATH "C:/gitlabci/tools/builds/
|
|
48
|
+
set(NETGEN_TK_INCLUDE_PATH "C:/gitlabci/tools/builds/3zsqG5ns9/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/win-amd64-3.13/cmake-build/dependencies/src/project_tk/generic")
|
|
48
49
|
set(NETGEN_TK_LIBRARY "C:/Python313/tcl/tkstub86.lib")
|
|
49
50
|
set(NETGEN_X11_X11_LIB "")
|
|
50
51
|
set(NETGEN_X11_Xmu_LIB "")
|
|
51
|
-
set(NETGEN_ZLIB_INCLUDE_DIRS "C:/gitlabci/tools/builds/
|
|
52
|
-
set(NETGEN_ZLIB_LIBRARIES "C:/gitlabci/tools/builds/
|
|
52
|
+
set(NETGEN_ZLIB_INCLUDE_DIRS "C:/gitlabci/tools/builds/3zsqG5ns9/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/win-amd64-3.13/cmake-build/dependencies/zlib/include")
|
|
53
|
+
set(NETGEN_ZLIB_LIBRARIES "C:/gitlabci/tools/builds/3zsqG5ns9/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/win-amd64-3.13/cmake-build/dependencies/zlib/lib/zlibstatic.lib")
|
|
53
54
|
|
|
54
55
|
set(NETGEN_USE_GUI ON)
|
|
55
56
|
set(NETGEN_USE_PYTHON ON)
|
netgen/config/__init__.pyi
CHANGED
|
@@ -5,7 +5,7 @@ __all__ = ['BUILD_FOR_CONDA', 'BUILD_STUB_FILES', 'CHECK_RANGE', 'CMAKE_INSTALL_
|
|
|
5
5
|
BUILD_FOR_CONDA: bool = True
|
|
6
6
|
BUILD_STUB_FILES: bool = True
|
|
7
7
|
CHECK_RANGE: bool = False
|
|
8
|
-
CMAKE_INSTALL_PREFIX: str = 'C:/gitlabci/tools/builds/
|
|
8
|
+
CMAKE_INSTALL_PREFIX: str = 'C:/gitlabci/tools/builds/3zsqG5ns9/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/win-amd64-3.13/cmake-install'
|
|
9
9
|
DEBUG_LOG: bool = False
|
|
10
10
|
ENABLE_CPP_CORE_GUIDELINES_CHECK: bool = False
|
|
11
11
|
ENABLE_UNIT_TESTS: bool = False
|
|
@@ -14,14 +14,14 @@ INTEL_MIC: bool = False
|
|
|
14
14
|
NETGEN_PYTHON_PACKAGE_NAME: str = 'netgen-mesher'
|
|
15
15
|
NETGEN_PYTHON_RPATH: str = 'netgen'
|
|
16
16
|
NETGEN_PYTHON_RPATH_BIN: str = 'netgen'
|
|
17
|
-
NETGEN_VERSION: str = '6.2.
|
|
18
|
-
NETGEN_VERSION_GIT: str = 'v6.2.
|
|
19
|
-
NETGEN_VERSION_HASH: str = '
|
|
17
|
+
NETGEN_VERSION: str = '6.2.2506-48-g8263c0bc'
|
|
18
|
+
NETGEN_VERSION_GIT: str = 'v6.2.2506-48-g8263c0bc'
|
|
19
|
+
NETGEN_VERSION_HASH: str = 'g8263c0bc'
|
|
20
20
|
NETGEN_VERSION_MAJOR: str = '6'
|
|
21
21
|
NETGEN_VERSION_MINOR: str = '2'
|
|
22
|
-
NETGEN_VERSION_PATCH: str = '
|
|
23
|
-
NETGEN_VERSION_PYTHON: str = '6.2.
|
|
24
|
-
NETGEN_VERSION_TWEAK: str = '
|
|
22
|
+
NETGEN_VERSION_PATCH: str = '2506'
|
|
23
|
+
NETGEN_VERSION_PYTHON: str = '6.2.2506.post48.dev0'
|
|
24
|
+
NETGEN_VERSION_TWEAK: str = '48'
|
|
25
25
|
NG_COMPILE_FLAGS: str = '/arch:AVX2'
|
|
26
26
|
NG_INSTALL_DIR_BIN: str = 'netgen'
|
|
27
27
|
NG_INSTALL_DIR_CMAKE: str = 'netgen/cmake'
|
|
@@ -49,4 +49,4 @@ USE_SPDLOG: bool = False
|
|
|
49
49
|
is_python_package: bool = True
|
|
50
50
|
ngcore_compile_definitions: str = 'NETGEN_PYTHON;NG_PYTHON;PYBIND11_SIMPLE_GIL_MANAGEMENT;_WIN32_WINNT=0x1000;WNT;WNT_WINDOW;NOMINMAX;MSVC_EXPRESS;_CRT_SECURE_NO_WARNINGS;HAVE_STRUCT_TIMESPEC;WIN32'
|
|
51
51
|
ngcore_compile_options: str = '/arch:AVX2;/bigobj;$<BUILD_INTERFACE:/MP;/W1;/wd4068>'
|
|
52
|
-
version: str = 'v6.2.
|
|
52
|
+
version: str = 'v6.2.2506-48-g8263c0bc'
|
netgen/config/config.py
CHANGED
|
@@ -26,7 +26,7 @@ USE_OCC = _cmake_to_bool("ON")
|
|
|
26
26
|
USE_PYTHON = _cmake_to_bool("ON")
|
|
27
27
|
USE_SPDLOG = _cmake_to_bool("")
|
|
28
28
|
|
|
29
|
-
CMAKE_INSTALL_PREFIX = "C:/gitlabci/tools/builds/
|
|
29
|
+
CMAKE_INSTALL_PREFIX = "C:/gitlabci/tools/builds/3zsqG5ns9/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/win-amd64-3.13/cmake-install"
|
|
30
30
|
NG_INSTALL_DIR_PYTHON = "."
|
|
31
31
|
NG_INSTALL_DIR_BIN = "netgen"
|
|
32
32
|
NG_INSTALL_DIR_LIB = "netgen/lib"
|
|
@@ -42,15 +42,15 @@ NG_COMPILE_FLAGS = "/arch:AVX2"
|
|
|
42
42
|
ngcore_compile_options = "/arch:AVX2;/bigobj;$<BUILD_INTERFACE:/MP;/W1;/wd4068>"
|
|
43
43
|
ngcore_compile_definitions = "NETGEN_PYTHON;NG_PYTHON;PYBIND11_SIMPLE_GIL_MANAGEMENT;_WIN32_WINNT=0x1000;WNT;WNT_WINDOW;NOMINMAX;MSVC_EXPRESS;_CRT_SECURE_NO_WARNINGS;HAVE_STRUCT_TIMESPEC;WIN32"
|
|
44
44
|
|
|
45
|
-
NETGEN_VERSION = "6.2.
|
|
46
|
-
NETGEN_VERSION_GIT = "v6.2.
|
|
47
|
-
NETGEN_VERSION_PYTHON = "6.2.
|
|
45
|
+
NETGEN_VERSION = "6.2.2506-48-g8263c0bc"
|
|
46
|
+
NETGEN_VERSION_GIT = "v6.2.2506-48-g8263c0bc"
|
|
47
|
+
NETGEN_VERSION_PYTHON = "6.2.2506.post48.dev0"
|
|
48
48
|
|
|
49
49
|
NETGEN_VERSION_MAJOR = "6"
|
|
50
50
|
NETGEN_VERSION_MINOR = "2"
|
|
51
|
-
NETGEN_VERSION_TWEAK = "
|
|
52
|
-
NETGEN_VERSION_PATCH = "
|
|
53
|
-
NETGEN_VERSION_HASH = "
|
|
51
|
+
NETGEN_VERSION_TWEAK = "48"
|
|
52
|
+
NETGEN_VERSION_PATCH = "2506"
|
|
53
|
+
NETGEN_VERSION_HASH = "g8263c0bc"
|
|
54
54
|
|
|
55
55
|
PYTHON_VERSION = "3.13.2"
|
|
56
56
|
PYTHON_VERSION_MAJOR = "3"
|
netgen/config/config.pyi
CHANGED
|
@@ -7,7 +7,7 @@ def get_cmake_dir():
|
|
|
7
7
|
BUILD_FOR_CONDA: bool = True
|
|
8
8
|
BUILD_STUB_FILES: bool = True
|
|
9
9
|
CHECK_RANGE: bool = False
|
|
10
|
-
CMAKE_INSTALL_PREFIX: str = 'C:/gitlabci/tools/builds/
|
|
10
|
+
CMAKE_INSTALL_PREFIX: str = 'C:/gitlabci/tools/builds/3zsqG5ns9/0/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/win-amd64-3.13/cmake-install'
|
|
11
11
|
DEBUG_LOG: bool = False
|
|
12
12
|
ENABLE_CPP_CORE_GUIDELINES_CHECK: bool = False
|
|
13
13
|
ENABLE_UNIT_TESTS: bool = False
|
|
@@ -16,14 +16,14 @@ INTEL_MIC: bool = False
|
|
|
16
16
|
NETGEN_PYTHON_PACKAGE_NAME: str = 'netgen-mesher'
|
|
17
17
|
NETGEN_PYTHON_RPATH: str = 'netgen'
|
|
18
18
|
NETGEN_PYTHON_RPATH_BIN: str = 'netgen'
|
|
19
|
-
NETGEN_VERSION: str = '6.2.
|
|
20
|
-
NETGEN_VERSION_GIT: str = 'v6.2.
|
|
21
|
-
NETGEN_VERSION_HASH: str = '
|
|
19
|
+
NETGEN_VERSION: str = '6.2.2506-48-g8263c0bc'
|
|
20
|
+
NETGEN_VERSION_GIT: str = 'v6.2.2506-48-g8263c0bc'
|
|
21
|
+
NETGEN_VERSION_HASH: str = 'g8263c0bc'
|
|
22
22
|
NETGEN_VERSION_MAJOR: str = '6'
|
|
23
23
|
NETGEN_VERSION_MINOR: str = '2'
|
|
24
|
-
NETGEN_VERSION_PATCH: str = '
|
|
25
|
-
NETGEN_VERSION_PYTHON: str = '6.2.
|
|
26
|
-
NETGEN_VERSION_TWEAK: str = '
|
|
24
|
+
NETGEN_VERSION_PATCH: str = '2506'
|
|
25
|
+
NETGEN_VERSION_PYTHON: str = '6.2.2506.post48.dev0'
|
|
26
|
+
NETGEN_VERSION_TWEAK: str = '48'
|
|
27
27
|
NG_COMPILE_FLAGS: str = '/arch:AVX2'
|
|
28
28
|
NG_INSTALL_DIR_BIN: str = 'netgen'
|
|
29
29
|
NG_INSTALL_DIR_CMAKE: str = 'netgen/cmake'
|
|
@@ -51,4 +51,4 @@ USE_SPDLOG: bool = False
|
|
|
51
51
|
is_python_package: bool = True
|
|
52
52
|
ngcore_compile_definitions: str = 'NETGEN_PYTHON;NG_PYTHON;PYBIND11_SIMPLE_GIL_MANAGEMENT;_WIN32_WINNT=0x1000;WNT;WNT_WINDOW;NOMINMAX;MSVC_EXPRESS;_CRT_SECURE_NO_WARNINGS;HAVE_STRUCT_TIMESPEC;WIN32'
|
|
53
53
|
ngcore_compile_options: str = '/arch:AVX2;/bigobj;$<BUILD_INTERFACE:/MP;/W1;/wd4068>'
|
|
54
|
-
version: str = 'v6.2.
|
|
54
|
+
version: str = 'v6.2.2506-48-g8263c0bc'
|
netgen/include/core/archive.hpp
CHANGED
|
@@ -70,7 +70,8 @@ namespace ngcore
|
|
|
70
70
|
|
|
71
71
|
|
|
72
72
|
#ifdef NETGEN_PYTHON
|
|
73
|
-
pybind11::object CastAnyToPy(const std::any& a);
|
|
73
|
+
NGCORE_API pybind11::object CastAnyToPy(const std::any& a);
|
|
74
|
+
NGCORE_API std::any CastPyToAny(pybind11::object& h);
|
|
74
75
|
#endif // NETGEN_PYTHON
|
|
75
76
|
|
|
76
77
|
class NGCORE_API Archive;
|
|
@@ -184,6 +185,7 @@ namespace ngcore
|
|
|
184
185
|
#ifdef NETGEN_PYTHON
|
|
185
186
|
// std::function<pybind11::object(const std::any&)> anyToPyCaster;
|
|
186
187
|
pybind11::object (*anyToPyCaster)(const std::any&);
|
|
188
|
+
std::any (*pyToAnyCaster)(pybind11::object&);
|
|
187
189
|
#endif // NETGEN_PYTHON
|
|
188
190
|
};
|
|
189
191
|
} // namespace detail
|
|
@@ -234,7 +236,10 @@ namespace ngcore
|
|
|
234
236
|
// it archives the object normally.
|
|
235
237
|
#ifdef NETGEN_PYTHON
|
|
236
238
|
template<typename T>
|
|
237
|
-
Archive& Shallow(T& val); // implemented in
|
|
239
|
+
Archive& Shallow(T& val); // implemented in register_archive.hpp
|
|
240
|
+
#ifndef __CUDACC__
|
|
241
|
+
Archive& Shallow(std::any& val); // implemented in python_ngcore.cpp
|
|
242
|
+
#endif // __CUDACC__
|
|
238
243
|
#else // NETGEN_PYTHON
|
|
239
244
|
template<typename T>
|
|
240
245
|
Archive& Shallow(T& val)
|
|
@@ -276,6 +281,14 @@ namespace ngcore
|
|
|
276
281
|
virtual Archive & operator & (std::string & str) = 0;
|
|
277
282
|
virtual Archive & operator & (char *& str) = 0;
|
|
278
283
|
|
|
284
|
+
#ifdef NETGEN_PYTHON
|
|
285
|
+
Archive & operator &(std::any& a)
|
|
286
|
+
{
|
|
287
|
+
Shallow(a);
|
|
288
|
+
return *this;
|
|
289
|
+
}
|
|
290
|
+
#endif
|
|
291
|
+
|
|
279
292
|
Archive & operator & (VersionInfo & version)
|
|
280
293
|
{
|
|
281
294
|
if(Output())
|
|
@@ -505,7 +518,8 @@ namespace ngcore
|
|
|
505
518
|
template <typename T>
|
|
506
519
|
Archive& operator & (ngcore::Shallow<T>& shallow)
|
|
507
520
|
{
|
|
508
|
-
|
|
521
|
+
if(shallow_to_python)
|
|
522
|
+
Shallow(shallow.val);
|
|
509
523
|
return *this;
|
|
510
524
|
}
|
|
511
525
|
|
|
@@ -763,6 +777,7 @@ namespace ngcore
|
|
|
763
777
|
|
|
764
778
|
#ifdef NETGEN_PYTHON
|
|
765
779
|
friend pybind11::object CastAnyToPy(const std::any&);
|
|
780
|
+
friend std::any CastPyToAny(pybind11::object&);
|
|
766
781
|
#endif // NETGEN_PYTHON
|
|
767
782
|
|
|
768
783
|
// Returns ClassArchiveInfo of Demangled typeid
|
netgen/include/core/array.hpp
CHANGED
|
@@ -347,7 +347,7 @@ namespace ngcore
|
|
|
347
347
|
|
|
348
348
|
*/
|
|
349
349
|
template <typename T>
|
|
350
|
-
auto Range(const T & x)
|
|
350
|
+
NETGEN_INLINE auto Range(const T & x)
|
|
351
351
|
-> typename std::enable_if<std::is_integral_v<T> || !has_range<T>,
|
|
352
352
|
decltype(Range_impl(x, std::is_integral<T>()))>::type {
|
|
353
353
|
return Range_impl(x, std::is_integral<T>());
|
|
@@ -455,11 +455,11 @@ namespace ngcore
|
|
|
455
455
|
using BaseArrayObject<FlatArray>::ILLEGAL_POSITION;
|
|
456
456
|
|
|
457
457
|
/// initialize array
|
|
458
|
-
|
|
458
|
+
FlatArray () = default;
|
|
459
459
|
// { ; } // size = 0; data = 0; }
|
|
460
460
|
|
|
461
461
|
/// copy constructor allows size-type conversion
|
|
462
|
-
|
|
462
|
+
FlatArray (const FlatArray & a2) = default;
|
|
463
463
|
// : size(a2.Size()), data(a2.data) { ; }
|
|
464
464
|
|
|
465
465
|
/// provide size and memory
|
|
@@ -1442,8 +1442,24 @@ namespace ngcore
|
|
|
1442
1442
|
template <class T, typename TLESS>
|
|
1443
1443
|
void QuickSort (FlatArray<T> data, TLESS less)
|
|
1444
1444
|
{
|
|
1445
|
-
|
|
1445
|
+
constexpr size_t INSERTION_SORT_THRESHOLD = 16;
|
|
1446
|
+
|
|
1447
|
+
if (data.Size() <= INSERTION_SORT_THRESHOLD) {
|
|
1448
|
+
// insertion sort
|
|
1449
|
+
for (ptrdiff_t k = 1; k < data.Size(); ++k)
|
|
1450
|
+
{
|
|
1451
|
+
auto newval = data[k];
|
|
1452
|
+
ptrdiff_t l = k;
|
|
1453
|
+
for ( ; l > 0 && less(newval, data[l-1]); --l)
|
|
1454
|
+
data[l] = data[l-1];
|
|
1455
|
+
data[l] = newval;
|
|
1456
|
+
}
|
|
1457
|
+
|
|
1458
|
+
return;
|
|
1459
|
+
}
|
|
1446
1460
|
|
|
1461
|
+
// if (data.Size() <= 1) return;
|
|
1462
|
+
|
|
1447
1463
|
ptrdiff_t i = 0;
|
|
1448
1464
|
ptrdiff_t j = data.Size()-1;
|
|
1449
1465
|
|
netgen/include/core/autodiff.hpp
CHANGED
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
|
|
10
10
|
namespace ngcore
|
|
11
11
|
{
|
|
12
|
-
using ngcore::IfPos;
|
|
13
12
|
|
|
14
13
|
// Automatic differentiation datatype
|
|
15
14
|
|
|
@@ -247,7 +246,6 @@ NETGEN_INLINE AutoDiffVec<D,SCAL> operator* (const AutoDiffVec<D,SCAL> & x, cons
|
|
|
247
246
|
}
|
|
248
247
|
|
|
249
248
|
/// AutoDiffVec times AutoDiffVec
|
|
250
|
-
using ngcore::sqr;
|
|
251
249
|
template<int D, typename SCAL>
|
|
252
250
|
NETGEN_INLINE AutoDiffVec<D,SCAL> sqr (const AutoDiffVec<D,SCAL> & x) throw()
|
|
253
251
|
{
|
|
@@ -645,10 +643,10 @@ NETGEN_INLINE AutoDiffVec<D,SCAL> asin (AutoDiffVec<D,SCAL> x)
|
|
|
645
643
|
SCAL last;
|
|
646
644
|
|
|
647
645
|
public:
|
|
648
|
-
|
|
649
|
-
|
|
646
|
+
AutoDiffRec () = default;
|
|
647
|
+
AutoDiffRec (const AutoDiffRec &) = default;
|
|
650
648
|
NETGEN_INLINE AutoDiffRec (AutoDiffRec<D-1,SCAL> _rec, SCAL _last) : rec(_rec), last(_last) { ; }
|
|
651
|
-
|
|
649
|
+
AutoDiffRec & operator= (const AutoDiffRec &) = default;
|
|
652
650
|
|
|
653
651
|
NETGEN_INLINE AutoDiffRec (SCAL aval) : rec(aval), last(0.0) { ; }
|
|
654
652
|
NETGEN_INLINE AutoDiffRec (SCAL aval, int diffindex) : rec(aval, diffindex), last((diffindex==D-1) ? 1.0 : 0.0) { ; }
|
|
@@ -691,14 +689,14 @@ NETGEN_INLINE AutoDiffVec<D,SCAL> asin (AutoDiffVec<D,SCAL> x)
|
|
|
691
689
|
{
|
|
692
690
|
SCAL val;
|
|
693
691
|
public:
|
|
694
|
-
|
|
695
|
-
|
|
692
|
+
AutoDiffRec () = default;
|
|
693
|
+
AutoDiffRec (const AutoDiffRec &) = default;
|
|
696
694
|
NETGEN_INLINE AutoDiffRec (SCAL _val) : val(_val) { ; }
|
|
697
695
|
NETGEN_INLINE AutoDiffRec (SCAL _val, SCAL /* _dummylast */) : val(_val) { ; }
|
|
698
696
|
NETGEN_INLINE AutoDiffRec (SCAL aval, const SCAL * /* grad */)
|
|
699
697
|
: val(aval) { }
|
|
700
698
|
|
|
701
|
-
|
|
699
|
+
AutoDiffRec & operator= (const AutoDiffRec &) = default;
|
|
702
700
|
NETGEN_INLINE AutoDiffRec & operator= (SCAL aval) { val = aval; return *this; }
|
|
703
701
|
|
|
704
702
|
NETGEN_INLINE SCAL Value() const { return val; }
|
|
@@ -719,8 +717,8 @@ NETGEN_INLINE AutoDiffVec<D,SCAL> asin (AutoDiffVec<D,SCAL> x)
|
|
|
719
717
|
SCAL val;
|
|
720
718
|
SCAL last;
|
|
721
719
|
public:
|
|
722
|
-
|
|
723
|
-
|
|
720
|
+
AutoDiffRec () = default;
|
|
721
|
+
AutoDiffRec (const AutoDiffRec &) = default;
|
|
724
722
|
NETGEN_INLINE AutoDiffRec (SCAL _val) : val(_val), last(0.0) { ; }
|
|
725
723
|
NETGEN_INLINE AutoDiffRec (SCAL _val, SCAL _last) : val(_val), last(_last) { ; }
|
|
726
724
|
NETGEN_INLINE AutoDiffRec (SCAL aval, int diffindex) : val(aval), last((diffindex==0) ? 1.0 : 0.0) { ; }
|
|
@@ -733,7 +731,7 @@ NETGEN_INLINE AutoDiffVec<D,SCAL> asin (AutoDiffVec<D,SCAL> x)
|
|
|
733
731
|
DValue(0) = ad.DValue(0);
|
|
734
732
|
}
|
|
735
733
|
|
|
736
|
-
|
|
734
|
+
AutoDiffRec & operator= (const AutoDiffRec &) = default;
|
|
737
735
|
NETGEN_INLINE AutoDiffRec & operator= (SCAL aval) { val = aval; last = 0.0; return *this; }
|
|
738
736
|
|
|
739
737
|
NETGEN_INLINE SCAL Value() const { return val; }
|
netgen/include/core/bitarray.hpp
CHANGED
|
@@ -155,7 +155,7 @@ public:
|
|
|
155
155
|
|
|
156
156
|
NGCORE_API auto * Data() const { return data; }
|
|
157
157
|
|
|
158
|
-
|
|
158
|
+
size_t GetMemoryUsage() const { return owns_data ? (size+CHAR_BIT-1)/CHAR_BIT : 0; }
|
|
159
159
|
const MemoryTracer& GetMemoryTracer() const { return mt; }
|
|
160
160
|
void StartMemoryTracing() const
|
|
161
161
|
{
|
netgen/include/core/flags.hpp
CHANGED
|
@@ -198,17 +198,17 @@ namespace ngcore
|
|
|
198
198
|
}
|
|
199
199
|
#else // defined(NETGEN_TRACE_MEMORY) && !defined(__CUDA_ARCH__)
|
|
200
200
|
public:
|
|
201
|
-
MemoryTracer() {}
|
|
202
|
-
MemoryTracer( std::string /* name */ ) {}
|
|
201
|
+
NETGEN_INLINE MemoryTracer() {}
|
|
202
|
+
NETGEN_INLINE MemoryTracer( std::string /* name */ ) {}
|
|
203
203
|
template <typename... TRest>
|
|
204
|
-
MemoryTracer( std::string /* name */, TRest & ... ) {}
|
|
204
|
+
NETGEN_INLINE MemoryTracer( std::string /* name */, TRest & ... ) {}
|
|
205
205
|
|
|
206
|
-
void Alloc(size_t /* size */) const {}
|
|
207
|
-
void Free(size_t /* size */) const {}
|
|
208
|
-
int GetId() const { return 0; }
|
|
206
|
+
NETGEN_INLINE void Alloc(size_t /* size */) const {}
|
|
207
|
+
NETGEN_INLINE void Free(size_t /* size */) const {}
|
|
208
|
+
NETGEN_INLINE int GetId() const { return 0; }
|
|
209
209
|
|
|
210
210
|
template <typename... TRest>
|
|
211
|
-
void Track(TRest&...) const {}
|
|
211
|
+
NETGEN_INLINE void Track(TRest&...) const {}
|
|
212
212
|
|
|
213
213
|
static std::string GetName(int /* id */) { return ""; }
|
|
214
214
|
std::string GetName() const { return ""; }
|
netgen/include/core/ngcore.hpp
CHANGED
|
@@ -39,6 +39,9 @@
|
|
|
39
39
|
#ifdef WIN32
|
|
40
40
|
#define NGCORE_API_EXPORT __declspec(dllexport)
|
|
41
41
|
#define NGCORE_API_IMPORT __declspec(dllimport)
|
|
42
|
+
#elif EMSCRIPTEN
|
|
43
|
+
#define NGCORE_API_EXPORT __attribute__((visibility("default"))) __attribute__((used))
|
|
44
|
+
#define NGCORE_API_IMPORT
|
|
42
45
|
#else
|
|
43
46
|
#define NGCORE_API_EXPORT __attribute__((visibility("default")))
|
|
44
47
|
#define NGCORE_API_IMPORT __attribute__((visibility("default")))
|
|
@@ -57,6 +60,14 @@
|
|
|
57
60
|
#define NETGEN_HD
|
|
58
61
|
#endif // __CUDACC__
|
|
59
62
|
|
|
63
|
+
|
|
64
|
+
#ifdef __CUDACC__
|
|
65
|
+
// partial override of overloaded function (Archive, MultAdd)
|
|
66
|
+
#pragma nv_diag_suppress 611
|
|
67
|
+
#endif
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
60
71
|
#ifdef __INTEL_COMPILER
|
|
61
72
|
#define NETGEN_ALWAYS_INLINE __forceinline
|
|
62
73
|
#define NETGEN_INLINE __forceinline inline
|
|
@@ -98,10 +98,11 @@ namespace ngcore
|
|
|
98
98
|
|
|
99
99
|
struct TimerEvent
|
|
100
100
|
{
|
|
101
|
-
int timer_id;
|
|
102
101
|
TTimePoint time;
|
|
103
|
-
|
|
102
|
+
int timer_id;
|
|
104
103
|
int thread_id;
|
|
104
|
+
int custom_value = -1;
|
|
105
|
+
bool is_start;
|
|
105
106
|
|
|
106
107
|
bool operator < (const TimerEvent & other) const { return time < other.time; }
|
|
107
108
|
};
|
|
@@ -170,12 +171,12 @@ namespace ngcore
|
|
|
170
171
|
if(!tracing_enabled) return;
|
|
171
172
|
user_events.push_back(ue);
|
|
172
173
|
}
|
|
173
|
-
void StartGPU(int timer_id = 0)
|
|
174
|
+
void StartGPU(int timer_id = 0, int user_value = -1)
|
|
174
175
|
{
|
|
175
176
|
if(!tracing_enabled) return;
|
|
176
177
|
if(unlikely(gpu_events.size() == max_num_events_per_thread))
|
|
177
178
|
StopTracing();
|
|
178
|
-
gpu_events.push_back(TimerEvent{
|
|
179
|
+
gpu_events.push_back(TimerEvent{GetTimeCounter(), timer_id, 0, user_value, true});
|
|
179
180
|
}
|
|
180
181
|
|
|
181
182
|
void StopGPU(int timer_id)
|
|
@@ -183,15 +184,15 @@ namespace ngcore
|
|
|
183
184
|
if(!tracing_enabled) return;
|
|
184
185
|
if(unlikely(gpu_events.size() == max_num_events_per_thread))
|
|
185
186
|
StopTracing();
|
|
186
|
-
gpu_events.push_back(TimerEvent{
|
|
187
|
+
gpu_events.push_back(TimerEvent{GetTimeCounter(), timer_id, 0, -1, false});
|
|
187
188
|
}
|
|
188
189
|
|
|
189
|
-
void StartTimer(int timer_id)
|
|
190
|
+
void StartTimer(int timer_id, int user_value = -1)
|
|
190
191
|
{
|
|
191
192
|
if(!tracing_enabled) return;
|
|
192
193
|
if(unlikely(timer_events.size() == max_num_events_per_thread))
|
|
193
194
|
StopTracing();
|
|
194
|
-
timer_events.push_back(TimerEvent{
|
|
195
|
+
timer_events.push_back(TimerEvent{GetTimeCounter(), timer_id, 0, user_value, true});
|
|
195
196
|
}
|
|
196
197
|
|
|
197
198
|
void StopTimer(int timer_id)
|
|
@@ -199,7 +200,7 @@ namespace ngcore
|
|
|
199
200
|
if(!tracing_enabled) return;
|
|
200
201
|
if(unlikely(timer_events.size() == max_num_events_per_thread))
|
|
201
202
|
StopTracing();
|
|
202
|
-
timer_events.push_back(TimerEvent{
|
|
203
|
+
timer_events.push_back(TimerEvent{GetTimeCounter(), timer_id, 0, -1, false});
|
|
203
204
|
}
|
|
204
205
|
|
|
205
206
|
void AllocMemory(int id, size_t size)
|
netgen/include/core/profiler.hpp
CHANGED
|
@@ -202,21 +202,21 @@ namespace ngcore
|
|
|
202
202
|
{
|
|
203
203
|
Stop(TaskManager::GetThreadId());
|
|
204
204
|
}
|
|
205
|
-
void Start (int tid) const
|
|
205
|
+
void Start (int tid, int trace_value = -1) const
|
|
206
206
|
{
|
|
207
207
|
if(tid==0)
|
|
208
208
|
{
|
|
209
209
|
if constexpr(do_timing)
|
|
210
210
|
NgProfiler::StartTimer (timernr);
|
|
211
211
|
if constexpr(do_tracing)
|
|
212
|
-
if(trace) trace->StartTimer(timernr);
|
|
212
|
+
if(trace) trace->StartTimer(timernr, trace_value);
|
|
213
213
|
}
|
|
214
214
|
else
|
|
215
215
|
{
|
|
216
216
|
if constexpr(do_timing)
|
|
217
217
|
NgProfiler::StartThreadTimer(timernr, tid);
|
|
218
218
|
if constexpr(do_tracing)
|
|
219
|
-
if(trace) trace->StartTask (tid, timernr, PajeTrace::Task::ID_TIMER);
|
|
219
|
+
if(trace) trace->StartTask (tid, timernr, PajeTrace::Task::ID_TIMER, trace_value);
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
222
|
void Stop (int tid) const
|
|
@@ -262,10 +262,10 @@ namespace ngcore
|
|
|
262
262
|
int tid;
|
|
263
263
|
public:
|
|
264
264
|
/// start timer
|
|
265
|
-
RegionTimer (const TTimer & atimer) : timer(atimer)
|
|
265
|
+
RegionTimer (const TTimer & atimer, int trace_value = -1) : timer(atimer)
|
|
266
266
|
{
|
|
267
267
|
tid = TaskManager::GetThreadId();
|
|
268
|
-
timer.Start(tid);
|
|
268
|
+
timer.Start(tid, trace_value);
|
|
269
269
|
}
|
|
270
270
|
|
|
271
271
|
/// stop timer
|
|
@@ -84,6 +84,14 @@ namespace ngcore {
|
|
|
84
84
|
return pybind11::cast(val);
|
|
85
85
|
}
|
|
86
86
|
};
|
|
87
|
+
info.pyToAnyCaster = [](pybind11::object &obj)
|
|
88
|
+
{
|
|
89
|
+
if constexpr(has_shared_from_this2<T>::value || !std::is_copy_constructible<T>::value)
|
|
90
|
+
return std::any { obj.cast<std::shared_ptr<T>>() };
|
|
91
|
+
else
|
|
92
|
+
return std::any { obj.cast<T>() };
|
|
93
|
+
};
|
|
94
|
+
|
|
87
95
|
#endif // NETGEN_PYTHON
|
|
88
96
|
Archive::SetArchiveRegister(std::string(Demangle(typeid(T).name())),info);
|
|
89
97
|
}
|
netgen/include/core/simd.hpp
CHANGED
|
@@ -7,10 +7,12 @@
|
|
|
7
7
|
/* Date: 25. Mar. 16 */
|
|
8
8
|
/**************************************************************************/
|
|
9
9
|
|
|
10
|
+
#include <array>
|
|
11
|
+
#include <tuple>
|
|
10
12
|
#include "ngcore_api.hpp"
|
|
11
|
-
|
|
12
13
|
#include "simd_generic.hpp"
|
|
13
14
|
|
|
15
|
+
|
|
14
16
|
#ifndef __CUDA_ARCH__
|
|
15
17
|
|
|
16
18
|
#ifdef NETGEN_ARCH_AMD64
|
|
@@ -87,6 +89,72 @@ namespace ngcore
|
|
|
87
89
|
// return SIMD<double,4>(HSum(s1), HSum(s2), HSum(s3), HSum(s4));
|
|
88
90
|
return SIMD<double,4>(HSum(s1, s2), HSum(s3,s4));
|
|
89
91
|
}
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
template <typename T, size_t S> class MakeSimdCl;
|
|
96
|
+
|
|
97
|
+
template <typename T, size_t S>
|
|
98
|
+
auto MakeSimd (std::array<T,S> aa) { return MakeSimdCl(aa).Get(); }
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
template <typename T, size_t S>
|
|
102
|
+
class MakeSimdCl
|
|
103
|
+
{
|
|
104
|
+
std::array<T,S> a;
|
|
105
|
+
public:
|
|
106
|
+
MakeSimdCl (std::array<T,S> aa) : a(aa) { ; }
|
|
107
|
+
auto Get() const
|
|
108
|
+
{
|
|
109
|
+
SIMD<T,S> sa( [this] (auto i) { return (this->a)[i]; });
|
|
110
|
+
return sa;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
template <typename Tfirst, size_t S, typename ...Trest>
|
|
118
|
+
class MakeSimdCl<std::tuple<Tfirst,Trest...>,S>
|
|
119
|
+
{
|
|
120
|
+
std::array<std::tuple<Tfirst,Trest...>,S> a;
|
|
121
|
+
public:
|
|
122
|
+
MakeSimdCl (std::array<std::tuple<Tfirst,Trest...>,S> aa) : a(aa) { ; }
|
|
123
|
+
auto Get() const
|
|
124
|
+
{
|
|
125
|
+
std::array<Tfirst,S> a0;
|
|
126
|
+
for (int i = 0; i < S; i++)
|
|
127
|
+
a0[i] = std::get<0> (a[i]);
|
|
128
|
+
|
|
129
|
+
if constexpr (std::tuple_size<std::tuple<Tfirst,Trest...>>::value == 1)
|
|
130
|
+
{
|
|
131
|
+
return std::tuple(MakeSimd(a0));
|
|
132
|
+
}
|
|
133
|
+
else
|
|
134
|
+
{
|
|
135
|
+
std::array<std::tuple<Trest...>,S> arest;
|
|
136
|
+
for (int i = 0; i < S; i++)
|
|
137
|
+
arest[i] = skip_first(a[i]);
|
|
138
|
+
|
|
139
|
+
return std::tuple_cat ( std::tuple (MakeSimd(a0)), MakeSimd(arest) );
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
template <typename... Ts>
|
|
144
|
+
static auto skip_first(const std::tuple<Ts...>& t) {
|
|
145
|
+
return std::apply([](auto first, auto... rest) {
|
|
146
|
+
return std::make_tuple(rest...);
|
|
147
|
+
}, t);
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
90
155
|
}
|
|
91
156
|
|
|
157
|
+
|
|
158
|
+
#include "simd_math.hpp"
|
|
159
|
+
|
|
92
160
|
#endif // NETGEN_CORE_SIMD_HPP
|