[Utils] Deprecate safe_permute
          #464
        
          
      
                
     Merged
            
            
          
  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.
  
    
  
    
Background
In that past, it was noticed that
value[:, perm]would throw an error for the FP8 dtype because "RuntimeError: "index_cuda" not implemented for 'Float8_e4m3fn".safe_permutewas used to avoid callingindex_cudafor the FP8 dtype.However, it has been discovered that
Tensor.index_selectachieves the same effect without needing to callindex_cuda.Tensor.index_selectis superior because it supports negative values fordim, unlikesafe_permute.Purpose
safe_permutedid not support negative dim valuesTensor.index_selectwould achieve the same effectChanges
safe_permutein favor ofTensor.index_selectTesting