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

Post-development design review #211

Open
6 of 15 tasks
mattldawson opened this issue Sep 6, 2023 · 0 comments
Open
6 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_);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
list issue Collection of related issues
Projects
None yet
Development

No branches or pull requests

3 participants