This is an archive of the discontinued LLVM Phabricator instance.

[mlir] Remove VectorToROCDL
ClosedPublic

Authored by krzysz00 on Jul 7 2022, 10:41 AM.

Details

Summary

Between issues such as
https://github.com/llvm/llvm-project/issues/56323, the fact that this
lowering (unlike the code in amdgpu-to-rocdl) does not correctly set
up bounds checks (and thus will cause page faults on reads that might
need to be padded instead), and that fixing these problems would,
essentially, involve replicating amdgpu-to-rocdl, remove
--vector-to-rocdl for being broken. In addition, the lowering does not
support many aspects of transfer_{read,write}, like supervectors, and
may not work correctly in their presence.

We (the MLIR-based convolution generator at AMD) do not use this
conversion pass, nor are we aware of any other clients.

Migration strategies:

  • Use VectorToLLVM
  • If buffer ops are particularly needed in your application, use

amdgpu.raw_buffer_{load,store}

A VectorToAMDGPU pass may be introduced in the future.

Diff Detail

Event Timeline

krzysz00 created this revision.Jul 7 2022, 10:41 AM
krzysz00 requested review of this revision.Jul 7 2022, 10:41 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald Transcript
ThomasRaoux accepted this revision.Jul 7 2022, 11:05 AM
This revision is now accepted and ready to land.Jul 7 2022, 11:05 AM
This revision was landed with ongoing or failed builds.Jul 12 2022, 8:21 AM
This revision was automatically updated to reflect the committed changes.
mlir/lib/Conversion/VectorToROCDL/CMakeLists.txt