OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU.
Announcements
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.
1722 Discussions

Centos 6.5 Support

booth__steve
Beginner
2,285 Views

I need to install Intel OpenCL support under CentOS 6.5, and after considerable research, I believe the answer is the depricated 'OpenCL Applications XE 2013 R3' package.  Problem is, after two days of searching, I cannot find it anywhere.  Surely Intel has an archive somewhere ...?... Can someone direct me to where I might download this package.  I only need OCL 1.2...

Thanks!

Steve

0 Kudos
9 Replies
booth__steve
Beginner
2,285 Views

Any chance I could get a reply to this?  Been many days since I posted it.

Steve

0 Kudos
Jeffrey_M_Intel1
Employee
2,285 Views

Sorry for the delayed reply.   What hardware are you targeting?  That will matter more than the Linux distro you are using. 

For GPU support: If you want to run on 5th Generation Core or newer you can use the most recent driver packages or Media Server Studio.  For older, you can use archived versions of Media Server Studio -- which contain OpenCL.

For CPU only, check the CPU runtimes options on the drivers and runtimes page. https://software.intel.com/en-us/articles/opencl-drivers.

 

0 Kudos
booth__steve
Beginner
2,285 Views

We are not interested in GPU processing, we're targeting recent Intel Core/Xeon CPUs. The Linux distro is critically important because none of the currently available downloads from https://software.intel.com/en-us/intel-opencl will install on our CentOS 6.8 systems. 

Again, none of the standard OpenCL SDK packages on the link you provided will install under CentOS 6.

Do you happen to have a link for archived versions of Media Server Studio?

0 Kudos
Jeffrey_M_Intel1
Employee
2,285 Views

You can get older versions of Media Server Studio by signing up for the community edition, then going into Intel Registration Center and selecting an older version.  However, the method you would use for install on CentOS 6.5 for CPU only would be the same as for the newer versions of Media Server Studio.  You would just do a generic install, which means you would manually copy the OpenCL CPU runtimes to system directories.   No reason to go to an older release.

There should be a more direct route to get the CPU runtimes and SDK installed on CentOS 6.5/6.8.  The main concern is that the supported CPU instruction sets are available.  Let me see if we can find a better recommendation for you.

Just to clarify, is your goal to install to CentOS 6.5 or 6.8? 

0 Kudos
booth__steve
Beginner
2,285 Views

Correct. CentOS 6.8 (although, I believe the kernel is the same in 6.5-6.9)

If I'm going to have to do a 'generic install', then I'll need a description of what files need to be copied where, of course.

Oh, and thank you, Jeff, for your help.  It's greatly appreciated.

Steve

0 Kudos
Jeffrey_M_Intel1
Employee
2,285 Views

Sorry for the delay getting back to you.  Just wanted to let you know that I was able to get code to compile and run with the experimental OpenCL 2.1 in CentOS 6.8. I will write back with a more detailed description soon.

0 Kudos
booth__steve
Beginner
2,285 Views

This is fantastic; thanks, Jeff.  Let me know when you have something I can test.

Steve

0 Kudos
booth__steve
Beginner
2,285 Views

Hello?

0 Kudos
Jeffrey_M_Intel1
Employee
2,285 Views

Very sorry for the delayed reply again.

I've successfully tested this combination in CentOS 6.8:

  • Latest CPU-only runtime package (16.1.2)
  • Latest Intel(r) SDK for OpenCL(tm) Applications package

Steps:

yum install redhat-lsb-core
yum groupinstall "Development tools"

tar -xvzf opencl_runtime_16.1.2_x64_rh_6.4.0.37.tgz 
cd opencl_runtime_16.1.2_x64_rh_6.4.0.37
run install_GUI.sh


tar -xvzf intel_sdk_for_opencl_2017_7.0.0.2511_x64.tgz 
cd intel_sdk_for_opencl_2017_7.0.0.2511_x64
run install_GUI.sh

For simplicity, skip the "Intel Debugger for Heterogeneous Compute" components with a custom install.

You can test like this with the basic capabilities sample:

unzip intel_ocl_caps_basic.zip 
cd CapsBasic/
make
./CapsBasic 
[user@localhost CapsBasic]$ ./CapsBasic 
Number of available platforms: 2
Platform names:
    [0] Intel(R) OpenCL [Selected]
    [1] Experimental OpenCL 2.1 CPU Only Platform
Number of devices available for each type:
    CL_DEVICE_TYPE_CPU: 1
    CL_DEVICE_TYPE_GPU: 0
    CL_DEVICE_TYPE_ACCELERATOR: 0

*** Detailed information for each device ***

CL_DEVICE_TYPE_CPU[0]
    CL_DEVICE_NAME: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
    CL_DEVICE_AVAILABLE: 1
    CL_DEVICE_VENDOR: Intel(R) Corporation
    CL_DEVICE_PROFILE: FULL_PROFILE
    CL_DEVICE_VERSION: OpenCL 1.2 (Build 37)
    CL_DRIVER_VERSION: 1.2.0.37
    CL_DEVICE_OPENCL_C_VERSION: OpenCL C 1.2 
    CL_DEVICE_MAX_COMPUTE_UNITS: 1
    CL_DEVICE_MAX_CLOCK_FREQUENCY: 1600
    CL_DEVICE_MAX_WORK_GROUP_SIZE: 8192
    CL_DEVICE_ADDRESS_BITS: 64
    CL_DEVICE_MEM_BASE_ADDR_ALIGN: 1024
    CL_DEVICE_MAX_MEM_ALLOC_SIZE: 338732032
    CL_DEVICE_GLOBAL_MEM_SIZE: 1354928128
    CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE: 131072
    CL_DEVICE_GLOBAL_MEM_CACHE_SIZE: 262144
    CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE: 64
    CL_DEVICE_LOCAL_MEM_SIZE: 32768
    CL_DEVICE_PROFILING_TIMER_RESOLUTION: 1
    CL_DEVICE_IMAGE_SUPPORT: 1
    CL_DEVICE_ERROR_CORRECTION_SUPPORT: 0
    CL_DEVICE_HOST_UNIFIED_MEMORY: 1
    CL_DEVICE_EXTENSIONS: cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_depth_images cl_khr_3d_image_writes cl_intel_exec_by_local_thread cl_khr_spir cl_khr_fp64 cl_intel_vec_len_hint 
    CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT: 1
    CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG: 1
    CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT: 1
    CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE: 1
    CL_DEVICE_NATIVE_VECTOR_WIDTH_INT: 4
    CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG: 2
    CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT: 8
    CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE: 4

 

And like this with the SimpleOptimizations sample:

unzip intel_ocl_simple_optimizations.zip 
cd SimpleOptimizations
make
./SimpleOptimizations -s 1024 -p "Intel"
(runs with 16.1.2 CPU implementation)

./SimpleOptimizations -s 1024 -p "Experimental"
(runs with experimental implementation from SDK)

 

0 Kudos
Reply