What is the minimal nesesary file subset, required to AMD OpenCL work on Linux?
It took me several steps further, to get all up and running:
There are several important symbolic links for libraries, like *.1, *.1.0.0, so on. They must be copied as well. That got opencl working, but miner still wrongs on the number of availble memory and compute units was displayed incorrectly and i had segfaults.
/opt/amdgpu/share/libdrm/amdgpu.ids
is required for gpu models' names and their video memory sizes being detected and displayed correctly./etc/amd/amdapfxx.blb
is important file, serving for some top secret, unknown reasons.As I was upgrading amdgpu-pro driver it was important not to mess library files from different versions. It was easy to do such mistake, as buildroot caches overlay to output/target structure, if you delete something from overlay you have to delete it from target as well. And such a library mess could lead to segfaults
To further minify subset, libEGL and libGLESv2, libgbm can be deleted. They are not nesesary for OpenCL operation and this saves 1-1.5 megs extra space.
LLVM seems to be unrelated to OpenCL totally, saving huge amount of space. I am not sure, maybe it is required by GL or Vulkan.
And here is complete list of nesesary files and symlinks, with exact locations, in order to get OpenCL properly working:
/usr/lib/libamdocl64.so
/usr/lib/libamdocl12cl64.so
/usr/lib/libdrm.so -> libdrm.so.2.4.0
/usr/lib/libdrm.so.2 -> libdrm.so.2.4.0
/usr/lib/libdrm.so.2.4.0
/usr/lib/libdrm_amdgpu.so -> libdrm_amdgpu.so.1.0.0
/usr/lib/libdrm_amdgpu.so.1 -> libdrm_amdgpu.so.1.0.0
/usr/lib/libdrm_amdgpu.so.1.0.0
/usr/lib/libdrm_radeon.so -> libdrm_radeon.so.1.0.1
/usr/lib/libdrm_radeon.so.1 -> libdrm_radeon.so.1.0.1
/usr/lib/libdrm_radeon.so.1.0.1
/usr/lib/libkms.so -> libkms.so.1.0.0
/usr/lib/libkms.so.1 -> libkms.so.1.0.0
/usr/lib/libkms.so.1.0.0
/usr/lib/libOpenCL.so -> libOpenCL.so.1
/usr/lib/libOpenCL.so.1
/usr/bin/clinfo
/etc/amd/amdapfxx.blb
/etc/OpenCL/vendors/amdocl64.icd
/opt/amdgpu/share/libdrm/amdgpu.ids
Installed beignet to use OpenCL on Intel, but OpenCL programs only work when run as root
I know this is kinda resurrecting an old thread, but I recently solved this problem and haven't found any solutions posted online, so here goes...
With the latest kernels rnodes is enabled by default, but this still doesn't work... Next step is to check the ownership of the /dev/dri files...
e.g. on my system, I get:
$ ls -l /dev/dri
total 0
crw-rw---- 1 root video 226, 0 May 16 21:30 card0
crw-rw---- 1 root video 226, 64 May 16 21:30 controlD64
crw-rw---- 1 root video 226, 128 May 16 21:30 renderD128
Hinting I either need to be root user or a member of the "video" group to access the device...
Add the relevant user (i.e. the one you want to run the opencl program as) to the group:
usermod -a -G video <user>
Then relog and bingo no need to run as root anymore!
Is it possible to install chef-solo without root privilege
Sure - you can install Chef as a gem as non-root if you're running rvm or a similar userspace gem manager.
$ gem install chef
Fetching: chef-11.6.0.gem (100%)
Successfully installed chef-11.6.0
1 gem installed
$ which chef-solo
/Users/tpot/.rvm/gems/ruby-1.9.3-p327/bin/chef-solo
I need to add an old drive to a new Linux install
If you mounted your disk to a directory which already contains data this data will be hidden until removing the mount.
So to keep your data safe you can create a new directory and mount the disk to it.
Related Topics
Deleting All Files Except Ones Mentioned in Config File
Setting Path to Shared Library Inside a Makefile for Compile
Docker: Permission Denied to Local MySQL Volume
How to Inject a Raw L2 Packet as an Incoming Packet to an Interface on Linux
The Most Reliable Way to Terminate a Family of Processes
Gstreamer Video Output Position Tracking and Seeking
Using Source to Include Part of a File in a Bash Script
Record Bash Interaction, Saving Stdin, Stdout Seperately
Google Cloud Storage Buckets: Mounting in a Linux Instance with Global Permissions
How to Handle Sigsegv Signal in Userspace Using Rust
How to Grep for Presence of Specific Hex Bytes in Files
Echo 'The Character - (Dash) in The Unix Command Line
How to Sort The String Array in Linux Bash Shell
Why Cannot I Directly Compare 2 Thread Ids Instead of Using Pthread_Equal
.Dat Attachment Instead of Text Using Mailx in Redhat Linux