cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

dmeiser
Elite

amd and nvidia platform incompatibility?

Installing amd opencl platform breaks previously working nvidia platform.

Hi,

 

I've been using an NVIDIA opencl platform successfully for a while. Then I installed the AMD stream sdk as well in order to test some of my opencl code on the cpu. Now I get weird segmentation faults whenever I query the platforms on the system.

The output from CLInfo is attached.

 

Any suggestions or comments are appreciated.

Cheers,

Dominic

Number of platforms: 2 Platform Profile: FULL_PROFILE Platform Version: OpenCL 1.1 ATI-Stream-v2.3 (451) Platform Name: ATI Stream Platform Vendor: Advanced Micro Devices, Inc. Platform Extensions: cl_khr_icd cl_amd_event_callback cl_amd_offline_devices Platform Profile: FULL_PROFILE Platform Version: OpenCL 1.0 CUDA 3.2.1 Platform Name: NVIDIA CUDA Platform Vendor: NVIDIA Corporation Platform Extensions: cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll Platform Name: ATI Stream Number of devices: 1 Device Type: CL_DEVICE_TYPE_CPU Device ID: 4098 Max compute units: 4 Max work items dimensions: 3 Max work items[0]: 1024 Max work items[1]: 1024 Max work items[2]: 1024 Max work group size: 1024 Preferred vector width char: 16 Preferred vector width short: 8 Preferred vector width int: 4 Preferred vector width long: 2 Preferred vector width float: 4 Preferred vector width double: 0 Native vector width char: 16 Native vector width short: 8 Native vector width int: 4 Native vector width long: 2 Native vector width float: 4 Native vector width double: 0 Max clock frequency: 2667Mhz Address bits: 64 Max memory allocation: 1073741824 Image support: No Max size of kernel argument: 4096 Alignment (bits) of base address: 1024 Minimum alignment (bytes) for any datatype: 128 Single precision floating point capability Denorms: Yes Quiet NaNs: Yes Round to nearest even: Yes Round to zero: Yes Round to +ve and infinity: Yes IEEE754-2008 fused multiply-add: No Cache type: Read/Write Cache line size: 64 Cache size: 32768 Global memory size: 3221225472 Constant buffer size: 65536 Max number of constant args: 8 Local memory type: Global Local memory size: 32768 Kernel Preferred work group size multiple: 1 Error correction support: 0 Unified memory for Host and Device: 1 Profiling timer resolution: 1 Device endianess: Little Available: Yes Compiler available: Yes Execution capabilities: Execute OpenCL kernels: Yes Execute native function: Yes Queue properties: Out-of-Order: No Profiling : Yes Platform ID: 0x7f1002f86880 Name: Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz Vendor: GenuineIntel Driver version: 2.0 Profile: FULL_PROFILE Version: OpenCL 1.1 ATI-Stream-v2.3 (451) Extensions: cl_amd_fp64 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_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_media_ops cl_amd_popcnt cl_amd_printf Platform Name: NVIDIA CUDA Number of devices: 1 Device Type: CL_DEVICE_TYPE_GPU Device ID: 4318 Max compute units: 12 Max work items dimensions: 3 Max work items[0]: 512 Max work items[1]: 512 Max work items[2]: 64 Max work group size: 512 Preferred vector width char: 1 Preferred vector width short: 1 Preferred vector width int: 1 Preferred vector width long: 1 Preferred vector width float: 1 Preferred vector width double: 0

0 Likes
25 Replies
dmeiser
Elite

amd and nvidia platform incompatibility?

This very simple program that just queries the names of the two installed platforms also crashes.

#include "CL/cl.h" #include <stdio.h> #define MAX_PLATFORM_NAME 120 int main() { cl_uint numPlatForms; cl_int err; cl_platform_id *platforms = 0; size_t size; char name[MAX_PLATFORM_NAME]; err = clGetPlatformIDs(0, 0, &numPlatForms); if (numPlatForms > 0){ platforms = (cl_platform_id *)malloc(numPlatForms * sizeof(cl_platform_id)); err = clGetPlatformIDs(2, platforms, 0); err = clGetPlatformInfo(platforms[1], CL_PLATFORM_NAME, MAX_PLATFORM_NAME * sizeof(char*), (void*)name, 0); printf("Platform #1: %s\n", name); err = clGetPlatformInfo(platforms[0], CL_PLATFORM_NAME, MAX_PLATFORM_NAME * sizeof(char*), (void*)name, 0); printf("Platform #2: %s\n", name); free(platforms); platforms = 0; } return 0; }

0 Likes
himanshu_gautam
Grandmaster

amd and nvidia platform incompatibility?

dmeiser,

Does your clInfo crash at the point till which you have posted the clInfo Output.

I am able to run samples on both ATI GPU and NV GPU on my system.

My system config:

SDK 2.3, Catalyst 10.12, NV Driver latest(can't remember the version),

Cypress (ATI GPU) and Tesla (NV GPU)

What is your system configuration?

0 Likes
dmeiser
Elite

amd and nvidia platform incompatibility?

Dear Himanshu,

Thank you for your reply.

Yes, clGetPlatformInfo crashes with error code -30 (invalid value). My setup is APP SDK 2.3, NV driver is 260.19.26 (latest), all for 64 bit linux. I don't have any AMD drivers installed since I don't have an AMD graphics card. Should I install these nonetheless? Even if I plan to run all opencl calculations with the AMD platform just on the CPU?

Thanks in advance,

Dominic

0 Likes
MicahVillmow
Staff
Staff

amd and nvidia platform incompatibility?

dmeiser,
We only support systems that have AMD products in them. Please install NVidia's or Intel's OpenCL SDK software.
0 Likes
nou
Exemplar

amd and nvidia platform incompatibility?

from which SDK do you have libOpenCL.so? try change it from AMD to nVidia and vice versa. it just an idea.

0 Likes
dmeiser
Elite

amd and nvidia platform incompatibility?

Dear Micah,

My system has an AMD CPU. Isn't the ability to run opencl code on a system with just a cpu supposed to be one of the nice features of the AMD stream sdk? To me this is one of the few areas where AMD has a leg up on the competition (nvidia's sdk cannot compile opencl for cpu and Intel's SDK is an alpha version that runs only under windows). Seems a bit odd that would give up that advantage.

 

Cheers,

Dominic

0 Likes
dmeiser
Elite

amd and nvidia platform incompatibility?

Dear nou,

I linked against both version of libOpenCL.so, no difference. 

Cheers,

Dominic

0 Likes
MicahVillmow
Staff
Staff

amd and nvidia platform incompatibility?

dmeiser,
Your compute info shows that you have an Intel CPU, not an AMD CPU.
Name: Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz

Since you have neither an AMD CPU or an AMD GPU, we do not provide any guarantees or support with our SDK.

0 Likes
dmeiser
Elite

amd and nvidia platform incompatibility?

Dear Micah,

I'm not expecting any guarantees nor official support from AMD. Just posting in a public forum to see if anybody has any suggestions/solutions. Doesn't have to be a solution that's officially sanctioned by AMD nor would I expect anybody at AMD to invest any time researching my problem.

Out of curiosity, would you really expect the behavior to be any different if my CPU was made by AMD?

Cheers,

Dominic

0 Likes