Conversation
e98f39a to
f8257d8
Compare
|
Ruiz tests are working, but let's fix the perm tests that made it in here. |
pelesh
left a comment
There was a problem hiding this comment.
- It would be good to design more intuitive and easy to verify unit tests.
- More extensive documentation is needed for the class methods.
- Matrix/vector objects probably do not need to be unpacked except for passing input to GPU kernels.
fde1d6f to
a8e4039
Compare
|
Still need to fix the merge conflicts and compile with |
pelesh
left a comment
There was a problem hiding this comment.
Adding couple of comments related to my earlier review.
Leaks have now been fixed. |
superwhiskers
left a comment
There was a problem hiding this comment.
just some minor suggestions
| vector::Vector* scaling_vector_; // Scaling vector data for the current iteration | ||
| vector::Vector* aggregate_scaling_vector_; // Cumulative scaling vector |
There was a problem hiding this comment.
these two vectors don't seem like they need to be allocated on the heap
There was a problem hiding this comment.
it doesn't seem like this was resolved?
Can we have the clang formatter handle the long functions? |
|
it can, but only if we specified a line length limit, which is something @pelesh didn't want, so you have to manually add the break and then format it again, which will preserve your choice. |
If you break after first function argument clang-format will do the rest for you. In most cases, the editor will do the alignment for you. We don't enforce line length because we want to have better control of how we code mathematical expressions for readability. |
f83aeaf to
988ffec
Compare
1d89d24 to
a02f7a7
Compare
10b6743 to
28024a8
Compare
Stale
shakedregev
left a comment
There was a problem hiding this comment.
Validate the values in J^T
* Added the permutation class from hykkt, along with tests. * HyKKT GPU Permutation Kernels (Attempt 2) (#333) * Added the permutation class from hykkt, along with tests. * refactor with base class for perm kernels * add kernel handler to Permutation class to call appropriate functions * add workspace parameter to test * gpu implementations * add PermutationHandler * test for more rows than cols * add documentation for permutation * remove use of linalgworkspace and update permutation constructor * mapIndex test * update signatures * memory handling and cosmetic changes * all functions on host except mapIdx * signature and fix leak * Apply pre-commmit fixes * remove unused variables * remove unused files and members, fix build * Apply pre-commmit fixes * use resolve types * Apply pre-commmit fixes --------- Co-authored-by: shakedregev <35384901+shakedregev@users.noreply.github.com> Co-authored-by: adhamsi <adhamsi@users.noreply.github.com> * set devImpl to null if no GPU backend * Added the permutation class from hykkt, along with tests. * add ruiz scaler and handler * refactor the interfaces and use existing MemoryHandler for reset * update interface * allocate/deallocate scaling vectors * remove handler as middleman * add empty cpu implementation and cmakelists * fix cmakelists * cpu implementation * hip implementation * use resolve matrix and vector types * cuda implementation * ruiz scaling test * fix bugs in kernel implementations * comments in implementation files * fix imports and leak * update comments * Doxygen reference and rename class * use object pointers and update all usage * better ruiz test * merge conflict * remove unused MemoryHandler * change long function names, file name capitalization, remove unused params * include issue * Apply pre-commmit fixes * error handling in constructor if no gpu support available * fix comment * error handling in constructor * reset workspace after each test * Check for J_tr --------- Co-authored-by: shakedregev <35384901+shakedregev@users.noreply.github.com> Co-authored-by: adhamsi <adhamsi@users.noreply.github.com>
* Added the permutation class from hykkt, along with tests. * HyKKT GPU Permutation Kernels (Attempt 2) (#333) * Added the permutation class from hykkt, along with tests. * refactor with base class for perm kernels * add kernel handler to Permutation class to call appropriate functions * add workspace parameter to test * gpu implementations * add PermutationHandler * test for more rows than cols * add documentation for permutation * remove use of linalgworkspace and update permutation constructor * mapIndex test * update signatures * memory handling and cosmetic changes * all functions on host except mapIdx * signature and fix leak * Apply pre-commmit fixes * remove unused variables * remove unused files and members, fix build * Apply pre-commmit fixes * use resolve types * Apply pre-commmit fixes --------- Co-authored-by: shakedregev <35384901+shakedregev@users.noreply.github.com> Co-authored-by: adhamsi <adhamsi@users.noreply.github.com> * set devImpl to null if no GPU backend * Added the permutation class from hykkt, along with tests. * add ruiz scaler and handler * refactor the interfaces and use existing MemoryHandler for reset * update interface * allocate/deallocate scaling vectors * remove handler as middleman * add empty cpu implementation and cmakelists * fix cmakelists * cpu implementation * hip implementation * use resolve matrix and vector types * cuda implementation * ruiz scaling test * fix bugs in kernel implementations * comments in implementation files * fix imports and leak * update comments * Doxygen reference and rename class * use object pointers and update all usage * better ruiz test * merge conflict * remove unused MemoryHandler * change long function names, file name capitalization, remove unused params * include issue * Apply pre-commmit fixes * error handling in constructor if no gpu support available * fix comment * error handling in constructor * reset workspace after each test * Check for J_tr --------- Co-authored-by: shakedregev <35384901+shakedregev@users.noreply.github.com> Co-authored-by: adhamsi <adhamsi@users.noreply.github.com>
* Added the permutation class from hykkt, along with tests. * Implement HyKKT Ruiz Scaling (#317) * Implement the HyKKT Cholesky module (#350) * SpGEMM for HyKKT (#366) --------- Co-authored-by: superwhiskers <whiskerdev@protonmail.com> Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com> Co-authored-by: Adham Ibrahim <adham.ibrahim@princeton.edu> Co-authored-by: kswirydo <kasia.swirydowicz@gmail.com> Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> Co-authored-by: Slaven Peles <peless@ornl.gov>
Description
A module
ruizis added implementing theRuizScalerclass to be used for HyKKT.Closes #330.
Proposed changes
Implements
RuizScalerandRuizScalerKernelImplin CPU, HIP, and CUDA. Recreates the original test.RuizScalermethods take inmatrix::Csrandvector::Vectorobject types to set the matrix and vector data and implements thescalemethod to perform the scaling in-place.Checklist
-Wall -Wpedantic -Wconversion -Wextra.Further comments