是否需要使能LLVM 自动向量化? #69
-
请教: |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 1 reply
-
问题一答案为否。问题三答案也是否。 |
Beta Was this translation helpful? Give feedback.
-
乘影是OpenCL设备,triton可以映射到spir-v,从OpenCL的设备支持spir-v应该是可以的 |
Beta Was this translation helpful? Give feedback.
-
据我的理解,GPGPU的编程模型是SIMT,只是在部分指令采用了rvv的编码,并保持语义尽可能相似,但确实不适用rvv的编程模型,只用rvv intrinsic开发kernel会受限。当然底层kernel用intrinsic形式编写也是没有问题的,只要符合支持的指令定义。 |
Beta Was this translation helpful? Give feedback.
-
应该是我的理解存在偏差,前面我的理解是乘影硬件执行的是 RVV 向量指令,而用户在写SIMT程序时通常写的是 scalar 程序,也就是不会使用 rvv 向量指令,那么这里就存在一个从SIMT scalar 程序到硬件RVV向量指令影射的一个gap,我原本以为这个是通过llvm 的自动向量化完成的,何老师回答是否定的,所以看来这里可能就是一个简单的scalar 指令到向量指令的转变,比如,add 转变为vadd, 当然这里还牵扯 mask 的处理等等问题。不知道这个理解是否还是错误的? |
Beta Was this translation helpful? Give feedback.
-
你现在的理解是正确的,编译器用vadd代替add,在向量流水线里执行 |
Beta Was this translation helpful? Give feedback.
问题一答案为否。问题三答案也是否。