-
Notifications
You must be signed in to change notification settings - Fork 99
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
KokkosBatched QR PR breaking nightly tests #691
Comments
@ndellingwood I will take a loook at this today. |
Thanks for providing the reproducers. The three tests shows different failures.
|
Thanks for updates @kyungjoo-kim ! The only semi-recent update to Kokkos_Complex involves alignment changes that went in with 3.0.00 (2.9.99): kokkos/kokkos#2259 If it helps on Blake, you can try disabling complex alignment with the cmake option In KokkosKernels, this PR matching a Trilinos PR was merged as part of 3.1, |
How can I put the cmake option in your reproducer ? |
Oh, good point it won't work directly with the reproducer instructions, but if you run the cm_generate_makefile script as in the reproducer it will output the CMake lines it uses to configure Kokkos before installing, and then configure lines for kokkos-kernels (requiring the kokkos install first). Copy out the Kokkos CMake configure line and append the cmake option then rerun cmake. That should let you test to see if the complex alignment is triggering the issue. |
I think that this is because of the alignment. When I print out the complex value,
So, it looks like that the alignment does not match when I use a stack memory. I don't think that this would be problematic if we use aligned mmory allocations. BTW, do we have a way to enforce alignment for a stack variable ? |
@ndellingwood I think that I can fix this today. I do not know why some errors pop up later after the test is passed. I am very sure that my qr also passes the test yesterday and now it does not pass. |
Brian added a clever utility that may help: kokkos-kernels/src/common/KokkosKernels_Utils.hpp Lines 1701 to 1709 in 0255a56
|
I'm not sure if that utility addresses the type of alignment issue you are seeing though |
I take it back. My print statement was wrong.... |
What I figured out is the error happens when I use aggressive vectorization e.g., ivdep with complex values. This seems to replace some instructions with aligned vector instructions where the stack variable is not aligned. This is not related to kokkos complex alignment as the alignment issue pops out when I use odd number of vector array size e.g., 3. This is a right behavior but I do not know why previously this works. I put a guard to do aggressive vectorization for built-in type only. |
@ndellingwood Done. |
PR #696 addressed the failing nightly tests reported in this issue, though @brian-kelley detected failures with the |
Merge of PR #686 is breaking various nightly kokkos-kernels PR testing.
@kyungjoo-kim if this will take awhile to fix we should revert the commit
Sample error messages:
kokkos-dev-2 tpl spot-check intel-18.0.5-OpenMP-release build failure
Reproducer:
kokkos-dev-2
white cuda-9.2.88-Cuda_Serial-debug
(cuda-9.2.88-OpenMP_Cuda-release also failing)
Reproducer
blake intel-19.3.199-OpenMP-release
Reproducer
The text was updated successfully, but these errors were encountered: