Skip to content
New issue

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

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

Already on GitHub? # to your account

Post-development design review #211

Open
7 of 15 tasks
mattldawson opened this issue Sep 6, 2023 · 0 comments
Open
7 of 15 tasks

Post-development design review #211

mattldawson opened this issue Sep 6, 2023 · 0 comments
Assignees
Labels
list issue Collection of related issues

Comments

@mattldawson
Copy link
Collaborator

mattldawson commented Sep 6, 2023

CUDA-related things:

  • Move Yerror construction outside of the inner solve loop for rosenbrock #622
  • Change the storage of CUDA sparse matrix to leverage the CuSparse library (replacing the existing CUDA LU Decomposition and Linear Solver).
  • Provide Allison an ill-conditioned matrix and see if she has a better suggestion of a different numerical solver (i.e., not LU).
  • Change the CUDA class so that we only allocate device memory (no host memory allocation). This is specific for arrays of index or constants.
  • Consider moving all temporary matrices onto the State so that memory for these temporary variables are only made once
    • SolverResult result{};
      result.state_ = SolverState::Running;
      MatrixPolicy Y = state.variables_;
      std::size_t num_rows = Y.NumRows();
      std::size_t num_cols = Y.NumColumns();
      MatrixPolicy Ynew(num_rows, num_cols, 0.0);
      MatrixPolicy initial_forcing(num_rows, num_cols, 0.0);
      MatrixPolicy forcing(num_rows, num_cols, 0.0);
      std::vector<MatrixPolicy> K{};
      const double h_max = parameters_.h_max_ == 0.0 ? time_step : std::min(time_step, parameters_.h_max_);
      const double h_start =
      parameters_.h_start_ == 0.0 ? std::max(parameters_.h_min_, DELTA_MIN) : std::min(h_max, parameters_.h_start_);
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
list issue Collection of related issues
Projects
None yet
Development

No branches or pull requests

3 participants