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

Possible error in ParILUT documentation #1851

Closed
jhux2 opened this issue Jun 6, 2023 · 4 comments
Closed

Possible error in ParILUT documentation #1851

jhux2 opened this issue Jun 6, 2023 · 4 comments
Assignees

Comments

@jhux2
Copy link

jhux2 commented Jun 6, 2023

In the read-the-docs documentation for ParILUT, there's this warning:

doxygenclass: Cannot find class “KokkosSparse::PAR_ILUTHandle” in doxygen xml output for project “KokkosKernels” from directory: /home/docs/checkouts/readthedocs.org/user_builds/kokkos-kernels/checkouts/latest/docs/doxygen//xml

If this is fixed, would there then be a description of the options exposed to a downstream user of ParILUT?

@jgfouca

@jgfouca
Copy link
Contributor

jgfouca commented Jun 6, 2023

Hi @jhux2 , sorry about that warning. I've pinged @e10harvey to look at the RTD generator.

If you look at the handle header, you will see all the doxygen for this file. The header lives here:
sparse/src/KokkosSparse_par_ilut_handle.hpp

The only stuff you need worry about as a user are these settings:

  // User inputs                                                                                                                                                                                                                
  size_type max_iter;  /// Hard cap on the number of par_ilut iterations                                                                                                                                                        
  float_t residual_norm_delta_stop;  /// When the change in residual from                                                                                                                                                       
                                     /// iteration to iteration drops below                                                                                                                                                     
                                     /// this, the algorithm will stop (even if                                                                                                                                                 
                                     /// max_iters has not been hit)                                                                                                                                                            
  float_t fill_in_limit;             /// The threshold for the ILU factorization                                                                                                                                                
  bool async_update;  /// Whether compute LU factors should do asychronous                                                                                                                                                      
                      /// updates. When ON, the algorithm will usually converge                                                                                                                                                 
                      /// faster but it makes the algorithm non-deterministic.                                                                                                                                                  
  bool verbose;       /// Print information while executing par_ilut 

All of those are settable via handle creator:
kh.create_par_ilut_handle(...)

And via setters on the handle, e.g. set_max_iter.

@jhux2
Copy link
Author

jhux2 commented Jun 6, 2023

@jgfouca Thanks for the quick response.

If you look at the handle header, you will see all the doxygen for this file. The header lives here:
sparse/src/KokkosSparse_par_ilut_handle.hpp

To simplify maintenance, I'd prefer the Ifpack2 interface and doxygen to direct a user to the Kokkos-Kernels documentation for the individual options. Otherwise, the Ifpack2 documentation might quickly get out-of-date.

Hopefully once the RTD generator is fixed, there'll be a description I can link to.

@jgfouca
Copy link
Contributor

jgfouca commented Jun 6, 2023

@jhux2 , ah, I think I misunderstood what you were asking. Yes, once we fix the RTD generator, these user options will be there.

@e10harvey
Copy link
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants