-
Notifications
You must be signed in to change notification settings - Fork 98
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
#9 Test refactoring #1021
Closed
Closed
#9 Test refactoring #1021
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(cusparse/mkl)
MatrixMarket files include the number of columns, so use that to construct the CrsMatrix. Previously, would compute #cols as max entry plus 1, but this may not be correct if there are empty columns.
to reduce code size.
this is a proof of concept that works of the combination of Serial/OpenMP and Common tests, it could be expended further but we should review this before more time is invested down that road...
With this approach we reduce the complexity of the CMake logic. We also remove all the backend .cpp files but one. Two downsides exit with this approach: 1. all new tests need to be explicitely added to Test_Component.hpp 2. since all the header are gathered in a unique source file developers need to be more careful about redifining functions and classes between tests On the other hand this should also promote the creation of utility headers to gather implementation of common features useful for multiple tests instead of copy pasting code which makes maintenance harder.
… backends Using the new infrastructure style for all backends to make the code cleaner and remove a load of .cpp files. Changes were needed to implement more logic avoiding to run some test on the Cuda backend when UVM is not enabled.
and uniformly adding pre-processor macro naming in each file. After this new round of changes the unit-tests are more uniform and are responsible to be enabled only when configuration and compilation unit allow them to compile and run correctly. Also made some changes regarding the vanillaGEMM stuff to avoid future issues if someone reorders tests around before we make further changes to use the sharedVanillaGEMM defined in test_common/KokkosKernels_TestUtils.hpp
This is the last piece of the unit-tests refactor. Compiled and tested on Tulip, this works just fine.
Multiple tests define the exact same macro, it was not an issue so far since the definition was only included in a single cpp. To avoid the problem now that all the hpp are included in the same cpp, we simply need to undefine the macro at the end of the test header: "#undef EXECUTE_TEST"
Re-introducing necessary guard in gesv test, now the CUDA CI test should compile correctly.
CPUs always use RangePolicy, GPUs always use TeamPolicy. With a runtime branch, both paths are instantiated even though only one is ever taken. Replace with enable_if.
Very close to cublas in performance, with LayoutLeft or LayoutRight. (~100 gflops for 1e5 * 1e5 double matrix on V100)
Counting flops that way is consistent with the rest of Kokkos Kernels.
Fixup HIP nightly builds
Prevent redundant spmv kernel instantiations (reduce library size)
unit-test: refactor infrastructure to remove most *.cpp
This only turns on ETI not tests yet, next step will be to add support in utility functions and macros to chose betweem host and device code branches.
rebase Nothing to big but adding obviously missing ENDIF() controls that got removed during a rebase...
Adding the openmptarget folder that contains the source files for the backend's unit-tests. Ignoring Vector batched tests that only run on host. Also commenting out the batched tests as they do not build correctly at the moment.
Replacing the call to the offending function with the new function call that is not from the Impl namespace.
Deprecation: a deprecated function is called in the SpADD perf_test
Remove unused variable ORDINAL_MAX
This was silently succeeding on Volta but failed on Pascal. Running under cuda-memcheck on Volta showed the issue.
… too To have Kokkos Kernels in line with Kokkos flags we should be able to build without unused-parameter warnings. These changes are making are making this possible using clang-12. Maybe more testing on other platform should be performed with this warning turned on.
This was confusing Github syntax highlighting
Removes "error: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20"
I just ran clang-format on the badly formatted files. I removed function arguments from `main(int, argv**)` as they are really not justified and also added space between pointers and comments to make github happy.
Updating the list of warnings for each compilers in the test scripts. This should trigger the warnings in the auto-tester. This has been tested on Blake manually already but this change will trigger the testing on White and Kokkos-dev2 automatically.
Fix -Werror=deprecated errors with c++20 standard
This finishes to fix the warnings related to unused parameters that were in CUDA specific code branches.
Small update as parameter is commented it should not be refered to in the non-CUDA path anymore...
HIP: enabling all unit tests
Warnings: remove -Wunused-parameter warnings in Kokkos Kernels
- Handle beta zero vs nonzero branch consistently in gemv - Move "vanilla GEMV" out of test and into TestUtils, since vanilla GEMM is there
Fix invalid mem accesses in new GEMV kernel
Make CRS sorting utils work with unmanaged
…tion in new file. Add example.
Create new interface for spmv
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Part of #9
Sample output: