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

Create a base class for device persistent data #45

Closed
greole opened this issue Nov 24, 2021 · 1 comment
Closed

Create a base class for device persistent data #45

greole opened this issue Nov 24, 2021 · 1 comment
Labels
enhancement New feature or request refactoring Improvement of the code structure

Comments

@greole
Copy link
Collaborator

greole commented Nov 24, 2021

At several places in the OGL code base the following pattern occurs.

  • Given a name the object registry is consulted wether this object was already created
  • If an object with the given name does not exist create one, add to the object registry, and return the pointer to it
  • If it exists and no update was requested the pointer is returned and nothing else happens,
  • If it exists and an update was requested call the an update routine

This could be all wrapped into a base class and used for:

  • the sparsity pattern,
  • the matrix values,
  • the global addressing

and probably other IO classes like the IOExecPtr. It should also address rank specific and global data for parallel runs.

@greole greole changed the title Create a template class for device persistent data Create a templated base class for device persistent data Nov 24, 2021
@greole greole changed the title Create a templated base class for device persistent data Create a base class for device persistent data Nov 24, 2021
@greole
Copy link
Collaborator Author

greole commented Nov 26, 2021

This should also include #30

@greole greole added enhancement New feature or request refactoring Improvement of the code structure labels Nov 26, 2021
@greole greole added this to the Distributed OGL milestone Nov 26, 2021
greole added a commit that referenced this issue Dec 1, 2021
greole added a commit that referenced this issue Dec 9, 2021
* rename files

* Fix license header #48

* add some docstrings

* Add further license fixes.

* Fix license header #48

* Clean stopping criterion since it is created in the solver

* start implementing #45

* moved HostMatrix to separate file #44

* Initial update on new structure

* FIX foldernames

* Add initial device persistent base implementation

* Add missing files

* Fix return type of get_db, add defineTemplate

* Add missing define macros

* Add further verbose output

* Add further verbose log output

* Add further verbose log messages, fix matrix size

* Add get_global_array

* Add further info to log

* Add further verbose log output

* Add further log info

* Add further debug output

* Create dense global vec only on master

* Add parallel csr matrix

* renm

* Add another gkomatrix getter

* Add globalIndex to CsrInitFunctor

* Fix CsrInitFunctor initialisation

* fix CsrInitFunctor constructor call

* Fix number of cells in HostMatrix since it is local

* do coo to csr conversion on master only

* clean up output

Co-authored-by: go <go@air.local>
@greole greole closed this as completed Jan 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request refactoring Improvement of the code structure
Projects
Status: Merged
Development

No branches or pull requests

1 participant