cancel
Showing results for 
Search instead for 
Did you mean: 

OpenCL

Dr_Haribo
Journeyman III

Can't map CL_MEM_USE_PERSISTENT_MEM_AMD buffer

I tried allocating buffers with CL_MEM_USE_PERSISTENT_MEM_AMD set. For most machines this worked fine. But on some RHEL 6 machines mapping the buffer with clEnqueueMapBuffer failed.

Is this flag something I should use only on certain hardware or driver versions? If so, how can I tell when it is ok to use?

 

0 Kudos
Reply
4 Replies
genaganna
Journeyman III

Can't map CL_MEM_USE_PERSISTENT_MEM_AMD buffer

Originally posted by: Dr.Haribo I tried allocating buffers with CL_MEM_USE_PERSISTENT_MEM_AMD set. For most machines this worked fine. But on some RHEL 6 machines mapping the buffer with clEnqueueMapBuffer failed.

Is this flag something I should use only on certain hardware or driver versions? If so, how can I tell when it is ok to use?

 



Dr. Haribo,

In linux, CL_MEM_USE_PERSISTENT_MEM_AMD does not do any extra task. It is same as default.

Many samples in SDK use this flag for buffer and mapping used to fill data. Could you please run Reduction sample on that system and see you see any failures?

Please send your code if you are not able to reproduce from Reduction sample.

Please give also your system information like Driver version, SDK version, OS, CPU and GPU?

Are you running on which device?

0 Kudos
Reply
Dr_Haribo
Journeyman III

Can't map CL_MEM_USE_PERSISTENT_MEM_AMD buffer

Originally posted by: genaganna

 

 

Many samples in SDK use this flag for buffer and mapping used to fill data. Could you please run Reduction sample on that system and see you see any failures?

The Reduction sample runs fine. The only difference I can see is that it busy-waits for clEnqueueMapBuffer to finish, while I use the blocking call instead.

 

Please send your code if you are not able to reproduce from Reduction sample.

 

I'll try to see if I can reproduce it with a smaller piece of code.

Please give also your system information like Driver version, SDK version, OS, CPU and GPU?

 

Are you running on which device?

 

The machine is an HP Compaq 8200 Elite.

OS: Red Hat Enterprise Linux Workstation release 6.1 (Santiago)

Driver: Catalyst 11.8

SDK: OpenCL 1.1 AMD-APP-SDK-v2.5 (684.213)

CPU: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz

GPU: ATI Technologies Inc NI Caicos [AMD RADEON HD 6450]

0 Kudos
Reply
genaganna
Journeyman III

Can't map CL_MEM_USE_PERSISTENT_MEM_AMD buffer

Originally posted by: Dr.Haribo

The Reduction sample runs fine. The only difference I can see is that it busy-waits for clEnqueueMapBuffer to finish, while I use the blocking call instead.

 Please replace busy wait with blocked call and see whether you are able to reproduce or not.

As per my understanding, it should work without any problem.

Are you running on CPU or GPU?

0 Kudos
Reply
Dr_Haribo
Journeyman III

Can't map CL_MEM_USE_PERSISTENT_MEM_AMD buffer

Originally posted by: genaganna

 

 Please replace busy wait with blocked call and see whether you are able to reproduce or not.

 

As per my understanding, it should work without any problem.

 

Are you running on CPU or GPU?

 

I was running on GPU. I can't reproduce this. I'll get back to this if I am able to reproduce it in the future.

Anyway, several of these computers at the office were locking up randomly running Red Hat Enterprise Linux 6 with a Caicos GPU and Catalyst 11.8. So something was very wrong there. Now with Catalyst 11.9 everything seems stable so far. Knock on wood 😉

0 Kudos
Reply