Commit Graph

12 Commits

Author SHA1 Message Date
Maneesh Gupta b01ac26948 Make HIP functional again with HCC from ROCm 1.9.x
Change-Id: I214acdfd0b79dcf783993e44fe31baee64fd4dc3
2018-10-24 10:41:56 +05:30
Aaron Enye Shi 03822afaa9 Replace IRIF fences with atomic_work_item_fence 2018-10-04 21:47:28 +00:00
Yaxun Sam Liu 701519d27d Fix ambiguity of __clz and __clzll 2018-08-31 18:07:57 -04:00
Aaron Enye Shi bc8bc8cac4 Add func attributes to match ocml and ockl 2018-07-10 18:27:32 +00:00
Aaron Enye Shi f8746ecc64 Remove activelanemask asm using ockl and llvm instrinsics
Replace implementation of __any and __all functions using OCKL functions and replaced __ballot implementation to use llvm intrinsic llvm.amdgcn.icmp.i32 instead of calls to __activelanemask_v4_b64_b1 which is not convergent.
2018-07-10 17:56:57 +00:00
Yaxun (Sam) Liu 9aaa792286 Add workaround __local_to_generic 2018-07-09 17:56:33 +00:00
Aaron Enye Shi b362c53475 Implement min/max functions in HIP header
Remove using hc::precise_math min and max. Instead we can use ocml directly for device and std:: for host.
2018-07-05 20:15:41 +00:00
Aaron Enye Shi 96ab7c7b25 Implement Memory Fence Functions in header
Enabled __llvm_fence_* functions for seq_cst.
2018-07-04 23:35:24 +00:00
Aaron Enye Shi ce9ca744dc Workaround cast warning of smaller integer type for __to_local
For now, guard the __to_local function for device compile only since a local pointer should be same size as unsigned int on GPU compile. Also change to void* instead of char*.
2018-07-04 20:52:55 +00:00
Aaron Enye Shi 5d4986d470 Replace __hip_hc_ir_ inline asm with __ockl_* functions 2018-06-20 20:40:14 +00:00
Aaron Enye Shi ad5f1dcbf2 Implement device_functions.cpp into HIP headers
Move all Integer Intrinsics, device_functions.cpp definitions and HIP specific device functions into HIP headers. Implement the device functions using llvm_intrinsics and device-libs functions instead of calling hc::__* functions. Remove device_functions.cpp since everything is now defined in header.
2018-06-20 17:39:23 +00:00
Aaron Enye Shi 366207f8af Split __llvm and device lib funcs into new headers 2018-06-20 17:39:06 +00:00