Packaging request for OpenCL working on AMD Graphics Cards with Radeon Open Compute
I'm looking to package up and use an R package r-gpur to perform some matrix operations using OpenCL with my AMD graphics card. It in turn depends on r-viennacl (which also needs packaging), which in turn depends on the ViennaCL C++ header library (which I guess needs packaging as well?) which then depends on having a bunch of dependencies and potentially modifications of packages such as MESA, or potentially a completely different graphics driver. I would prefer to stick with a free software stack. I was originally hoping MESA would be up to the task, but from what I have read, Radeon Open Compute is really the only thing providing mature support for OpenCL.
- https://www.x.org/wiki/RadeonFeature/#Decoder_ring_for_engineering_vs_marketing_names
- http://viennacl.sourceforge.net/doc/manual-installation.html
- https://dri.freedesktop.org/wiki/GalliumCompute/
- https://github.com/cdeterman/gpuR/wiki/Build-Instructions-for-Linux
I can definitely package r-gpur and r-viennacl myself (once their system-level dependencies are satisfied), but its not clear to me what is involved with making openCL work at all or linking it with ViennaCL.
From that thread it looks like maybe ViennaCL might need to be using the amdgpu driver with ROCm or less preferably amdgpu-pro.
- https://github.com/cdeterman/gpuR/issues/77
- https://linuxconfig.org/install-opencl-for-the-amdgpu-open-source-drivers-on-debian-and-ubuntu
- https://math.dartmouth.edu/~sarunas/amdgpu.html
Here is a link to an effort to port Radeon-Open-Compute (ROCm) to Nix:
- https://github.com/nixos-rocm/nixos-rocm
- https://github.com/ROCm-Developer-Tools/ROCclr
- https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime
- https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html
Note that all these tools in the ROCm stack are NCSA licensed: