comparison Notes.md @ 875:067a322e4f73 laplace_benchmarks

Merge with feature/laplace_opset
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Thu, 27 Jan 2022 10:55:08 +0100
parents 1784b1c0af3e
children f885e1de6dc4 1ba8a398af9c
comparison
equal deleted inserted replaced
874:7e9ebd572deb 875:067a322e4f73
51 implemented through keyword arguments that are sent through all the layers of 51 implemented through keyword arguments that are sent through all the layers of
52 operator creation. 52 operator creation.
53 53
54 * Remove order as a table name and put it as a variable. 54 * Remove order as a table name and put it as a variable.
55 55
56 ### Parsing of stencil sets
57 At the moment the only parsing that can be done at the top level is conversion
58 from the toml file to a dict of strings. This forces the user to dig through
59 the dictionary and apply the correct parsing methods for the different parts,
60 e.g. `parse_stencil` or `parse_tuple`. While very flexible there is a tight
61 coupling between what is written in the file and what code is run to make data
62 in the file usable. While this coupling is hard to avoid it should be made
63 explicit. This could be done by putting a reference to a parsing function in
64 the operator-storage format or somehow specifying the type of each object.
65 This mechanism should be extensible without changing the package. Perhaps
66 there could be a way to register parsing functions or object types for the
67 toml.
68
69 If possible the goal should be for the parsing to get all the way to the
70 stencils so that a user calls `read_stencil_set` and gets a
71 dictionary-structure containing stencils, tuples, scalars and other types
72 ready for input to the methods creating the operators.
56 73
57 ## Variable second derivative 74 ## Variable second derivative
58 75
59 2020-12-08 after discussion with Vidar: 76 2020-12-08 after discussion with Vidar:
60 We will have to handle the variable second derivative in a new variant of 77 We will have to handle the variable second derivative in a new variant of
319 We should make these test simple to run for any solver. 336 We should make these test simple to run for any solver.
320 337
321 See [this talk](https://www.youtube.com/watch?v=vPsfZUqI4_0) for some simple ideas for defining effecive memory usage and some comparison with peak performance. 338 See [this talk](https://www.youtube.com/watch?v=vPsfZUqI4_0) for some simple ideas for defining effecive memory usage and some comparison with peak performance.
322 339
323 340
341 ## Adjoint as a trait on the sbp_operator level?
342
343 It would be nice to have a way of refering to adjoints with resepct to the sbp-inner-product.
344 If it was possible you could reduce the number of times you have to deal with the inner product matrix.
345
346 Since the LazyOperators package is sort of implementing matrix-free matrices there is no concept of inner products there at the moment. It seems to complicate large parts of the package if this was included there.
347
348 A different approach would be to include it as a trait for operators so that you can specify what the adjoint for that operator is.
349
350
351 ## Name of the `VolumeOperator` type for constant stencils
352 It seems that the name is too general. The name of the method `volume_operator` makes sense. It should return different types of `TensorMapping` specialized for the grid. A suggetion for a better name is `ConstantStencilVolumeOperator`