cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

alexander64
Journeyman III

x64 OpenCL on FirePro v9800

Hello,

I have AMD FirePro v9800 and clGetDeviceInfo with CL_DEVICE_ADDRESS_BITS tells me '32'. Is there any way to make it work like a x64 bit system?

0 Likes
7 Replies
Wenju
Elite

Hi alexander64,

What do you mean? Do you want to replace '32' to '64'? As you know, global_work_size < 2^CL_DEVICE_ADDRESS_BITS-1. If you change it to 64, it must be wrong. And it can work fine in a x64 bit system.

0 Likes

Hi Wenju, thank you for answer,

I mean that now sizeof(int *) is equal to 4 on GPU and 8 on my CPU. I'd like to work on GPU with the same as CPU 64-bits pointers. Is there any function to do this?

0 Likes

I don't think such kind of function exist. Otherwise, why do you change it to 4, you can use win32, not x64.

0 Likes

FirePro v9800 has 4Gb of memory and if I use it like 32-bit system I cannot allocate more than (2^32 / 😎 bytes (512Mb) of doubles. I'd like to allocate more memory for double arrays.

0 Likes

You could use env variable to increase memory limit:

http://devgurus.amd.com/thread/152036

0 Likes

I think your calculation is wrong. CL_DEVICE_ADDRESS_BITS = 32, the addressing range = 2^32 =4Gb (not 2^32/8). Moreover, if your system is 32bit. The CPU address line is more than 32, may be 35.

0 Likes

you can't pass pointers between device and host. so i don't understand why do you want it.

0 Likes