OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU.
This forum covers OpenCL* for CPU only. OpenCL* for GPU questions can be asked in the GPU Compute Software forum. Intel® FPGA SDK for OpenCL™ questions can be ask in the FPGA Intel® High Level Design forum.
1720 Discussions

Why does OpenCL SDK require root/sudo?


Thus far, the intel compiler packages I've had to install have all allowed non-privileged users to install.  This one give that option.  If you choose that option, the installation immediately states that root/sudo privileges are required.




Why does this package require root?

I manage several intel-based clusters.  Each of which have a variety of intel CPUs and a variety of attached GPUs. These clusters boot from a single imaged served to them via a central boot server and run the OS out of memory.  In order to keep the booted/running OS image as small as possible (ti give the user/application access to as much memory as possible, the vast majority of software packages installed on these systems are installed into a shared parallel filesystem.  Since we have a wide variety of users with a wide variety of needs, we usually wind up installing multiple versions of various packages to deal with the different dependencies of the workflows of different groups which we wouldn't be able to do if we were to allow these packages to install into their standard system locations.

For instance, we currently have 5 different versions of the intel compiler package, 4 different versions of java, 4 different versions of gcc.  Each user chooses the combination of software packages and libraries using modules (

So far, the only reason that root is required for a software install is if it thinks it needs to put binaries/libraries/headers into system locations (which it generally doesn't really need to do if the user's environment is properly setup and maintained) or if it has to load drivers.

Given that this package probably falls into the latter category, is there a way that I can find out exactly what it needs to change on the system?  In order to properly install this package on our clusters, I would either have to incorporate these changes into the base image or I would have to set the node's boot process up such that it would have to install this package every time the node boots. The only other way I could manage this would be to install it onto an imaged node and carefully compare the node with this installed with a freshly booted node and that process is both tedious and prone to errors.

0 Kudos
1 Reply

Thanks for this report.  We will look into it and get back to you soon.  There may be ways to make the SDK packages more flexible going forward.  


0 Kudos