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