Commit Graph

524 Commits

Author SHA1 Message Date
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
mhochsteger
f213a7a5b1 fix fabs for AVX on Windows 2020-12-14 15:50:27 +01:00
Matthias Hochsteger
248145bbf0 fix wrong simd operators 2020-12-14 12:47:53 +01:00
Matthias Hochsteger
fc44eb95df simd - array and variadic ctor 2020-12-11 23:12:34 +01:00
Matthias Hochsteger
2d667a08dc move (refactored) SIMD headers from ngsolve into ngcore 2020-12-11 20:54:41 +01:00
Christopher Lackner
cb0d8295bf fix hashing of bitarray (uninitialized value in HashArchive & random
values at end)
2020-11-25 22:07:07 +01:00
Matthias Hochsteger
91f127ef71 memory tracer - fix memory accumulation of children 2020-11-25 14:34:29 +01:00
Matthias Hochsteger
b55264e0ee memory tracing - handle multiple consecutive tracers correctly 2020-11-24 19:20:21 +01:00
Matthias Hochsteger
efdc57885a memory tracing - store parents array instead of children table 2020-11-24 17:12:39 +01:00
Christopher Lackner
922ad16213 if more memory is deallocated than allocated set memtracer to 0 not
negative values
2020-11-21 22:32:41 +01:00
Christopher Lackner
a69cdc9000 mem tracing compile time option, simplify by MemoryTracer as member 2020-11-21 15:49:07 +01:00
Matthias Hochsteger
87623981a6 export PajeTrace.WriteMemoryChart() to python 2020-11-19 19:29:04 +01:00
Matthias Hochsteger
f0152baacf mem tracing - TraceMemorySwap helper function 2020-11-19 17:35:29 +01:00
Matthias Hochsteger
6f98123e98 mem tracing - use topological sorting, some fixes 2020-11-19 16:16:39 +01:00
Matthias Hochsteger
a17066a387 html chart for peak memory consumption, some Array tracing fixes 2020-11-19 14:57:45 +01:00
Matthias Hochsteger
f143995f27 clean up memory tracing 2020-11-18 21:45:00 +01:00
Matthias Hochsteger
1a93fb3fa5 first attempt on memory tracing 2020-11-18 20:20:35 +01:00
Joachim Schöberl
cddfb4a0b5 fixing delaunay2d point search, non-parallel for small meshes 2020-10-26 11:20:12 +01:00
Joachim Schöberl
bfbef51996 remove bitarray in delaunay2d, just one hashtable position 2020-10-23 19:40:47 +02:00
Matthias Hochsteger
832485e41a pybind11 compatibility 2020-10-22 12:11:19 +02:00
Matthias Hochsteger
b3d757ccd1 update pybind11 to 2.6.0rc3 2020-10-17 17:58:38 +02:00
Matthias Hochsteger
6544fbeca6 sunburst chart - tooltip formatting 2020-10-14 11:52:34 +02:00
Matthias Hochsteger
14e6a1d24b more statistics in sunburst chart 2020-10-14 11:52:26 +02:00
Matthias Hochsteger
25efdadd05 helper macro for Timer/RegionTimer definition 2020-10-13 11:11:33 +02:00
Joachim Schöberl
b5a9580a8e BitArray::Data 2020-10-08 21:27:16 +02:00
Matthias Hochsteger
2629208f38 pajetrace - fix Timer names in MPI-trace 2020-10-08 12:20:46 +02:00
Matthias Hochsteger
7a1344bfcb cmake variable NG_COMPILE_FLAGS to set additional compile options 2020-10-01 13:35:53 +02:00
Christopher Lackner
1666155d25 add range adaptors (filter, transform) 2020-09-19 17:39:03 +02:00
Joachim Schöberl
283db5c637 trange bracket with size_t for T_Range 2020-09-19 09:43:00 +02:00
Joachim Schöberl
8b5675a8e2 check if mpi is initialized 2020-09-15 23:16:04 +02:00
Christopher Lackner
c7af26771e fix bug in BitArray== 2020-09-11 16:54:25 +02:00
Joachim Schöberl
65761e7768 check copy_assignable also in copy-constructor 2020-09-09 07:03:12 +02:00
Joachim Schöberl
98697959dd check for copy_assignable 2020-09-09 06:31:03 +02:00
Joachim Schöberl
b2b8a15611 Array copy only if type is assignable 2020-09-08 23:00:03 +02:00
Joachim Schöberl
a45cbd6f84 parallel pickling per default on 2020-09-04 14:47:56 +02:00
Christopher Lackner
a8062a6f36 fix missing initial value for offset in HashArchive 2020-09-01 11:59:37 +02:00
Christopher Lackner
deab89adf8 add missing NGCORE_API and HashArchive & with const value 2020-08-29 16:19:45 +02:00
Christopher Lackner
55971b3dde HashArchive 2020-08-29 15:38:03 +02:00
Christopher Lackner
f45fbfd811 operator== and better archive for BitArray 2020-08-29 15:37:48 +02:00
Joachim Schöberl
020dd4373d DynamicTable: char-alloc if not trivially constructable 2020-08-29 12:36:45 +02:00
Joachim Schöberl
8840c519d3 Min/Max of FlatArray, DynamicTable::ChangeSize 2020-08-29 11:04:47 +02:00
Joachim Schöberl
73846f23ae remove BaseDynamicTable, everything in template class 2020-08-29 09:58:33 +02:00
Joachim Schöberl
f8dd4be8d6 modernize ParallelTopology 2020-08-29 09:36:46 +02:00
Joachim Schöberl
9968037361 move semantics to table, PNums to LineSegments 2020-08-28 08:47:33 +02:00
Joachim Schöberl
5863136285 MaybeTrue/False for xbool 2020-08-23 18:47:49 +02:00
Matthias Hochsteger
334faad054 pybind11 - automatic conversion of python list to Array<> 2020-08-20 18:25:06 +02:00
Joachim Schöberl
5e09626466 parallel pickling with mesh-merging 2020-08-19 14:50:11 +02:00
Joachim Schöberl
9e105c48ea mpi-wrapper 2020-08-17 20:28:00 +02:00
Joachim Schöberl
33626c6669 clear solutiondata object on python-exit 2020-08-17 15:55:32 +02:00
Matthias Hochsteger
72447a51d5 Fix paje trace with MPI and TaskManager 2020-08-10 12:20:17 +02:00
Matthias Hochsteger
87c2901e32 Disable paje trace thread counter by default (halves trace file size) 2020-08-07 15:44:21 +02:00
Matthias Hochsteger
b272614a51 export PajeTrace to Python (with context manager api) 2020-08-07 15:43:52 +02:00
Matthias Hochsteger
f9ff1db7c3 let MPI rank 1 write paje trace file (more timers than rank0) 2020-08-07 15:34:21 +02:00
Matthias Hochsteger
acfe9bb606 Merge traces with MPI 2020-08-07 12:59:22 +02:00
Joachim Schöberl
2e39d07cc8 mpi constants for non-mpi 2020-08-05 18:05:31 +02:00
Joachim Schöberl
3c8f1877c9 more mpi calls from ngcore 2020-08-05 01:11:26 +02:00
Joachim Schöberl
254257d406 timer in MPI wrappes 2020-08-04 16:30:08 +02:00
Matthias Hochsteger
4682e6915c remove FlatArray for C-Array, use ArrayMem 2020-08-04 12:59:03 +02:00
Joachim Schöberl
698192ed72 FlatArray for C-array 2020-08-03 14:45:32 +02:00
Joachim Schöberl
94bed40761 modernize parallelmesh (Array, mpi_wrapper) 2020-08-03 00:44:28 +02:00
Joachim Schöberl
c0909d69c2 no valid MPI-comm in sequential mode 2020-08-02 11:33:11 +02:00
Joachim Schöberl
ba84439227 NgMPI_Communicator by reference, check for valid mpi-comm 2020-08-02 09:25:44 +02:00
Joachim Schöberl
c074e0c752 reduce duplicated mpi-wrapping 2020-07-31 09:57:19 +02:00
Matthias Hochsteger
f73159e35a Set version of Netgen globally (for archives), interface to get version 2020-07-23 20:12:47 +02:00
Matthias Hochsteger
dcc0484be0 install netgen_version.hpp, set version in Archive 2020-07-23 16:25:06 +02:00
Joachim Schöberl
ba5e741ad3 adding pybind11/stl to ngcore (needed for BitArray ctor) 2020-07-22 10:15:48 +02:00
Matthias Hochsteger
e17aa88cad set signal handlers only if NG_BACKTRACE is set 2020-07-15 16:21:51 +02:00
Joachim Schöberl
3b5c346e63 proper terms 2020-06-17 19:11:17 +02:00
Joachim Schöberl
897cf6f848 output of xbool 2020-05-22 08:16:05 +02:00
Matthias Hochsteger
267e8b33fb cmake - use git to generate version string 2020-05-18 15:55:40 +02:00
Christopher Lackner
9ffb22c37f fix archive of bitarray 2020-05-07 10:52:09 +02:00
Christopher Lackner
45a4b2c913 pickle bitarrays 2020-05-07 10:03:00 +02:00
Christopher Lackner
9af476c353 template shouldn't have NGCORE_API 2020-04-20 10:26:17 +02:00
Christopher Lackner
27baa178d2 fix new clang warning and add helper function 2020-04-20 10:13:04 +02:00
Christopher Lackner
b46ec8dc7b fix printing of 1 based arrays 2020-04-18 13:40:19 +02:00
Christopher Lackner
d74061dd23 python str method for arrays 2020-04-06 12:43:42 +02:00
Matthias Hochsteger
a52ccd7ce5 Fix build with USE_NUMA=ON 2020-03-25 10:40:12 +01:00
Joachim Schöberl
48e4865fee copy BitArray 2020-03-11 21:34:27 +01:00
Matthias Hochsteger
ce90bd9e83 [cmake] Simplify compile flag handling on Windows
Add options/define flags to ngcore, so they are automatically passed on
to dependencies
2020-01-16 16:38:06 -08:00
Matthias Hochsteger
72226e8673 Fix non-Python builds 2019-12-13 11:20:52 +01:00
Joachim Schöberl
a103896079 printing flags 2019-12-09 16:20:42 +01:00
Matthias Hochsteger
7f4b96fe11 Fix ctor with LocalHeap in ClosedHashTable
Set mask, round up size to next power of 2
2019-12-02 17:05:50 +01:00
Joachim Schöberl
4658e34f05 Revert "api"
This reverts commit 3207ab1d99
2019-11-29 15:26:20 +00:00
Joachim Schöberl
3207ab1d99 api 2019-11-29 15:02:37 +01:00
Matthias Hochsteger
9495d1feae Ignore warning C4910 on Windows
warning C4910: '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation
2019-11-28 15:49:57 +01:00
Matthias Hochsteger
f3d9d3ad67 [cmake] Don't link python libraries in unix-conda environment
Conda links python libs statically to python executable
2019-11-26 19:26:18 +00:00
Christopher Lackner
de1932227b exception constructor outside of ifdef GNUC 2019-11-25 16:45:12 +01:00
Joachim Schöberl
648794b0bb Exception ctor in cpp to reduce codesize 2019-11-25 07:46:35 +01:00
Christopher Lackner
e84e4f155c fix parsing numlist flag if objects are integers 2019-11-21 17:46:39 +01:00
Matthias Hochsteger
8940bf7c2c Only collect backtrace if NG_BACKTRACE is set 2019-11-20 14:30:23 +01:00
Matthias Hochsteger
90fc783e55 Fix visibility warning 2019-11-13 16:07:36 +01:00
Matthias Hochsteger
262c656bcb Fix overflow in backtrace 2019-10-31 18:40:46 +01:00
Matthias Hochsteger
94d0a5a585 [cmake] Set interface include dir for ngcore 2019-10-30 13:56:49 +01:00
Matthias Hochsteger
2a68748117 Add missing delete operators on MacOS 2019-10-28 13:57:21 +01:00
Joachim Schöberl
d0864b9901 Apple-clang seems to support now the standard thread_local variables 2019-10-28 12:18:23 +01:00
Bernd Schwarzenbacher
6d34f01d95 Add a HashValue<INT<3>> for ParallelHashTable 2019-10-21 00:12:29 +02:00
Matthias Hochsteger
c2e658274a Avoid recursive call of signal handler 2019-10-14 18:01:11 +02:00
Matthias Hochsteger
c9e764a32f Catch exceptions in Demangle() 2019-10-14 10:56:27 +02:00
Matthias Hochsteger
9f0edf1741 Use new timers 2019-10-10 15:34:41 +02:00
Christopher Lackner
b3fb12e962 reduce message and log level in python 2019-10-08 16:51:32 +02:00
Matthias Hochsteger
7e3b292bb8 Print inlined functions in stack trace 2019-10-02 15:38:17 +02:00
Matthias Hochsteger
9f7b56fd1f Register signal handlers to print stack trace 2019-10-01 16:30:41 +02:00
Matthias Hochsteger
b7c8f76765 Print stack trace on RangeException 2019-10-01 15:30:33 +02:00
Matthias Hochsteger
e99db57b03 Use rdtsc in Timers 2019-10-01 13:18:24 +02:00
Joachim Schöberl
eeb63f659f Table with IndexType 2019-09-29 17:44:08 +02:00
Matthias Hochsteger
6a7030b81a Activate multithreading when meshing from GUI
- Meshing options for parallelization and number of threads
 - RegionTaskManager() to locally start the TaskManager
2019-09-27 11:54:33 +02:00
Christopher Lackner
c359832767 fix pyname for non default constructible classes 2019-09-11 15:17:09 +02:00
Christopher Lackner
485d9f230b platform independent and readable names for array export suffix 2019-09-11 13:04:50 +02:00
Christopher Lackner
59087f5c2c make array name platform independent 2019-09-11 08:27:04 +02:00
Christopher Lackner
5288af641c array numpy buffer protocol 2019-09-10 23:01:05 +02:00
Matthias Hochsteger
66c4c3bf59 use global logging level without spdlog 2019-09-09 17:05:23 +02:00
Matthias Hochsteger
6c69df9fe6 Export TaskManager 2019-09-09 17:05:23 +02:00
Joachim Schöberl
5ffab34d13 fix rangecheck 2019-09-07 10:31:12 +02:00
Joachim Schöberl
be40a4d3f1 array setitem functionality 2019-09-06 17:17:11 +02:00
Joachim Schöberl
3e6f4b9472 use pointindex 2019-09-04 13:46:40 +02:00
Joachim Schöberl
71e8c6854c fix table creator 2019-08-30 08:28:08 +02:00
Matthias Hochsteger
6c06f79c8e Fix build error on Windows (wrong usage of Range()) 2019-08-29 19:22:12 -07:00
Matthias Hochsteger
78693fb196 Add Table and HashTable from NGSolve 2019-08-29 16:13:18 +02:00
Christopher Lackner
331c0b9486 fix AOWrapperIterator operator++ 2019-08-29 15:06:05 +02:00
Joachim Schöberl
fcea398d7c Merge branch 'subcomm' into 'master'
sub-communicators as methods of NgMPI_Comm, using ngcore-arrays

See merge request jschoeberl/netgen!215
2019-08-29 09:32:35 +00:00
Joachim Schöberl
7f8dd74a03 Merge branch 'bitarray_ngcore' into 'master'
Bitarray from NGSolve to ngcore

See merge request jschoeberl/netgen!223
2019-08-28 18:57:11 +00:00
Matthias Hochsteger
b27f7f3bb6 Add BitArray from NGSolve
Deprecate method BitArray::Set(), instead use either SetBit() or
SetBitAtomic()
2019-08-28 16:40:21 +02:00
Lukas
36a7c507b8 check in forgotten lines 2019-08-28 14:59:32 +02:00
Lukas
8444889cf3 add forgotten isend 2019-08-28 14:09:51 +02:00
Matthias Hochsteger
8acc8c9cb0 User /bigobj flag on Windows builds 2019-08-28 09:41:42 -07:00
Lukas
3f59727e15 Merge remote-tracking branch 'origin/master' into subcomm 2019-08-28 13:18:11 +02:00
Lukas
476a1e39b6 remove some whitespace 2019-08-27 16:52:54 +02:00
Lukas
a37c84e601 fix typo 2019-08-27 14:10:55 +02:00
Lukas
bca0f6a2ea Merge remote-tracking branch 'origin/master' into subcomm 2019-08-27 13:32:25 +02:00
Lukas
8d05fe0cec Merge remote-tracking branch 'origin/master' into array_sendrecv_to_netgen 2019-08-27 13:32:04 +02:00
Lukas
608381d774 include array header 2019-08-27 11:16:55 +02:00
Lukas
464f4223e7 fix typo 2019-08-27 11:14:02 +02:00
Joachim Schöberl
a9de67dd9b Merge branch 'array_pos' into 'master'
get data-ptr from arrays

See merge request jschoeberl/netgen!211
2019-08-26 12:13:44 +00:00
Lukas
c18b6cbbe1 sub-communicators as methods of NgMPI_Comm, using ngcore-arrays 2019-08-26 13:13:53 +02:00
Lukas
cb2c5d6323 move array-send and recv to ngcore 2019-08-26 13:02:13 +02:00
Lukas
209acb6af0 get data-ptr from arrays 2019-08-26 12:51:33 +02:00
Christopher Lackner
08f9c773b1 we need to implement both sized deallocation functions for older mac
os targets
2019-08-23 11:26:14 +00:00
Joachim Schöberl
0c31102638 Merge branch 'range_respect_indextype' into 'master'
Range(obj) does respect index type now. If obj has a function Range it

See merge request jschoeberl/netgen!207
2019-08-21 11:22:03 +00:00
Christopher Lackner
d61e9d10cd array returns index of appended element on Append, some documentation 2019-08-21 11:56:26 +02:00
Christopher Lackner
ceabe013be code style changes to signals 2019-08-21 11:31:25 +02:00
Christopher Lackner
b12ef20fb7 index type can only be deduced from class, else it is size_t 2019-08-21 11:24:37 +02:00
Christopher Lackner
22de6f2c56 fix typos 2019-08-21 11:06:00 +02:00
Christopher Lackner
3869392f0a workaround for windows in index_type typetrait 2019-08-21 11:03:27 +02:00
Christopher Lackner
2fe62c846e workaround for some compilers evaluating the declval in has_Range 2019-08-21 09:44:31 +02:00
Christopher Lackner
6c71982951 Range(obj) does respect index type now. If obj has a function Range it
calls the function
2019-08-20 18:16:03 +02:00
Joachim Schöberl
7f6f846eb1 surfelement - indextype 2019-08-18 13:10:58 +02:00
Joachim Schöberl
e89550ec9c polishing improve2, IndirectArray iterator + element access 2019-08-18 12:21:10 +02:00
Christopher Lackner
0ba774b908 signals 2019-08-16 12:52:37 +02:00
Matthias Hochsteger
3ce00d1a0c Remove AlignedAlloc
Instead, use a global new (size_t, align_t) operator for MacOS versions
(pre 10.14 is lacking full C++17 support in the standard library).

On all other platforms/versions we expect full C++17 support.
2019-08-14 13:09:57 +02:00
Matthias Hochsteger
f570f31de9 Export ngcore Arrays 2019-08-12 17:47:50 +02:00
Matthias Hochsteger
3f4cc7a07d Use correct range type in FlatArray 2019-08-12 17:47:50 +02:00
Joachim Schöberl
d215ac1025 T_POINTS are now ngcore::Array 2019-08-10 00:21:37 +02:00
Joachim Schöberl
9118ddc63a preparations to switch T_POINTS to ngcore::Array 2019-08-09 15:30:58 +02:00
Matthias Hochsteger
a99ea4ae85 ComputeColoring function 2019-08-08 14:08:17 +02:00
Matthias Hochsteger
5b913ca7e6 Atomic utility functions 2019-08-08 14:08:09 +02:00
Joachim Schöberl
1698a71754 fix warnings 2019-08-07 18:31:10 +02:00
Christopher Lackner
9e63ba0943 parse additional kwargs internally as flags to avoid bad_any_cast
There seem to be somehow multiple py::kwargs classes created in
different libraries, because of this the any_cast is failing.
To circumvent this we attach them to the MeshingParameters object
as flags.
2019-08-06 17:38:44 +02:00
Christopher Lackner
575e863e4a fix ambiguous namespace 2019-08-06 15:58:15 +02:00
Christopher Lackner
262f1ea12c move python export of flags to ngcore 2019-08-06 15:50:08 +02:00
Christopher Lackner
dc8d96aefa move flags to ngcore 2019-08-06 14:16:13 +02:00
Christopher Lackner
9f32a5c3ad fix range check, add some tests 2019-08-05 12:48:08 +02:00
Christopher Lackner
73fe929811 use NETGEN_CHECK_RANGE macro in array 2019-07-30 13:38:42 +02:00
Christopher Lackner
4c69f45241 take strings as const& 2019-07-26 16:15:56 +02:00
Christopher Lackner
091494c6b3 cleanup python export, generate mesh functions not monkeypatched 2019-07-25 23:25:58 +02:00
Matthias Hochsteger
164609d63a Fix range-based for loops in ArrayMem 2019-07-12 09:10:04 +02:00
Matthias Hochsteger
da85de4795 Fix ArrayMem::operator=(ArrayMem&&) (again) 2019-07-12 08:52:50 +02:00
Joachim Schöberl
1653f56efc Merge branch 'no_pybind_everywhere' into 'master'
Get rid of pybind11 include in archive.hpp

See merge request jschoeberl/netgen!175
2019-07-12 06:48:15 +00:00
Matthias Hochsteger
372b0a3089 Fix ArrayMem & operator= (ArrayMem && a2) 2019-07-11 17:58:23 +02:00
Matthias Hochsteger
d89b328979 Get rid of pybind11 include in archive.hpp
Forward-declare pybind11::object and move implementation of
Archive::Shallow() to new header python_ngcore.hpp

All files using the Shallow/Python archive functionality must include
core/python_ngcore.hpp. Missing includes result in link errors, due to
missing instantiations of Archive::Shallow<T>();
2019-07-11 17:09:59 +02:00
Matthias Hochsteger
ea9fab8c77 Remove limit of max 100 PointGeomInfos, add move assignment to ArrayMem 2019-07-11 13:21:47 +00:00
Matthias Hochsteger
8bdeb129b4 Make ProcessTask() a static method of TaskManager 2019-07-11 13:29:00 +02:00
Matthias Hochsteger
133bd82aa9 Fix linkage of pthread 2019-07-10 16:04:03 +02:00
Matthias Hochsteger
b26286d9cd Fix thread_id linkage 2019-07-10 15:21:04 +02:00
Matthias Hochsteger
5fb91f26ed User AlignedAlloc for over-aligned types
MacOS < 10.13 doesn't support new with alignment>16 bytes
2019-07-10 13:36:31 +02:00
Matthias Hochsteger
b848bdc237 Fix MPI build 2019-07-10 12:33:01 +02:00
Matthias Hochsteger
05aafdc3b6 Add LocalHeap, some NGCORE_API 2019-07-10 10:47:08 +02:00
Matthias Hochsteger
e1d4cc0410 Add Array, TaskManager and concurrentqueue from NGSolve
Array and TaskManager was mainly developed by Joachim Schöberl.
For complete version history, check NGSolve:
https://github.com/NGSolve/ngsolve

The concurrentqueue is from
https://github.com/cameron314/concurrentqueue
revision dea078cf5b6e742cd67a0d725e36f872feca4de4
2019-07-09 12:28:21 +02:00
Matthias Hochsteger
4aadd29dfc [cmake] Fix libraries privately 2019-06-30 00:54:31 +02:00
Christopher Lackner
0a08450bfa move testout to ngcore 2019-05-28 13:51:53 +02:00
Matthias Hochsteger
0525b8b61f Fix/disable some core guidelines warnings 2019-04-24 23:08:17 +02:00
Matthias Hochsteger
81a06181b4 Fix time unit in Paje tracer (ms) 2019-04-24 18:36:48 +02:00
Matthias Hochsteger
cb461bebf0 Paje trace fixes, sunburst charts
Create a .html file visualizing the cumultated run times of
timers and taskmanager jobs
2019-04-18 15:15:30 +02:00
Matthias Hochsteger
b85fe2898e Link Python privately
- Avoid dead paths if Python is installed to different dir on target
machine (etc. with binary installers)
2019-03-26 11:49:01 +01:00
Lukas
335bb4d424 add missing const 2019-03-04 14:31:03 +01:00
Matthias Hochsteger
848f1c3d6f Use enable_if_t 2019-02-14 14:08:17 +01:00
Joachim Schöberl
b21dd4d978 check for valid communicator 2019-02-13 12:28:33 +01:00
Joachim Schöberl
402731ea7d more in core::mpi_wrapper 2019-02-13 00:11:35 +01:00
Joachim Schöberl
939a64869b get rid of ng_comm 2019-02-12 22:25:22 +01:00
Joachim Schöberl
b66307f710 get rid of ng_comm 2019-02-12 22:21:44 +01:00
Joachim Schöberl
656301b2b2 get rid of ng_comm 2019-02-12 22:16:53 +01:00
Joachim Schöberl
734e96c87c get rid of ng_comm 2019-02-12 22:11:55 +01:00
Matthias Hochsteger
b13a69a39d Fix NgMPI_Comm assignment operator 2019-02-12 12:41:08 +01:00
Joachim Schöberl
c6d49734fb default ctor for NgMPI_Comm 2019-02-12 08:03:20 +01:00
Joachim Schöberl
ce75b69cd6 copy assignment 2019-02-12 01:21:56 +01:00
Joachim Schöberl
cb635105e9 typo 2019-02-12 01:12:57 +01:00
Joachim Schöberl
13ccb811e7 mpiwrapper 2019-02-11 23:13:12 +01:00
Joachim Schöberl
63d2f4bcd0 mpiwrapper 2019-02-11 22:53:32 +01:00
Joachim Schöberl
9b8f273b14 mpiwrapper 2019-02-11 22:12:29 +01:00
Joachim Schöberl
9ced2f561f mpi_wrapper 2019-02-11 21:37:28 +01:00