Repository navigation
Fixes for 12.0.1 - #806
Merged
Merged
Fixes for 12.0.1#806
Conversation
Base defines Base.mapreducedim! for PermutedDimsArray sources with specific operators, which was ambiguous with GPUArrays' method for a GPU destination, like LinearAlgebra's methods for adjoint and transposed matrices were.
With full-range Complex{Int16} inputs, abs2 wraps around, and Intel's GPU
compiler gets that wrong in AcceleratedKernels' generic reduction kernel,
failing oneAPI's CI. The test is about dispatching from adjoint and transposed
sources, so give it values that don't overflow.
This file contains hidden or 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
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.
Fixes found by the back-end ports, for 12.0.1:
Base.mapreducedim!from aPermutedDimsArraywas ambiguous with GPUArrays' method for a GPU destination, because Base has methods for permuted sources with specific operators. Prepare the GPUArrays 12 release #804 fixed the same for LinearAlgebra's adjoint and transposed sources, and this extends it to permuted ones, with tests.abs2of full-rangeComplex{Int16}values, which overflows. Intel's GPU compiler gets that wrong (Wrong results for overflowing Int16 arithmetic in a reduction kernel oneAPI.jl#670), failing oneAPI's CI. The test is about dispatch, so it now uses small values.Tested with the JLArrays and Array testsuites (
reductions/mapreducedim!); the new permuted tests error with the ambiguity without the fix.