Commit Graph

522 Commits

Author SHA1 Message Date
Hochsteger, Matthias
a1b43088a4 TaskManager - sleep when no jobs for some time 2023-05-21 14:41:41 +02:00
Joachim Schoeberl
472073c22b counting num vertices in parallel 2023-05-21 14:35:09 +02:00
Joachim Schoeberl
8a79f91cb1 check for null-ptr from cxa_demangle 2023-04-28 17:33:07 +02:00
Joachim Schoeberl
ad6ffaac05 shared loop with relaxed memory ordering 2023-03-30 12:26:58 +02:00
Joachim Schoeberl
0c5e8c8d70 had removed too much 2023-03-12 22:24:21 +01:00
Joachim Schoeberl
32f1b6177e less special HSum 2023-03-12 19:18:29 +01:00
Joachim Schoeberl
16a0f52921 fix type, more in utils 2023-03-05 20:18:27 +01:00
Joachim Schoeberl
2121ec33f7 IfPoo to utils, mpi-type commit replacement 2023-03-05 17:16:35 +01:00
Joachim Schoeberl
0ad5973101 move Iterate<D>and Switch<D> to netgen utils 2023-03-05 14:53:22 +01:00
Matthias Hochsteger
3085fac973 PajeTrace - User defined containers 2023-02-24 12:26:24 +01:00
Matthias Hochsteger
618b81286a add UserEvents to PajeTrace 2023-02-23 16:58:13 +01:00
Matthias Hochsteger
c0f57369e5 gpu events in PajeTrace 2023-02-22 14:07:08 +01:00
Joachim Schoeberl
714b064666 check for exceptions for Cuda 2023-02-22 08:29:06 +01:00
Joachim Schoeberl
c6af357901 check for exception support 2023-02-21 20:52:25 +01:00
Matthias Hochsteger
a0b9dca246 NETGEN_INLINE for Range::Split 2023-02-21 18:47:33 +01:00
Matthias Hochsteger
7f172344e8 remove NETGEN_INLINE from StartTask 2023-02-21 15:19:51 +01:00
Joachim Schoeberl
566c858771 static_assert instead of Exception 2023-02-21 09:34:10 +01:00
Joachim Schoeberl
371aad4a65 INLINE for FlatArray - iterator 2023-02-21 00:19:02 +01:00
Hochsteger, Matthias
52763603d3 Some cuda fixes 2023-02-16 12:55:12 +01:00
Joachim Schoeberl
203dd2b89a Archive should be a template, here 2023-02-13 22:03:36 +01:00
Hochsteger, Matthias
71c9b9b9f1 Template archive 2023-02-13 15:42:45 +01:00
Joachim Schoeberl
da278ac7d0 more verbose warning msg 2023-02-11 20:25:41 +01:00
Joachim Schoeberl
ff65434e46 simdtranspose for defaultsize=1 2023-02-11 20:25:41 +01:00
Matthias Hochsteger
fc9846b035 set PYBIND11_SIMPLE_GIL_MANAGEMENT to work around segfaults 2023-02-07 11:59:23 +01:00
Christopher Lackner
8745a12246 fix loading windows line ending files in textarchive 2023-01-19 16:39:24 +01:00
Joachim Schoeberl
fef7cca030 empty table copy 2022-12-13 15:04:15 +01:00
Joachim Schoeberl
948a7bfc4d table from flattable 2022-12-12 23:45:49 +01:00
Joachim Schoeberl
52a71a5f76 Table from FlatTable 2022-12-12 20:03:17 +01:00
Joachim Schoeberl
c622f39897 replace sprintf by snprintf (remove warnings), remove old mpi-interface header 2022-12-08 15:19:16 +01:00
Joachim Schoeberl
d976e27b33 more constexpr 2022-11-28 09:50:12 +01:00
Matthias Hochsteger
e09a38d804 fix fmaddsub intrinsic calls 2022-11-21 12:13:19 +01:00
Joachim Schoeberl
f457009083 fix typo 2022-11-20 19:21:25 +01:00
Joachim Schoeberl
2d022013ad fmaddsub intrinsics (avx2+avx512) 2022-11-20 19:10:30 +01:00
Matthias Hochsteger
c18229535a Lo/Hi for SIMD<8> 2022-11-17 13:34:24 +01:00
Joachim Schoeberl
ee78c611e1 missing const 2022-11-17 00:08:47 +01:00
Joachim Schoeberl
71ef65cc86 missed Lo/Hi in SIMD<double,2> 2022-11-17 00:03:17 +01:00
Joachim Schoeberl
587843fded more SIMD features for complex arithmetics 2022-11-16 22:34:05 +01:00
Matthias Hochsteger
c354118fb9 define macro NETGEN_DEFAULT_SIMD_SIZE 2022-11-16 20:36:16 +01:00
Joachim Schoeberl
e14e7e1b06 more constexpr constructors 2022-10-26 20:50:17 +02:00
Joachim Schoeberl
95df669656 INT<2> constexpr ctor 2022-10-26 16:50:19 +02:00
Joachim Schoeberl
a183380cc6 Enumerate + Zip iterators 2022-10-26 15:50:30 +02:00
Matthias Hochsteger
2ae76d9a86 fix cmake bug (didn't apply NG_COMPILE_FLAGS) 2022-09-20 10:53:12 +02:00
Matthias Hochsteger
fe1a615996 fix cmake 2022-09-16 17:32:20 +02:00
Matthias Hochsteger
20dccf5082 fix compile flags containing semicolon 2022-09-16 17:13:26 +02:00
Matthias Hochsteger
95fdb53685 special clang flag not needed anymore (fixed in pybind) 2022-09-14 18:14:35 +02:00
Christopher Lackner
9fea21a2a1 do not trigger pointindex = 0 cout in debug mode 2022-09-12 16:34:45 +02:00
Michael Neunteufel
78ec53424e fix AVX2 for Windows build 2022-08-04 18:11:18 +02:00
Joachim Schoeberl
354898498f switch off tracer if TaskManager is called without arguments 2022-07-24 11:53:51 +02: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
Matthias Hochsteger
6a26125889 Consistent Demangle on MSVC and gcc/clang
Use regex list from here:
https://github.com/RobotLocomotion/drake/blob/master/common/nice_type_name.cc
2021-09-01 16:56:01 +02:00
Matthias Hochsteger
48198d232d Revert "Revert "Merge branch 'parallel_meshing' into 'master'""
This reverts commit 65c5e2d244.
2021-07-19 14:59:12 +02:00
Christopher Lackner
300835a446 fix table archive 2021-07-17 13:35:01 +02:00
Christopher Lackner
6f044faaba archive Table 2021-07-17 12:48:59 +02:00
Matthias Hochsteger
65c5e2d244 Revert "Merge branch 'parallel_meshing' into 'master'"
This reverts commit d20a297cf1, reversing
changes made to fd50131a5b.
2021-06-29 19:38:19 +02:00
Matthias Hochsteger
55ab122f35 Merge remote-tracking branch 'origin/master' into parallel_meshing 2021-06-28 12:10:08 +02:00
Joachim Schoeberl
fd50131a5b constexpr function 2021-06-28 01:35:23 +02:00
Joachim Schoeberl
91506aa71a static constexpr 2021-06-28 01:07:03 +02:00
Joachim Schoeberl
31d5ce8be9 packed archiving 2021-06-27 12:32:51 +02:00
Joachim Schoeberl
54db7941d0 tuning mesh(un)pickling 2021-06-26 12:14:17 +02:00
Joachim Schoeberl
e84d4e90c8 add header for std::byte 2021-06-25 18:58:25 +02:00
Matthias Hochsteger
34629749d6 Merge remote-tracking branch 'origin/master' into parallel_meshing 2021-06-25 17:32:16 +02:00
Joachim Schoeberl
72fb819def missing overloads for archive (byte) 2021-06-24 13:21:43 +02:00
Joachim Schoeberl
971d6bb465 little tuning of mesh pickling 2021-06-24 07:39:09 +02:00
Matthias Hochsteger
8be5b7d810 Merge remote-tracking branch 'origin/master' into parallel_meshing 2021-06-22 11:46:36 +02:00
Matthias Hochsteger
4b40a7eb31 backward-compatible Timer interface 2021-06-14 14:55:08 +02:00
Matthias Hochsteger
c835767115 Timer in ProcessTask() 2021-06-14 10:39:57 +02:00
Matthias Hochsteger
1de1a1800e Fix template argument deduction for Timer, remove ThreadRegionTimer 2021-06-11 15:19:30 +02:00
Matthias Hochsteger
6f7543c7dc Timer - convenience constructors to disable tracing and/or timing
Examples:
Timer t0("name");
Timer t1("name", NoTracing);
Timer t2("name", NoTiming);
Timer t3("name", NoTracing, NoTiming);
Timer t4("name", NoTiming, NoTracing);
2021-06-11 10:08:06 +02:00
Matthias Hochsteger
c5639a5706 Thread-safe Timer
- use template arguments instead of run-time variable 'priority'
 - change in paje interface for tracing
2021-06-11 09:52:58 +02:00
Matthias Hochsteger
a11294baf0 inline GetThreadI() (except on Windows, no dllexport for thread_local variables supported) 2021-06-11 09:51:23 +02:00
Matthias Hochsteger
a96a1e4624 separate memtracer.hpp 2021-06-10 09:38:00 +02:00
Joachim Schoeberl
abb2e43ccb optimize parallel load 2021-06-08 19:08:14 +02:00
Matthias Hochsteger
3ce5b1958e Initialize FlatArray members ( thx @mrambausek ) 2021-06-02 15:45:36 +02:00
Joachim Schoeberl
6dcc89ad04 some table py-features 2021-06-01 12:57:58 +02:00
Joachim Schoeberl
7c4f1cf53a minimal export of Table 2021-05-30 22:15:21 +02:00
Joachim Schoeberl
c3984fcc5b just use pointer for Array - iterators (on proposal of Matthias R) 2021-05-30 18:58:34 +02:00
Joachim Schoeberl
3258b27410 fix initialization order warning 2021-05-30 18:57:14 +02:00
Matthias Hochsteger
db494f4239 more Timers in Mesh 2021-05-12 10:56:21 +02:00
Matthias Hochsteger
4b53c63fba helper functions for table creation 2021-05-10 12:03:20 +02:00
Matthias Hochsteger
acf2b39680 Fix cross-platform archiving
This is a non-backward compatible change for archives on Windows!
2021-04-23 20:06:58 +02:00
Joachim Schoeberl
2d9e32ba70 ArrayMem from BaseArray ctor 2021-04-09 21:30:29 +02:00
Christopher Lackner
daa0985a41 trace memory free only when array owns memory 2021-04-07 09:58:53 +02:00
Christopher Lackner
4fad6e0631 fix pickling on arm, store long type platform independent 2021-04-01 10:48:13 +02:00
Joachim Schoeberl
1f45601387 Array<int> ia(n); ia.Range(2, END-1) 2021-03-29 22:39:57 +02:00
Christopher Lackner
001eaa32b6 DoArchive for LocalH 2021-03-29 13:55:23 +02:00
Stefan Brüns
85e8c09ff6 Fix GetTimeCounter for Aarch64 variants
Neither GCC nor Clang define an __arm64__ preprocessor macro, but use
__aarch64__ (MSVC uses _MARM_64). Add a "64" suffix to the define, i.e.
NETGEN_ARCH_ARM64 to make it more obvious in only refers to aarch64, and
to be in line with NETGEN_ARCH_AMD64.

Replace the (Clang specific) __builtin_readcyclecounter with inline
asm:
- The function return cycles (i.e. varies with CPU frequency), not time
- It may return 0, depending on the PMU settings
- It may cause an illegal instruction, in case it is not trapped by the
  kernel, e.g. on FreeBSD.

Reading the generic timer/counter CNTVCT_EL0 instead of PMCCNTR_EL0 avoids
these pitfalls. The inline asm works on GCC and Clang, instead of
Clang only for the builtin.
2021-03-03 17:30:33 +01:00
Joachim Schoeberl
979a695f62 fixing warnings 2021-02-18 10:30:01 +01:00
Joachim Schoeberl
87e472b6fc start face-hierarchy in Netgen 2021-02-17 14:54:14 +01:00
Christopher Lackner
0c2430f3dc add std::any symboltable to Flags to store arbitrary objects 2021-02-08 15:44:15 +01:00
Joachim Schoeberl
25011c8407 arm-simd: HSum, tuple support 2021-02-05 11:59:03 +01:00
Joachim Schöberl
9a9828d3af some more arm-simds 2021-01-31 16:31:47 +01:00
Joachim Schöberl
18f5a933a9 arm-simd working 2021-01-30 21:02:49 +01:00
Joachim Schöberl
f53c069308 prepare SIMD for arm64 2021-01-30 20:05:28 +01:00
Joachim Schöberl
ea7f6c1e94 fnma intrinsic for avx512 2020-12-22 13:06:08 +01:00
Joachim Schöberl
c1c10174be FNMA asm-instruction 2020-12-22 09:37:21 +01:00
Matthias Hochsteger
94ecf8de92 Fix private linking of Python
The CMake export of Interface libraries also exports PRIVATE build
settings, which leads to build errors with non-existing include paths and .lib files for binary distributions.

Use the work-around mentioned here to circumvent this behavior:
https://gitlab.kitware.com/cmake/cmake/-/issues/15415#note_849405
2020-12-18 11:05:10 +01:00
Joachim Schöberl
d30accdc1a Merge branch 'apple_silicon' into 'master'
Support for Apple M1

See merge request jschoeberl/netgen!359
2020-12-16 20:47:21 +00:00
Matthias Hochsteger
eb6ac164e7 int64_t for masks 2020-12-16 21:00:12 +01:00
Matthias Hochsteger
d97a9a6594 Alignment for generic SIMD classes 2020-12-16 17:20:18 +01:00
Matthias Hochsteger
e68d8cea9b workaround for missing intrinsic on GCC 7 2020-12-16 10:58:01 +01:00
Matthias Hochsteger
9c0dbec8c9 Fix SIMD<mask64> ctor and Unpack 2020-12-15 15:31:17 +01:00
Matthias Hochsteger
dbe894fea3 Support for Apple M1 2020-12-15 10:43:11 +01:00
Matthias Hochsteger
1b55c51da5 remove AlignedAlloc, use alignas 2020-12-15 09:40:43 +01:00
Matthias Hochsteger
1f3aebcec0 Fix AVX-Operators for int64_t simd (use generic ones) 2020-12-15 09:40:43 +01:00