Commit Graph

520 Commits

Author SHA1 Message Date
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
Joachim Schöberl
1074593664 mpi_wrapper in core 2019-02-11 21:37:28 +01:00
Matthias Hochsteger
e0e4b10eee Remove unused variable 2019-02-05 15:44:17 +01:00
Christopher Lackner
f287df575b archive enums 2019-01-28 11:02:46 +01:00
Christopher Lackner
476d43f9f7 guideline checks allowed to fail, fix guideline issue 2019-01-25 08:26:18 +01:00
Christopher Lackner
f106404280 implement "needs version" functionality for archiver 2019-01-23 10:19:43 +01:00
Matthias Hochsteger
7b8c33ed49 Fix bug in pajetrace log, disable trace by default 2019-01-17 03:20:18 +01:00
Matthias Hochsteger
5f9ec6cec6 Fix core guidelines issues 2019-01-16 15:10:53 +01:00
Matthias Hochsteger
4ef76fa710 Include spdlog only in logger.cpp 2019-01-16 14:53:26 +01:00
Christopher Lackner
7c6e2ae35e include spdlog/fmt/ostr.h to be able to parse things that implement
operator << ostream
2019-01-15 16:43:39 +01:00
Christopher Lackner
1d37a82185 fix another wrong logger call 2019-01-15 09:49:19 +01:00
Christopher Lackner
45f93138dd fix wrong logger->debug call 2019-01-14 14:00:52 +01:00
Christopher Lackner
0a46569474 logging in archive not compile time based 2019-01-14 13:41:38 +01:00
Matthias Hochsteger
4aa7e76bd1 MPI-Parallel output of profiler 2019-01-14 13:04:27 +01:00
Matthias Hochsteger
a40e70526e Fix build errors 2019-01-11 13:30:47 +01:00
Matthias Hochsteger
0b2011a4a6 Set timer names in paje trace 2019-01-11 13:12:45 +01:00
Matthias Hochsteger
bcb2935dbb Fix build errors 2019-01-11 10:34:07 +01:00
Matthias Hochsteger
4a563f09af Fix build errors on Windows 2019-01-09 14:46:24 +01:00
Christopher Lackner
99c95757a3 [ngcore] ngspickle ngcore_api 2019-01-07 15:17:56 +01:00
Christopher Lackner
19339a923d Merge branch 'tracer' of geras.asc.tuwien.ac.at:jschoeberl/netgen into tracer 2019-01-07 14:17:56 +01:00
Christopher Lackner
e46787dd5d fixes for profiler to work with ngsolve 2019-01-07 14:17:43 +01:00
Matthias Hochsteger
8659e4aa84 Remove double (class and method) NGCORE_API 2019-01-07 13:49:59 +01:00
Matthias Hochsteger
74a4cd7d93 Fix wrong header include on Windows 2019-01-07 13:30:37 +01:00
Matthias Hochsteger
90de81f96e Fix wrong header include on Windows 2019-01-07 13:18:27 +01:00
Matthias Hochsteger
c6a401e066 Remove old profiler.hpp 2019-01-07 11:49:53 +01:00
Matthias Hochsteger
baca4a57a0 Fix link error 2019-01-03 15:57:00 +01:00
Matthias Hochsteger
8ab625c3fa Fix build error 2019-01-03 15:55:51 +01:00
Matthias Hochsteger
930d82ba38 [lint] allow pointer arithmetic 2019-01-03 15:55:42 +01:00
Matthias Hochsteger
3a1cea6cbf [ngcore] Profiler 2019-01-03 15:54:50 +01:00
Matthias Hochsteger
678b4497c2 Paje tracing 2019-01-02 18:38:03 +01:00
Christopher Lackner
f88cc77cfe move SymbolTable to ngcore 2019-01-02 18:21:52 +01:00
Christopher Lackner
a4f4b6c1be fix cmake file for ngcore 2019-01-02 16:32:09 +01:00
Christopher Lackner
5602322e94 add RangeException, NETGEN_CHECK_RANGE macro 2019-01-02 16:30:55 +01:00
Christopher Lackner
c000160f92 exceptions in ngcore 2018-12-28 15:54:04 +01:00
Christopher Lackner
8e53eb46bb fix archive version for pickling 2018-12-28 15:52:51 +01:00
Christopher Lackner
fd3474f5cb logging in ngcore 2018-12-28 13:43:15 +01:00
Christopher Lackner
782aa072bc fix NGSPickle for abstract classes (like CoefficientFunction) 2018-12-21 16:03:44 +01:00
Christopher Lackner
829defd3eb archive now support python exported objects 2018-12-20 17:01:27 +01:00
Christopher Lackner
2458fd6e1c GetVersion implemented in base archive 2018-12-18 11:48:56 +01:00
Matthias Hochsteger
5952884a6a Remove alignment requirement for buffer 2018-12-14 14:40:01 +01:00
Matthias Hochsteger
964c9489eb Reduce alignment requirement of buffer to 16 bytes 2018-12-14 11:59:09 +01:00
Christopher Lackner
d59b30025b consistent header guards 2018-12-13 11:10:12 +01:00
Matthias Hochsteger
c48663d708 Some dll header 2018-12-12 17:45:06 +01:00
Matthias Hochsteger
835b2703f4 Remove version.cpp 2018-12-12 17:18:52 +01:00
Christopher Lackner
5a9e913172 fix downcaster for archive 2018-12-12 16:57:48 +01:00
Christopher Lackner
fe2a5b382d fix auto use 2018-12-12 15:35:19 +01:00
Matthias Hochsteger
c9798fe16a No need to dllexport template classes, fix forward declaration 2018-12-12 05:11:28 -08:00
Matthias Hochsteger
47dd0eeead Fixes 2018-12-12 04:41:18 -08:00
Christopher Lackner
f75563475b remove multiple implemented function, always run guideline check 2018-12-12 13:07:18 +01:00
Christopher Lackner
96e26565f2 guideline checks as test 2018-12-12 11:43:28 +01:00
Christopher Lackner
814d75d1c7 fix includes, fix naming convention 2018-12-12 11:24:11 +01:00
Christopher Lackner
83df85f274 detail namespace, linking ngcore to nglib 2018-12-12 11:05:17 +01:00
Christopher Lackner
60d4ef13ba fix warning as errors outside of ngcore 2018-12-10 16:20:07 +01:00
Christopher Lackner
b28cfcc332 fix casting, fix rest of core guidelines 2018-12-10 14:37:27 +01:00
Matthias Hochsteger
6335398341 fix compile error, some lint 2018-12-10 13:32:03 +01:00
Matthias Hochsteger
b0d15ee29e Fix casts 2018-12-10 11:53:10 +01:00
Christopher Lackner
0ef2d0f7f9 fixes for core guidelines checks 2018-12-10 11:49:38 +01:00
Matthias Hochsteger
0093dab1be Use C++ casts 2018-12-10 11:30:45 +01:00
Matthias Hochsteger
9916527097 Fix warning 2018-12-10 11:10:31 +01:00
Matthias Hochsteger
6a2361700f Fix typo 2018-12-10 10:59:46 +01:00
Christopher Lackner
6f808cb40f clang-tidy warnings as errors 2018-12-10 10:52:00 +01:00
Christopher Lackner
17aba88117 [ngcore] follow cpp guidelines, check them with clang-tidy 2018-12-08 16:10:29 +01:00
Matthias Hochsteger
0dc04b661c [ngcore] DLL exports 2018-12-07 13:08:00 +01:00
Christopher Lackner
69769fc628 mayor and minor are macros defined in GNU_SOURCE... 2018-12-07 11:45:39 +01:00
Christopher Lackner
32bc3f826e once only header for hpp files 2018-12-07 11:41:56 +01:00
Christopher Lackner
b064b9bbfd dll header 2018-12-07 11:39:00 +01:00
Christopher Lackner
3bb82dd2df DoArchive for array only if T is archivable, little cleanup 2018-12-07 11:20:47 +01:00
Christopher Lackner
fdfb596e9c archive for CSGeometry 2018-12-06 17:53:44 +01:00
Christopher Lackner
292dbcf5a0 version checks for archive, fix archive of empty string 2018-12-05 14:20:24 +01:00
Christopher Lackner
a1847ec05f store demangled type names for cross platform archive 2018-12-04 11:13:12 +01:00
Christopher Lackner
e845a203e9 archive for pointer to abstract base classes 2018-12-03 19:07:15 +01:00
Matthias Hochsteger
2ec3bb0df1 C++ 14 for Archiver 2018-12-03 18:07:52 +01:00
Christopher Lackner
b2a2c64845 fix for classes that have DoArchive but no inheritance. Some comments 2018-12-03 17:18:12 +01:00
Christopher Lackner
8e29d38fc1 archive works for pointers and shared_ptrs (even with
mult. inheritance and virtual base classes)
2018-12-03 16:28:04 +01:00
Christopher Lackner
7bfc48e8f3 start ngcore, archive in there 2018-11-29 18:35:30 +01:00