Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Storage and integration performance improvements #29

Merged
merged 270 commits into from
Apr 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
270 commits
Select commit Hold shift + click to select a range
fff957f
explicit lower-dim iterator
philippwindischhofer Mar 22, 2024
ce74deb
some name changes
philippwindischhofer Mar 22, 2024
a5f25bd
start with zerosup compression
philippwindischhofer Mar 22, 2024
2b1a12e
utils for zero element detection and iteration
philippwindischhofer Mar 24, 2024
c50df0a
simple null suppression for compressing DenseNDVecArrays
philippwindischhofer Mar 24, 2024
60b623c
preparations
philippwindischhofer Mar 24, 2024
2f93db1
change signatures
philippwindischhofer Mar 24, 2024
b814d95
templates to avoid vtables when try to serialize derived types
philippwindischhofer Mar 24, 2024
b37e728
more general compression
philippwindischhofer Mar 25, 2024
05da39d
onwards
philippwindischhofer Mar 25, 2024
3edc6d6
prepare next steps
philippwindischhofer Mar 25, 2024
77b8dc0
refactor DenseNDVecArray -> NDVecArray
philippwindischhofer Mar 25, 2024
0796966
progress towards array disk streamer
philippwindischhofer Mar 25, 2024
47a17ae
metadata and metadata serialization
philippwindischhofer Mar 25, 2024
a730188
dense serialization
philippwindischhofer Mar 25, 2024
be298d6
some bug in NDVecArray views
philippwindischhofer Mar 26, 2024
1e6a9df
working dense streaming
philippwindischhofer Mar 26, 2024
23c55ac
add per-chunk checking of serialization type
philippwindischhofer Mar 26, 2024
afaeb18
zero-suppressed (de)serialization integrated
philippwindischhofer Mar 26, 2024
dc3189c
add array type as template parameter to easily swap in zero-aware typ…
philippwindischhofer Mar 26, 2024
52c491d
simplify VectorView
philippwindischhofer Mar 26, 2024
458d6a5
refactor zero -> null
philippwindischhofer Mar 26, 2024
399b168
annotations for the future
philippwindischhofer Mar 26, 2024
5e61e62
add some sanity checks to array streamer
philippwindischhofer Mar 26, 2024
ee285fe
sketch out future distributed-array metadata
philippwindischhofer Mar 26, 2024
e93440d
can mark on-disk arrays as final if they must not be modified
philippwindischhofer Mar 26, 2024
f8cb1a1
appending works; to be tested
philippwindischhofer Mar 26, 2024
af15b25
some progress, still some memory bug
philippwindischhofer Mar 26, 2024
ea09df7
still problems when writing views
philippwindischhofer Mar 26, 2024
0c605c5
fix striding bug
philippwindischhofer Mar 26, 2024
3f052ce
make loop_over_ constructs more general
philippwindischhofer Mar 26, 2024
e8cb305
loop_over -> index_loop_over in preparation of value_loop_over
philippwindischhofer Mar 26, 2024
2df5f77
change iteration order so that iteration over rightmost (= innermost)…
philippwindischhofer Mar 26, 2024
e22b318
add TODO
philippwindischhofer Mar 26, 2024
d5ddf85
add write speed measurement
philippwindischhofer Mar 26, 2024
f3554d7
more comments
philippwindischhofer Mar 26, 2024
dcc2c81
refine todo
philippwindischhofer Mar 26, 2024
5908c0c
refactor ChunkMetadata -> ChunkMetadataOld
philippwindischhofer Mar 27, 2024
79b4ccc
replace reserve with resize
philippwindischhofer Mar 27, 2024
6fd79a8
add annotation for later
philippwindischhofer Mar 27, 2024
1af0521
refactor ChunkType -> ChunkTypeOld
philippwindischhofer Mar 27, 2024
b5ab46d
outline API of chunk caching
philippwindischhofer Mar 27, 2024
2565264
move back to dense for tests
philippwindischhofer Mar 27, 2024
ce14a87
small changes
philippwindischhofer Mar 27, 2024
d19e1c3
some more annotations
philippwindischhofer Mar 28, 2024
60a1655
doubly-linked list as fast cache
philippwindischhofer Mar 28, 2024
2fb5cbd
small tuning
philippwindischhofer Mar 28, 2024
23efe08
remove printout to make CI happy
philippwindischhofer Mar 28, 2024
3a34c57
use custom allocator that does not perform any initialization on vect…
philippwindischhofer Mar 28, 2024
7b5c14b
clean up
philippwindischhofer Mar 28, 2024
bb78745
start with overloaded copy-assignment ops for NDVecArray
philippwindischhofer Mar 28, 2024
b4f6b14
single-value copy assignemtn
philippwindischhofer Mar 28, 2024
77b0556
fix very unfortunate variable naming
philippwindischhofer Mar 28, 2024
73933da
split up NDVecArray, add iterator over array elements
philippwindischhofer Mar 28, 2024
ac1fb85
use array-based iteration in some places in the serializer
philippwindischhofer Mar 28, 2024
847ef7a
use private struct for CacheEntry
philippwindischhofer Mar 28, 2024
e1b1540
move some more method implementations into hxx for NDVecArray
philippwindischhofer Mar 28, 2024
3c1b550
second copy assignment operator for NDVecArray
philippwindischhofer Mar 28, 2024
8e552ad
copy-assignment operators for Vector
philippwindischhofer Mar 28, 2024
f3779ce
renaming to prevent misunderstandings
philippwindischhofer Mar 28, 2024
2af872a
work towards caching with real paylaods
philippwindischhofer Mar 28, 2024
973f997
constructors for NDVecArray
philippwindischhofer Mar 28, 2024
1758a42
start implementing distributed NDArray
philippwindischhofer Mar 28, 2024
0d09f5c
insert into cache
philippwindischhofer Mar 29, 2024
2f3bc8c
more general cache printing
philippwindischhofer Mar 29, 2024
6d621ca
remove const refs when accessing cache
philippwindischhofer Mar 29, 2024
7a6a64f
on the way to implementing distributed array
philippwindischhofer Mar 29, 2024
10a920b
make concatenation axis a template parameter
philippwindischhofer Mar 29, 2024
9214c14
propagate new template argument
philippwindischhofer Mar 29, 2024
3503e3e
structures for implementation of array appending
philippwindischhofer Mar 29, 2024
d1606b1
continue with caching logic
philippwindischhofer Mar 29, 2024
8347fae
prepare and update tests
philippwindischhofer Mar 29, 2024
ddf6266
rename printer into general iterator
philippwindischhofer Mar 29, 2024
5be7999
first version of array appending
philippwindischhofer Mar 29, 2024
679a957
first complete pass at caching
philippwindischhofer Mar 29, 2024
433c0a9
update tests
philippwindischhofer Mar 29, 2024
0d5c387
add cache flushing
philippwindischhofer Mar 30, 2024
43241b9
fix CI
philippwindischhofer Mar 30, 2024
7fe14fd
start with ChunkIndex
philippwindischhofer Mar 31, 2024
bdc0090
chunk index loading
philippwindischhofer Mar 31, 2024
40c7384
add annotations for future
philippwindischhofer Mar 31, 2024
73f0d95
start with ChunkLibrary
philippwindischhofer Mar 31, 2024
9fd5843
provide uninitialized-array constructor
philippwindischhofer Mar 31, 2024
3c4e397
implementation of remaining ChunkLibrary
philippwindischhofer Mar 31, 2024
fad2bc5
some tests
philippwindischhofer Mar 31, 2024
7ef715d
start testing distributed array
philippwindischhofer Apr 1, 2024
8065b3e
provide << operator for chunk metadata
philippwindischhofer Apr 1, 2024
2360d09
some fixes and streaming operators
philippwindischhofer Apr 1, 2024
6b53a58
fix some first problems
philippwindischhofer Apr 1, 2024
f4e0fa4
towards fully unit-tested distributed array
philippwindischhofer Apr 1, 2024
5c1ea1d
remove debug printouts
philippwindischhofer Apr 1, 2024
b94a02a
more complete test also including concatenation of slices
philippwindischhofer Apr 1, 2024
c8df0a6
add chunk-aware iterator over full distributed array
philippwindischhofer Apr 1, 2024
8ddc24a
move back to large chunks
philippwindischhofer Apr 2, 2024
bf98d48
prepare the next steps
philippwindischhofer Apr 2, 2024
b12bffd
fix indentation
philippwindischhofer Apr 2, 2024
3d2e923
improvements and fixes in copy-assignment and copy-range
philippwindischhofer Apr 2, 2024
875faa3
first implementation of FillArray
philippwindischhofer Apr 2, 2024
c73949c
cleanup and update unit test for distributed array
philippwindischhofer Apr 2, 2024
a6afffd
use non-cubic ranges
philippwindischhofer Apr 2, 2024
2f6d951
go back to larger chunk sizes for more realistic test
philippwindischhofer Apr 2, 2024
6f11cea
implementation of SwapAxis and associated test cases
philippwindischhofer Apr 2, 2024
2126f9f
implementation of import and rechunking
philippwindischhofer Apr 2, 2024
6628b73
go back to larger array for test case
philippwindischhofer Apr 2, 2024
6ac1e2d
better partitioning of chunk rebuilding
philippwindischhofer Apr 2, 2024
088199e
add vector type casting
philippwindischhofer Apr 4, 2024
3dea04d
make iterators more general
philippwindischhofer Apr 4, 2024
d296634
more general array index loop with start and end positions
philippwindischhofer Apr 4, 2024
2035d22
partially-complete implementation of overlapping chunks
philippwindischhofer Apr 4, 2024
110ffb0
add static has_index and bugfix in ranged loop over elements
philippwindischhofer Apr 5, 2024
53f0410
vector utilities
philippwindischhofer Apr 5, 2024
d82928f
almost-complete implementation of rechunking with overlap
philippwindischhofer Apr 5, 2024
e346c5b
corresponding test case
philippwindischhofer Apr 5, 2024
37125a3
use mersenne twister and smaller chunks for speed
philippwindischhofer Apr 5, 2024
ddfea87
start with filling out-of-bounds values
philippwindischhofer Apr 5, 2024
c4c29a3
put iterator utils into their own namespace
philippwindischhofer Apr 5, 2024
4ae89f9
add filling of penetrating boundary elements
philippwindischhofer Apr 5, 2024
fd4da09
adapt test cases
philippwindischhofer Apr 5, 2024
d296c56
update testCompression to use the new namesapce
philippwindischhofer Apr 5, 2024
ae0d1f5
always flush after rebuilding
philippwindischhofer Apr 5, 2024
a9c086b
remove warning: do not use variable-size array
philippwindischhofer Apr 5, 2024
0dd8c24
fix compiler warnings in new code
philippwindischhofer Apr 5, 2024
85eee04
turn on Wall
philippwindischhofer Apr 5, 2024
57d0fd6
need to use relative path
philippwindischhofer Apr 5, 2024
05e263b
remove some more warnings
philippwindischhofer Apr 7, 2024
3ef3ff0
start with structure for interpolation
philippwindischhofer Apr 7, 2024
8779de3
implement kernels
philippwindischhofer Apr 7, 2024
ad4d87d
first interpolation, speed 6e6/sec
philippwindischhofer Apr 8, 2024
ce49249
can swap in different kernels
philippwindischhofer Apr 8, 2024
ca14806
small rearrangements
philippwindischhofer Apr 8, 2024
869045b
add better unit test for interpolation
philippwindischhofer Apr 8, 2024
ff7993a
also test linear kernel
philippwindischhofer Apr 8, 2024
4e4c188
start with implementation of Green's function
philippwindischhofer Apr 8, 2024
7b397d2
some more preparations
philippwindischhofer Apr 9, 2024
57cb9a0
deprecate old Integrator
philippwindischhofer Apr 9, 2024
164702c
deprecate more code
philippwindischhofer Apr 9, 2024
b6edabb
improved infrastructure for vectors carrying semantic meaning
philippwindischhofer Apr 9, 2024
8ea430b
change coordinate order in vectors with semantics
philippwindischhofer Apr 9, 2024
83a14f8
better forwarding of arguments into boundary evaluator
philippwindischhofer Apr 9, 2024
936462c
add caching of ChunkIndex metadata such as shape
philippwindischhofer Apr 9, 2024
ca1f4d0
also cache global start and end indices
philippwindischhofer Apr 9, 2024
d90d646
try to fix github CI by not using chrono
philippwindischhofer Apr 9, 2024
dd74e86
add const and non-const getters for vector components
philippwindischhofer Apr 9, 2024
18d8bde
Green's function progress
philippwindischhofer Apr 9, 2024
2d6a660
remove python from build until post-migration
philippwindischhofer Apr 9, 2024
46b9d6b
start encapsulating boundary evaluator
philippwindischhofer Apr 9, 2024
00d6fa2
remove printouts
philippwindischhofer Apr 9, 2024
cfeeab3
new integrator API
philippwindischhofer Apr 9, 2024
df95140
have GreensFunction inherit rather than own
philippwindischhofer Apr 9, 2024
2baf98a
change visibility mode
philippwindischhofer Apr 9, 2024
a341fe6
convenience access for 1-dim NDVecArrays
philippwindischhofer Apr 10, 2024
3a50a57
continue with Green's function
philippwindischhofer Apr 10, 2024
047874e
change interface of interpolator
philippwindischhofer Apr 10, 2024
e9baf9d
test scalar-product accumulation for Green's function
philippwindischhofer Apr 10, 2024
4e7442c
closure test for Green's function accumulation
philippwindischhofer Apr 10, 2024
a30e750
integrate integration functionality into GreensFunction and remove In…
philippwindischhofer Apr 11, 2024
9f88e8f
new current segment struct
philippwindischhofer Apr 11, 2024
365b28f
outline of integration alg
philippwindischhofer Apr 11, 2024
5943868
fill in some blanks in integration
philippwindischhofer Apr 11, 2024
5bb4ee6
promote VectorView to its own useful type
philippwindischhofer Apr 11, 2024
293f720
more about integration
philippwindischhofer Apr 11, 2024
a69cd29
turn off python tests for now
philippwindischhofer Apr 11, 2024
9188dfe
commenting-out doesn't seem to work in yml
philippwindischhofer Apr 11, 2024
49b4e5a
add pretty printing for VectorViews
philippwindischhofer Apr 11, 2024
0cb82db
integration
philippwindischhofer Apr 11, 2024
eaa2f13
fix bug in calculation of chunk index offsets
philippwindischhofer Apr 11, 2024
fa4074a
need to weight by integration step size
philippwindischhofer Apr 12, 2024
2cf0c5c
better conversion to chunk-local coordinates
philippwindischhofer Apr 12, 2024
119219f
add debug-time bounds check on NDVecArray indices
philippwindischhofer Apr 12, 2024
e8c57b7
remainign todos for green's function
philippwindischhofer Apr 12, 2024
8f47320
fix problem with causality bail-out
philippwindischhofer Apr 12, 2024
5bb1835
remove old line
philippwindischhofer Apr 12, 2024
ada889f
more reasonable manual integration step choice
philippwindischhofer Apr 12, 2024
417559b
simple cross-check integration routine for unit test
philippwindischhofer Apr 12, 2024
88bb060
better timing measurement in test of green's function
philippwindischhofer Apr 12, 2024
eb0e50a
speed up evaluation of Keys kernel
philippwindischhofer Apr 12, 2024
44ca465
run over more points for interpolation test
philippwindischhofer Apr 12, 2024
d12f281
use Keys kernel in Green's function test
philippwindischhofer Apr 12, 2024
d459c4e
add distributed rechunking to list of tests
philippwindischhofer Apr 13, 2024
3e2b9c8
add serializer for NDVecArrays ... eventually these should write to n…
philippwindischhofer Apr 15, 2024
fb2dd2b
serialize_to_numpy
philippwindischhofer Apr 15, 2024
0591288
fix problem with too small interp buffer size
philippwindischhofer Apr 15, 2024
0d8c8b0
strengthen unit tests for GreensFunction
philippwindischhofer Apr 15, 2024
6882442
start with implementation of analytic Green's functions using new inf…
philippwindischhofer Apr 15, 2024
c847a7e
current status. will not compile yet
philippwindischhofer Apr 15, 2024
218613f
more flexible signature of worker callback in chunk iteration
philippwindischhofer Apr 15, 2024
0ee0846
store dummy data in dipole Green's function
philippwindischhofer Apr 15, 2024
377129d
can store analytic Green's functions with new infrastructure
philippwindischhofer Apr 15, 2024
3dca7aa
SignalCalculator -> SignalCalculatorOld
philippwindischhofer Apr 15, 2024
aa31f11
move to header-only
philippwindischhofer Apr 15, 2024
6ea694f
need larger cache for rechunking to be fast
philippwindischhofer Apr 15, 2024
22a40fe
coulomb signal calculation works
philippwindischhofer Apr 15, 2024
82e2399
migrate to SignalCalculatorOld, compile flags are important
philippwindischhofer Apr 15, 2024
782a43a
set compiler flags for all examples
philippwindischhofer Apr 15, 2024
216f4bd
start with example showing green's function plots
philippwindischhofer Apr 16, 2024
5f805fb
can serialize NDVecArray into numpy
philippwindischhofer Apr 16, 2024
be8b51f
CMakeLists update
philippwindischhofer Apr 16, 2024
bee6de6
Green's function snapshots to numpy
philippwindischhofer Apr 16, 2024
1473bac
more efficient row-wise assignment into NDVecArrays
philippwindischhofer Apr 16, 2024
3979beb
simplify evaluation of analytic Green's function
philippwindischhofer Apr 16, 2024
df48106
export Green's function
philippwindischhofer Apr 16, 2024
93fc133
export Green's function
philippwindischhofer Apr 16, 2024
e9770c7
run with larger region for testing
philippwindischhofer Apr 16, 2024
3b1558d
export higher-res snapshots
philippwindischhofer Apr 17, 2024
cef34f1
refactoring before start of migration on CylindricalWeightingFieldCal…
philippwindischhofer Apr 17, 2024
d757666
move from type aliases to actual types
philippwindischhofer Apr 17, 2024
e356618
migrate Geometry
philippwindischhofer Apr 17, 2024
e7d15dd
migrate Antenna
philippwindischhofer Apr 17, 2024
3a1c9c9
migrate examples/dipole_ice
philippwindischhofer Apr 17, 2024
c132f4a
start with migration of CylindricalGreensFunctionCalculator
philippwindischhofer Apr 17, 2024
63da897
progress
philippwindischhofer Apr 17, 2024
ca46e43
fix change in template arguments
philippwindischhofer Apr 17, 2024
af202d9
storage
philippwindischhofer Apr 17, 2024
a7532dd
prepare structure for rechunking
philippwindischhofer Apr 17, 2024
0d716ca
fix oversight in unit test
philippwindischhofer Apr 17, 2024
bcd0f10
start with multi-process rechunking
philippwindischhofer Apr 17, 2024
fb9d2fe
works for single mpi process
philippwindischhofer Apr 17, 2024
95fdc88
problem when running with MPI
philippwindischhofer Apr 18, 2024
a16b471
label bug
philippwindischhofer Apr 18, 2024
75b2274
simplify problem; also appears without mpi
philippwindischhofer Apr 18, 2024
015cdec
forgot to set chunk status to nothing after it is synchronized with t…
philippwindischhofer Apr 18, 2024
9d66953
fix bug: need to re-enumerate newly imported index entries
philippwindischhofer Apr 18, 2024
36ab7af
be more careful with cleaning up temporary files
philippwindischhofer Apr 18, 2024
1110db8
another bug
philippwindischhofer Apr 18, 2024
fda726e
only MPI master needs to create the new Green's function object
philippwindischhofer Apr 18, 2024
ed2a27a
fix printout in unit test for distributed array
philippwindischhofer Apr 18, 2024
3a27897
remove assert with side effects
philippwindischhofer Apr 18, 2024
ab61bf8
add comment about assert with side effects
philippwindischhofer Apr 18, 2024
910c1e7
reimplementing field dynamic range limiter
philippwindischhofer Apr 18, 2024
db96c08
dynamic range limiter for fields
philippwindischhofer Apr 18, 2024
4772170
add time measurement in coulomb example
philippwindischhofer Apr 18, 2024
40bffa1
translate coulomb segment example to new infrastructure
philippwindischhofer Apr 18, 2024
5f4ed6d
migrate askaryan example to new infrastructure
philippwindischhofer Apr 18, 2024
69a9de3
remove old examples
philippwindischhofer Apr 18, 2024
9cc79ba
clear up leftovers in examples
philippwindischhofer Apr 18, 2024
0d265f2
clean up public header of SignalCalculator
philippwindischhofer Apr 18, 2024
a4b0c0e
start migrating 1d shower example
philippwindischhofer Apr 18, 2024
9b148fa
migrate shower example
philippwindischhofer Apr 18, 2024
a650c1c
remove status printouts
philippwindischhofer Apr 19, 2024
c472278
implement pass-through mode when cachesize = 0 is requested
philippwindischhofer Apr 19, 2024
c27e7bf
adjust cache sizes
philippwindischhofer Apr 19, 2024
c2bc704
cool bug, need to take care to use the correct type for the initial v…
philippwindischhofer Apr 19, 2024
0a7efcc
change chunk size
philippwindischhofer Apr 19, 2024
f8eb670
move compiler flags away from subdir cmakelists
philippwindischhofer Apr 19, 2024
db8be8f
remove very verbose printout
philippwindischhofer Apr 19, 2024
0b10d8a
remove printouts and go to larger geometries
philippwindischhofer Apr 19, 2024
1093fe8
add todo for later
philippwindischhofer Apr 19, 2024
5254b40
split large MEEP chunks into smaller ones for better storage
philippwindischhofer Apr 19, 2024
acfeca0
full-size export
philippwindischhofer Apr 19, 2024
4d3c363
Cleanup (#30)
philippwindischhofer Apr 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 7 additions & 9 deletions .github/workflows/build-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,16 @@ jobs:
build_and_test:
name: "Run build and tests"
runs-on: ubuntu-latest
env:
CC: gcc-13
CXX: g++-13
steps:

- name: Install dependencies
run: |
sudo apt-get -y update
sudo apt-get -y update
sudo apt-get install -y pkg-config cmake
sudo apt-get install -y libtbb-dev
sudo apt-get install -y libhdf5-mpi-dev libharminv-dev libfftw3-dev libgsl-dev libgslcblas0
sudo apt-get install -y python3-setuptools cython3 python3-matplotlib python3-mpi4py
sudo apt-get install -y python3-meep-mpi-default libmeep-mpi-default-dev
Expand All @@ -23,16 +27,10 @@ jobs:
run: |
mkdir -p build &&
pushd build &&
cmake -DBUILD_PYTHON=ON -DBUILD_WFC=ON -DBUILD_TESTS=ON ../ &&
cmake -DBUILD_MEEP=ON -DBUILD_TESTS=ON ../ &&
VERBOSE=1 make &&
popd

- name: Run C++ tests
run: |
bash tests/run_tests.sh build/

- name: Run python tests
run: |
source build/setup.sh &&
python3 -m unittest discover -s cpython/tests/

bash tests/run_tests.sh build/
19 changes: 11 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
cmake_minimum_required( VERSION 3.20 FATAL_ERROR )

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED YES)

set(CMAKE_CXX_FLAGS "-O3 -Wall -Wpedantic -Wextra -ftree-vectorize -ffast-math -ftree-vectorizer-verbose=2 -funroll-loops -march=native -save-temps -fverbose-asm -g")

project(eisvogel)

option(BUILD_PYTHON "Build with python support." OFF)
option(BUILD_WFC "Also build weighting field creator." OFF)
option(BUILD_TESTS "Build tests." OFF)
option(BUILD_MEEP "Also build weighting field creator." OFF)
option(BUILD_EXTERN "Build external tools." OFF)

add_subdirectory(cmake)
add_subdirectory(src)
add_subdirectory(eisvogel)
add_subdirectory(examples)
add_subdirectory(extern)

if(BUILD_PYTHON)
add_subdirectory(cpython)
endif(BUILD_PYTHON)
if(BUILD_EXTERN)
add_subdirectory(extern)
endif(BUILD_EXTERN)

if(BUILD_TESTS)
add_subdirectory(tests)
Expand Down
10 changes: 2 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,10 @@ make -j5
source setup.sh
```

To build with `python` support, do
To also build the components for the calculation of the Green's function do

```
cmake -DBUILD_PYTHON=ON ..
```

and to also build the components for the calculation of the Green's function do

```
cmake -DBUILD_WFC=ON ..
cmake -DBUILD_MEEP=ON ..
```

If you want to build the C++ unit tests, add
Expand Down
4 changes: 0 additions & 4 deletions cmake/CMakeLists.txt

This file was deleted.

4 changes: 0 additions & 4 deletions cmake/setup.sh.in

This file was deleted.

1 change: 0 additions & 1 deletion cpython/.gitignore

This file was deleted.

17 changes: 0 additions & 17 deletions cpython/CMakeLists.txt

This file was deleted.

Empty file removed cpython/__init__.py
Empty file.
21 changes: 0 additions & 21 deletions cpython/ccoordutils.pxd

This file was deleted.

13 changes: 0 additions & 13 deletions cpython/ccurrent.pxd

This file was deleted.

9 changes: 0 additions & 9 deletions cpython/csignalcalculator.pxd

This file was deleted.

11 changes: 0 additions & 11 deletions cpython/cweightingfield.pxd

This file was deleted.

7 changes: 0 additions & 7 deletions cpython/cweightingfieldutils.pxd

This file was deleted.

146 changes: 0 additions & 146 deletions cpython/eisvogel.pyx

This file was deleted.

2 changes: 0 additions & 2 deletions cpython/libeisvogel.pxd

This file was deleted.

29 changes: 0 additions & 29 deletions cpython/setup.py

This file was deleted.

5 changes: 5 additions & 0 deletions eisvogel/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
add_subdirectory(core)

if(BUILD_MEEP)
add_subdirectory(meep)
endif(BUILD_MEEP)
14 changes: 14 additions & 0 deletions eisvogel/core/AnalyticGreensFunctionCalculator.hh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#pragma once

#include <filesystem>
#include "Vector.hh"

namespace GreensFunctionCalculator::Analytic {

void ElectricDipole(std::filesystem::path gf_path, const RZCoordVector& start_coords, const RZCoordVector& end_coords, scalar_t t_end, scalar_t ior,
scalar_t filter_t_peak, unsigned int filter_order, scalar_t r_min,
scalar_t os_factor = 10, std::size_t max_pts_in_chunk = 400);

}

#include "AnalyticGreensFunctionCalculator.hxx"
Loading