Commit Graph

377 Commits

Author SHA1 Message Date
Monty Montgomery
5ee4e43393 Fix nullptr deref in archive
Hardened toolchains (eg, mainline Fedora) no longer tolerate null
derefs that were silently trapped/ignored in earlier versions.  This
eliminates a nullptr deref in archive.hpp that was failing several
unit tests (and causing crashes) when trying to manipulate
default-constructed archive objects.
2022-05-15 01:16:58 -04:00
Monty Montgomery
b82796e58d CMake enhancements for automated external package building
Add explicit defaults where missing for clarity.

Support passing in NETGEN_GIT_VERSION for use when building, eg, RPM
packages using rpkg, which requires building from an untagged source
bundle, that is, not directly from a git checkout.

Add option to choose build against internal or external Pybind11; add
cmake module to find and configure against system Pybind.

re-add versioning of shared library files.

Add section for GCC-specific options setting (right now, to turn off
harmless warnings).

Warn if pybind11_stubgen is not found.

Adjust stubgen paths to work when build is not in-place in the source tree.
2022-05-15 01:16:51 -04:00
Monty Montgomery
e9eae568ff Don't fail silently in VersionInfo(), print useful message
Having version.hpp throw an exception when built against a malformed
version number (due to, eg, not having the git tag available in an
automated package build from source bundle) results in _init_ failing
during an otherwise apparently successful dlopen(), as well as the
netgen-mesher executable crashing before hitting main().

This patch both forces an abort and prints a helpful message alerting
the builder/user that something went wrong instead of handing over
either a coredump or a weirdly malfunctioning library with no apparent
cause.  Hopefully this will avoid a repeat of automated Fedora builds
shipping nonfunctional Netgen RPMs for several years!
2022-05-14 23:37:22 -04:00
Joachim Schoeberl
cad2391e34 unify MPI 2022-05-06 16:39:06 +02:00
Matthias Hochsteger
b694b4667a rework build system, separate gui and non-gui code
move fieldlines code to meshing dir

move visualization function pointers to meshing directory

DLL_HEADER -> NGGUI_API in visualization lib

move soldata.hpp to meshing

update occ, no freetype necessary anymore
2022-05-05 14:39:31 +02:00
Joachim Schoeberl
326e313d75 copy-ctor for head-tail array with generic types 2022-05-02 08:42:07 +02:00
Joachim Schoeberl
6a8050998b shape comparison macro 2022-05-01 11:56:22 +02:00
Joachim Schoeberl
bf22f8d4df fix shared loop: in rare cases elements have been called twice 2022-04-30 10:39:26 +02:00
Joachim Schoeberl
fd77d17e2b MPI unification 2022-04-26 22:07:31 +02:00
Joachim Schoeberl
212c5dd130 dummy mpi-waitany for non-parallel 2022-04-26 16:54:18 +02:00
Joachim Schoeberl
054386388e less hash-table searching in buildedges 2022-04-21 16:25:52 +02:00
Joachim Schoeberl
6fd99a5a29 some modernization of Topology 2022-04-21 11:37:38 +02:00
Matthias Hochsteger
e4ff37887b Some fixes for odd SIMD sizes 2022-04-15 15:27:44 +02:00
Joachim Schöberl
ed0f400f09 Merge branch 'pickle_array' into 'master'
pickling of Array

See merge request jschoeberl/netgen!496
2022-04-12 05:25:56 +00:00
Christopher Lackner
b66f3039be memory tracing only if actively enabled 2022-04-08 12:51:23 +02:00
Christopher Lackner
3b29d03227 pickling of Array 2022-04-05 15:08:52 +02:00
Joachim Schoeberl
4565c8ef79 rvalue Array+= allows for Array<int>({1,2,3})+={4,5} 2022-04-02 10:37:26 +02:00
Joachim Schoeberl
409c460d2f fix non-default SIMD-size 2022-04-02 10:37:26 +02:00
luz paz
4033fac1b3 Fix various typos
Found via `codespell -q 3 -S ./external_dependencies/pybind11 -L alledges,allright,ane,anormal,ans,apoints,ba,boxs,cancle,childs,co-ordinate,co-ordinates,daty,enty,filld,hel,identifyable,ist,linz,lod,ned,nd,selt,statics,suround,thev,thist,thisy,timere,upto,wel`
2022-03-25 18:22:05 -04:00
mhochsteger@cerbsim.com
54dde2a10f fix PajeTrace context manager 2022-03-21 22:12:21 +01:00
Joachim Schoeberl
4bad16744b wrapper for mpi-gather to ngscore 2022-03-18 08:20:20 +01:00
mhochsteger@cerbsim.com
94bd713310 Merge remote-tracking branch 'stefanbruens/fix_aarch64_uint_mask' 2022-03-16 10:27:43 +01:00
mhochsteger@cerbsim.com
2136269175 Link libstdc++fs when compiling with gcc 8 2022-03-14 18:10:47 +01:00
Joachim Schoeberl
c4b679ec5a fix AllReduce (array) 2022-03-05 12:21:28 +01:00
Joachim Schoeberl
2b9d4596ae AllReduce for Arrays 2022-03-05 11:42:00 +01:00
mhochsteger@cerbsim.com
4e8fe77098 fix some warnings 2022-03-02 14:14:38 +01:00
mhochsteger@cerbsim.com
fe838fbd75 fix ToLower() 2022-02-23 19:16:30 +01:00
mhochsteger@cerbsim.com
cf59f297a7 use std::filesystem::path 2022-02-23 11:56:00 +01:00
mhochsteger@cerbsim.com
eceb83171f allow implicit conversion from py::list to Array<> 2022-02-21 12:02:30 +01:00
mhochsteger@cerbsim.com
d3e0ae6fd7 use ngcore pybind list caster only for non-numpy types
we should Array<T> for all numpy dtypes T
2022-02-21 11:18:19 +01:00
mhochsteger@cerbsim.com
17e845df29 fix rpath of pyngcore 2022-02-16 09:44:00 +01:00
Matthias Hochsteger
d2378d9781 pyngcore as package (staying backward compatible) 2022-02-16 09:27:02 +01:00
Joachim Schoeberl
67c031cb77 fix unused-variable warning 2022-02-11 15:08:59 +01:00
Joachim Schoeberl
79ff65d224 added SIMD-wrapper for 'erf' 2022-02-11 13:56:28 +01:00
Joachim Schoeberl
1222356cf4 HSum(4) for M1, FlatArray!= 2022-02-04 17:01:31 +01:00
Stefan Brüns
5fce0b48b8 Fix signedness for ARM Neon mask type
vbslq_f64 and vandq_u64 both require uint64x2_t types as mask arguments,
and the Neon intrinsics do not allow for implicit conversion.

Fixes build errors with current GCC 11.2.1:

/home/abuild/rpmbuild/BUILD/netgen-6.2.2105/libsrc/core/simd_arm64.hpp:171:29: error: cannot convert '__Int64x2_t' to 'uint64x2_t'
 171 |     return vandq_u64 (a.Data(), b.Data());
2022-01-27 14:16:51 +01:00
Joachim Schoeberl
44d626f727 BitArray indexing from the end 2021-12-29 21:06:52 +01:00
mhochsteger@cerbsim.com
f95332d0a1 archive optional<T> 2021-11-10 18:36:55 +01:00
mhochsteger@cerbsim.com
b258d7bd65 fix path to string conversion 2021-11-04 13:00:30 +01:00
mhochsteger@cerbsim.com
747367ab8a util function GetTempFilename() 2021-11-04 12:20:56 +01:00
mhochsteger@cerbsim.com
f0e7f843c3 util functions to get compile-time simd size and range check settings 2021-10-28 13:47:58 +02:00
mhochsteger@cerbsim.com
d9e8b815f5 pip installer 2021-10-27 16:51:41 +02:00
Christopher Lackner
a8da814c19 remove debug output 2021-09-28 22:51:06 +02:00
Christopher Lackner
bd29763b16 Add std::any to py::object caster for archive registered types 2021-09-28 22:34:11 +02:00
Joachim Schoeberl
968658a70e too much tracing for recursive tasks ? 2021-09-28 15:41:46 +02:00
Christopher Lackner
2b7347ce07 Export Flags.ToDict to python 2021-09-28 14:05:33 +02:00
mhochsteger@cerbsim.com
e1d71a78ab no need to remove archive type infos 2021-09-13 17:18:32 +02:00
Joachim Schoeberl
5a82e18ed1 default msg-level to 0 2021-09-06 17:36:53 +02:00
Joachim Schoeberl
77f07f8baf occ output control 2021-09-06 16:59:48 +02:00
Matthias Hochsteger
42faaacdb7 fix gcc build error 2021-09-03 13:12:23 +02:00