Package Details: opencl-amd-dev 1:6.2.4-2

Git Clone URL: https://aur.archlinux.org/opencl-amd-dev.git (read-only, click to copy)
Package Base: opencl-amd-dev
Description: OpenCL SDK / HIP SDK / ROCM Compiler. This package needs at least 20GB of disk space.
Upstream URL: http://www.amd.com
Licenses: custom:AMD
Conflicts: composablekernel-dev, hipblas, hipblas-dev, hipblaslt, hipblaslt-dev, hipcub, hipcub-dev, hipfft, hipfft-dev, hipfort, hipfort-dev, hipify-clang, hiprand, hiprand-dev, hipsolver, hipsolver-dev, hipsparse, hipsparse-dev, hipsparselt, hipsparselt-dev, hiptensor, hiptensor-dev, migraphx, migraphx-dev, miopen, miopen-hip, miopen-hip-dev, mivisionx, mivisionx-dev, omniperf, omnitrace, openmp-extras-dev, rccl, rccl-dev, rocalution, rocalution-dev, rocblas, rocblas-dev, rocfft, rocfft-dev, rocm-developer-tools, rocm-hip-libraries, rocm-hip-runtime-dev, rocm-hip-sdk, rocm-llvm, rocm-ml-libraries, rocm-ml-sdk, rocm-opencl-sdk, rocprim, rocprim-dev, rocprofiler-sdk, rocprofiler-sdk-roctx, rocrand, rocrand-dev, rocsolver, rocsolver-dev, rocsparse, rocsparse-dev, rocthrust, rocthrust-dev, rocwmma-dev, rpp, rpp-dev
Provides: composablekernel-dev, half, hipblas, hipblas-dev, hipblaslt, hipblaslt-dev, hipcub, hipcub-dev, hipfft, hipfft-dev, hipfort, hipfort-dev, hipify-clang, hiprand, hiprand-dev, hipsolver, hipsolver-dev, hipsparse, hipsparse-dev, hipsparselt, hipsparselt-dev, hiptensor, hiptensor-dev, migraphx, migraphx-dev, miopen, miopen-hip, miopen-hip-dev, mivisionx, mivisionx-dev, omniperf, omnitrace, openmp-extras-dev, rccl, rccl-dev, rocalution, rocalution-dev, rocblas, rocblas-dev, rocfft, rocfft-dev, rocm-developer-tools, rocm-hip-libraries, rocm-hip-runtime-dev, rocm-hip-sdk, rocm-llvm, rocm-ml-libraries, rocm-ml-sdk, rocm-opencl-sdk, rocprim, rocprim-dev, rocprofiler-sdk, rocprofiler-sdk-roctx, rocrand, rocrand-dev, rocsolver, rocsolver-dev, rocsparse, rocsparse-dev, rocthrust, rocthrust-dev, rocwmma-dev, rpp, rpp-dev
Submitter: luciddream
Maintainer: luciddream
Last Packager: luciddream
Votes: 8
Popularity: 0.46
First Submitted: 2021-12-26 15:01 (UTC)
Last Updated: 2024-11-10 10:22 (UTC)

Required by (154)

Sources (54)

Pinned Comments

luciddream commented on 2022-01-12 16:47 (UTC) (edited on 2024-11-07 20:44 (UTC) by luciddream)

Latest release: 6.2.4. It uses 25.93GB of disk.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 Next › Last »

BishopWolf commented on 2022-12-16 09:25 (UTC) (edited on 2022-12-16 09:26 (UTC) by BishopWolf)

Hi @luciddream I think the package is almost ready, however it's missing a conflicts section, basically it shall have conflict with all the packages it provides. Therefore, no independent package version shall be allowed (this case breaks the functionality).

Example: having rocsolver installed independently and then installing opencl-amd you end up with two roctracer versions that create conflict in cmake. Moreover, removing roctracer after installing opencl-amd left you without roctracer. All these is avoided by removing roctracer before installing opencl-amd, and this shall be done by the package itself. This is the reason of the conflicts section.

luciddream commented on 2022-12-14 23:52 (UTC)

I've added the packages to the provides list. At some point I guess we need to take care of the conflicts too. I didn't have time to make any tests, I will do some tomorrow.

luciddream commented on 2022-12-10 16:45 (UTC) (edited on 2022-12-10 17:24 (UTC) by luciddream)

Thanks @BishopWolf, I will also add rocprofiler, roctracer and hsa-amd-aqlprofile to the next build, but not -bin. I understand where they are coming from but if we add one -bin package then we will have to rename everything to -bin and then there is no point to provide the same names as the source versions of the same packages.

EDIT: oh, -bin is just what your AUR helper is reporting, the real dependency is actually hsa-amd-aqlprofile. So we are fine :)

p.s I now have 32GB of RAM (I finally got one on a good price) so also compile ROCm software myself.

BishopWolf commented on 2022-12-10 14:14 (UTC)

I'm trying my solution manually and it is working to remove hip and miopen from pytorch requirements, but now it is asking for other packages

pamac install python-pytorch-opt-rocm
Warning: python-pytorch-opt-rocm is only available from AUR
Preparing...
Checking python-pytorch-opt-rocm dependencies...
Checking roctracer dependencies...
Checking rocprofiler dependencies...
Checking hsa-amd-aqlprofile-bin dependencies...
Resolving dependencies...
Checking inter-conflicts...

To build (4):
  hsa-amd-aqlprofile-bin   5.3.3-1                                              AUR
  rocprofiler              5.3.0-1                                              AUR
  roctracer                5.3.0-1                                              AUR
  python-pytorch-opt-rocm  1.12.1-4                                             AUR
To remove (1):
  python-pytorch           1.13.0-3  (Conflicts With: python-pytorch-opt-rocm)  community

Total removed size: 505.8 MB

Edit build files : [e] 
Apply transaction ? [e/y/N] 

Transaction cancelled.

To remove those dependencies (that are already installed) I simply added this to opencl-amd PKGBUILD

provides=('opencl-driver' 'rocm-core' 'hip' 'hip-dev' 'hip-doc' 'hip-samples' 'hsakmt-roct-dev' 'hsa-rocr' 'hsa-rocr-dev' 'hsa-amd-aqlprofile-bin' 'rocminfo' 'hip-runtime-amd' 'rocm-device-libs' 'rocm-language-runtime' 'rocm-hip-runtime' 'rocm-ocl-icd' 'rocm-opencl' 'rocm-opencl-dev' 'rocm-opencl-runtime' 'rocm-clang-ocl' 'openmp-extras-runtime' 'rocm-cmake' 'rocm-utils' 'rocm-smi-lib' 'rocprofiler' 'roctracer')

voilà, no more required dependencies

pamac install python-pytorch-opt-rocm
Warning: python-pytorch-opt-rocm is only available from AUR
Preparing...
Checking python-pytorch-opt-rocm dependencies...
Resolving dependencies...
Checking inter-conflicts...

To build (1):
  python-pytorch-opt-rocm  1.12.1-4                                             AUR
To remove (1):
  python-pytorch           1.13.0-3  (Conflicts With: python-pytorch-opt-rocm)  community

Total removed size: 505.8 MB

Edit build files : [e] 
Apply transaction ? [e/y/N] y

Cloning python-pytorch-rocm build files...
Generating python-pytorch-rocm information...

Building python-pytorch-rocm...

pytorch is building now

luciddream commented on 2022-12-09 13:48 (UTC)

Hey @BishopWolf, no, I didn't misunderstood, in fact after more thought I think it will be fine to add both hip and miopen to the packages. But it's not something that is urgent at the moment. I will add them on the next official ROCm release.

BishopWolf commented on 2022-12-09 10:30 (UTC)

Hello @luciddream: I think you misunderstood, hip-runtime-amd already provides hip and miopen-hip already provides miopen. But in the system they are not declared explicitly. In the example, python-pytorch-opt-rocm is asking explicitly for a provider of both packages that are already installed in the system, but no provider has been declared. Hence, you need to modify the provides section here as

+ provides(...   'miopen-hip' *'miopen'* 'miopen-hip-dev' ...)

the same for opencl-amd

+ provides(...   'hip-dev' *'hip'* 'hip-doc' ...)

That's all

luciddream commented on 2022-12-03 16:29 (UTC) (edited on 2022-12-03 16:30 (UTC) by luciddream)

@BishopWolf thanks, your comment reminded me there is more to these packages than the Ubuntu Installer wants you to believe. I will have to keep a better eye on every release.

I think that the easiest way for now is for you (and everyone else that wants to install a software) to manually change the dependencies of the package you are trying to install, and build it without an AUR helper.

I will probably add hip and miopen in a future release but I don't see it as necessary or urgent. Currently opencl-amd and -dev only provide hip-runtime-amd and miopen-hip, so the package is fine as it is.

BishopWolf commented on 2022-12-03 14:51 (UTC) (edited on 2022-12-03 15:01 (UTC) by BishopWolf)

Hi, when installing packages they do something like this

Choose a provider for hip:
1:  hip-runtime-amd     5.3.3-1  AUR
2:  hip-runtime-nvidia  5.3.0-3  AUR

Enter a number (default=1): ^C  

Choose a provider for miopen:
1:  miopen-hip     5.3.0-1  AUR
2:  miopen-opencl  5.3.0-1  AUR

Enter a number (default=1): ^Z
[1]+  Stopped                 pamac build python-pytorch-opt-rocm

These two packages are included, but are not declared in the "provides" section. I think this will be the solution.

EDIT: You have to add "hip" to the provides section in "opencl-amd"; and "miopen" here

luciddream commented on 2022-11-25 20:51 (UTC) (edited on 2022-11-25 21:44 (UTC) by luciddream)

@BishopWolf sorry for late reply, I've been pretty busy as always in weekdays.

Both opencl-amd and opencl-amd-dev are part of the same Ubuntu package, the only reason I've separated them is so people can use opencl and rocm runtime without having to install 10+GB of files, and this strategy is working fine so far (I think). To be honest, opencl-amd-dev is a failed name for this package, it should be opencl-amd-sdk. So it has nothing to do with header files or binary files.

Roctracer if I'm not mistaken is being used by clinfo so it makes sense to include it in opencl-amd package. But that doesn't mean it should not work for people that have also installed opencl-amd-dev package. If you have trouble with compiling something that needs roctracer, please provide logs or the software you are trying to compile so I can check as well.

edit: More specifically, this is how the ROCtracer works so it makes sense to keep it with runtime libraries, and these are present inside opencl-amd

The only problem is I'm still on 16GB of RAM and I can't seem to decide on my next RAM upgrade yet. Every RAM kit I find is either too slow or too expensive. So I might not be able to compile everything yet.

BishopWolf commented on 2022-11-24 11:33 (UTC) (edited on 2022-11-24 18:15 (UTC) by BishopWolf)

Missing roctracer, we are closer to full functionality, thanks

Edit: in opencl-amd there is the roctracer-dev, but there are no binaries.

Seems odd that there is a rocm-dev section there. Have you considered putting all binaries there and all headers here?