Package Details: hcc 2.6.0-1

Git Clone URL: https://aur.archlinux.org/hcc.git (read-only)
Package Base: hcc
Description: HCC is an Open Source, Optimizing C++ Compiler for Heterogeneous Compute
Upstream URL: https://github.com/RadeonOpenCompute/hcc
Licenses: NCSAOSL
Conflicts: hcc
Provides: hcc
Submitter: leidola
Maintainer: farnoy
Last Packager: farnoy
Votes: 8
Popularity: 0.152101
First Submitted: 2017-07-25 21:12
Last Updated: 2019-07-14 19:21

Latest Comments

1 2 3 Next › Last »

naetherm commented on 2019-10-19 09:57

Created a PKGBUILD for 2.9.0: https://gist.github.com/naetherm/0d48a300a8c2feb52a1e9b20b133efe3

Unfortunately, there is still a linking error: : && /xxx/hcc/src/build/compiler/bin/clang++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -O3 -DNDEBUG -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now --amdgpu-target=gfx803 --amdgpu-target=gfx900 --amdgpu-target=gfx906 cmake-tests/CMakeFiles/cmake-test.dir/cmake-test.cpp.o -o bin/cmake-test -Wl,-rpath,/xxx/hcc/src/build/lib:/opt/rocm/lib lib/libhc_am.so.2.9 -hc -L /xxx/hcc/src/build/lib -Wl,-rpath /xxx/hcc/src/build/lib -Wl,--whole-archive lib/libmcwamp.so.2.9 -Wl,--no-whole-archive -ldl -lm /opt/rocm/lib/libhsa-runtime64.so && : ld: /xxx/hcc/src/build/compiler/bin/../../lib/libhc_am.so: undefined reference to `hsa_amd_memory_lock_to_pool'

rigred commented on 2019-08-20 09:36

Below PKGBUILD gist however does not build yet. Because of course there are bugs with the upstream build process.

rigred commented on 2019-08-20 09:28

https://gist.githubusercontent.com/rigred/e1733744168f7547c4be0354ff99f66e/raw/c45c408e82a8318c739143a53e113886f2dc77ae/PKGBUILD%2520hcc

In future this should be trivially updatable with just a pkgver change and updpkgsums. Can also change it to have version numbers for each dependency incase they run out of sync at some stage.

Made 2.7.0 build that fixes up a few things about the PKGBUILD. But I gotta say the way the AMD devs have packaged their files on github is extremely silly. They used reponame/roc-hcc-$pkgver or reponame/roc-ocl-$pkgver everywhere. So when creating source dir with PKGBUILD we have to uniquely rename and shuffle everything to keep names from clashing.

aviallon commented on 2019-07-14 15:38

Version 2.6.0 is out

farnoy commented on 2019-07-09 10:40

@steinbuch Looks like this function was added in rocr-runtime 2.4.0, do you have that up to date? https://github.com/RadeonOpenCompute/ROCR-Runtime/blame/master/src/core/inc/hsa_ext_amd_impl.h#L176

steinbuch commented on 2019-07-07 09:38

Very recently I'm getting a build failure:

[4586/4809] Building CXX object lib/hsa/CMakeFiles/hc_am.dir/hc_am.cpp.o FAILED: lib/hsa/CMakeFiles/hc_am.dir/hc_am.cpp.o /build/hcc/src/build/compiler/bin/clang++ -DGTEST_HAS_TR1_TUPLE=0 -DHC_PRINTF_SUPPORT_ENABLE -Dhc_am_EXPORTS -Iinclude -I/build/hcc/src/hcc/include -I/build/hcc/src/hcc/compiler/include -Ilib -isystem /build/hcc/src/hcc/utils -isystem /opt/rocm/include -march=native -mtune=native -O3 -pipe -fstack-protector-strong -fno-plt -O3 -DNDEBUG -fPIC -std=c++11 -hc -fPIC -gline-tables-only -MD -MT lib/hsa/CMakeFiles/hc_am.dir/hc_am.cpp.o -MF lib/hsa/CMakeFiles/hc_am.dir/hc_am.cpp.o.d -o lib/hsa/CMakeFiles/hc_am.dir/hc_am.cpp.o -c /build/hcc/src/hcc/lib/hsa/hc_am.cpp /build/hcc/src/hcc/lib/hsa/hc_am.cpp:626:22: error: use of undeclared identifier 'hsa_amd_memory_lock_to_pool' hsa_status = hsa_amd_memory_lock_to_pool(hostPtr, size, &agents[0], num_visible_ac, alloc_region, 0, &devPtr); ^ 1 error generated. /build/hcc/src/hcc/lib/hsa/hc_am.cpp:626:22: error: use of undeclared identifier 'hsa_amd_memory_lock_to_pool' hsa_status = hsa_amd_memory_lock_to_pool(hostPtr, size, &agents[0], num_visible_ac, alloc_region, 0, &devPtr); ^ 1 error generated.

farnoy commented on 2019-03-07 19:25

Thanks for pointing out the broken symlink, should be fixed now.

As for what rocblas and other tools expect, I'm really conflicted. I don't have access to the scripts Radeon folks use to package official releases. I am mostly just building out default or sensible paths encoded in CMake which don't always align with official packages. It would take a lot of effort to compare AUR packages against repo.radeon.com and make sure that every file is located in the same place. It's probably the best solution we have, but I don't have time right now to go over everything.

There are also things that are not packaged (yet), like legacy CodeXLAnalyzer libs for profiling. Even though it's deprecated, it's dynamically linked by tensorflow-upstream (tensorflow-rocm on pypi).

rigred commented on 2019-03-06 21:42

@farnoy

PKGBUILD needs to be patched

diff --git a/PKGBUILD b/PKGBUILD
index 153e9d9..fb48daf 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -37,7 +37,7 @@ package() {
   mkdir -p "$pkgdir/usr/bin"
   for fn in hcc hcc-config
   do
-    ln -s /opt/rocm/bin/$fn "$pkgdir/usr/bin/$fn"
+    ln -s /opt/rocm/hcc/bin/$fn "$pkgdir/usr/bin/$fn"
   done

   # additional link to make hcc demos happy

Beyond that the files may need to be properly symlinked to /opt/rocm/bin/hcc and /opt/rocm/bin/hcc-config which is a path expected by many other tools. Optionally setting TENSILE_ROCM_ASSEMBLER_PATH="/opt/rocm/hcc/bin/" environment variable can be used to workaroudn the issue. By default rocblas expects /opt/rocm/bin/

ulyssesrr commented on 2019-03-01 02:45

@farnoy I think what @rigred meant is that the symlinks are broken:

Current:

/usr/bin/hcc -> /opt/rocm/bin/hcc
/usr/bin/hcc-config -> /opt/rocm/bin/hcc-config

Should be:

/usr/bin/hcc -> /opt/rocm/hcc/bin/hcc
/usr/bin/hcc-config -> /opt/rocm/hcc/bin/hcc-config

farnoy commented on 2019-01-02 11:43

@rigred I symlinked these two to have them in PATH, other ROCm projects just expect to find it there. Another solution could be to modify the PATH system-wide, but I'm not sure that's the best way.