[devfunc] Re-implement ballot using AMDGCN builtins
- As the signature of `amdgcn.icmp` is changed for next-gen chip, using
clang builtins is portable way to hide that details.
[ROCm/hip commit: a64637da2c]
这个提交包含在:
1 父节点
bdb3fd30d5
当前提交
cc4de2bc28
1 个文件已更改
+8
@@ -736,13 +736,21 @@ int __any(int predicate) {
|
||||
__device__
|
||||
inline
|
||||
unsigned long long int __ballot(int predicate) {
|
||||
#if defined(__HCC__)
|
||||
return __llvm_amdgcn_icmp_i32(predicate, 0, ICMP_NE);
|
||||
#else
|
||||
return __builtin_amdgcn_uicmp(predicate, 0, ICMP_NE);
|
||||
#endif
|
||||
}
|
||||
|
||||
__device__
|
||||
inline
|
||||
unsigned long long int __ballot64(int predicate) {
|
||||
#if defined(__HCC__)
|
||||
return __llvm_amdgcn_icmp_i32(predicate, 0, ICMP_NE);
|
||||
#else
|
||||
return __builtin_amdgcn_uicmp(predicate, 0, ICMP_NE);
|
||||
#endif
|
||||
}
|
||||
|
||||
// hip.amdgcn.bc - lanemask
|
||||
|
||||
在新工单中引用
屏蔽一个用户