hcc
hcc copied to clipboard
HCC is an Open Source, Optimizing C++ Compiler for Heterogeneous Compute currently for the ROCm GPU Computing Platform
```cpp // When functions in classes tuple_value and tuple_impl are marked with // hc and cpu attributes there are linking problems: // // /tmp/tmp.xgmMisjvuh/test_hc.cpp.host.o: In function `main': // (.text+0x7af): undefined...
``` c++ #include int main() { hc::array_view g_mm(256, 8); // generate some low quality pseudo random data unsigned int s[4] = {0xA713B461, 0x7F1A1723, 0x162B712A, 0x91AB2673}; for(int y = 0; y...
We don't know why, but sometimes HIP's shuffle functions can produce incorrect results. We assume that incorrect ISA is produced. If we replace those `__shfl*` functions with HCC's `hc::__shfl*`, everything...
Method then() in completion_future, responsible for launching a callback functor when completion_future is ready, takes a const reference to functor and then passes it **by reference to newly created thread:**...
I use 'tile_static std::atomic_int' define a int variate in my code. But there is compile problem as follows: **/opt/rocm/hcc-hsail/compiler/bin/clamp-device: line 167: 13996 Killed $OPT -load $LIB/LLVMPromote.so -load $LIB/LLVMEraseNonkernel.so -load $LIB/LLVMTileUniform.so...
Hi - I am trying to contribute a stream benchmark using HCC as aluded to #101 . the code does compile alright with the default `hcc-config --cxxflags` and `hcc-config --ldflags`,...
In this example on host side cpu constructor of Inner is not called if gpu constructor is marked as default: ``` c++ int main() { struct Inner { Inner() [[cpu]]...
This adds back all targets supported by ROCm as per https://llvm.org/docs/AMDGPUUsage.html#processors. It also normalises the triple to match that specified by the same source. Goes hand in hand with https://github.com/RadeonOpenCompute/hcc-clang-upgrade/pull/149.
This is a copy of the internal issue SWDEV-167691. In the attached file, the loop condition depends on __ockl_lane_u32() which itself expands to mbcnt_lo and mbcnt_hi. These intrinsics are marked...
``` c++ #include int main() { struct Test { int arr[10]; }; Test test; hc::array_view result(1); parallel_for_each(hc::extent(1), [=](hc::index i) [[hc]] { result[0] = test.arr[0]; }); return 0; } ``` This...