cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

vrcomputing
Adept I

OpenCL 2.0 Fine Grained SYSTEM SVM Capabilities

Hello,

my name is Rick and I am currently writing my bachelor's thesis in Computer Science using OpenCL 2.0's trying to accelerate network packet processing. 

My system consists of an AMD A10-7890K Radeon R7 running Ubuntu 14.04.4 LTS in 64 bit and fglrx 15.20.3 [Sep  8 2015] driver version.

According to my implementation the system has Coarse Grained & Fine Grained SVM capabilities but not Fine Grained Atomics and Fine Grained System capabilities.

Question: Are those capabilities hardware or software dependant? Which system has Fine Grained System capabilities? Where can I find a list of CPUs and their SVM capabilities?

One of my ideas was to let the GPU produce network packets ready for sending directly into the transmit buffer of the network device, hence directly into kernel space. Therefore I came across Intel's article on SVM where they differentiate between multiple SVM capabilities OpenCL™ 2.0 Shared Virtual Memory Overview | Intel® Software​.

Question: Is my idea of passing a kernel space address to an OpenCL kernel as a system SVM pointer even possible or did I misinterpret the meaning of system SVM?

Thanks for helping.

Kind regards,

Rick

0 Likes
3 Replies
dipak
Big Boss

Hi,

Welcome to AMD's developers forum. You have been white-listed now.

My system consists of an AMD A10-7890K Radeon R7 running Ubuntu 14.04.4 LTS in 64 bit and fglrx 15.20.3 [Sep  8 2015] driver version.

According to my implementation the system has Coarse Grained & Fine Grained SVM capabilities but not Fine Grained Atomics and Fine Grained System capabilities.

Fine-grained SVM with atomics is supported on Kaveri. Please check whether IOMMU option (in BIOS) is enabled or not. If not, please enable it.

[FineGrainSVM fails on Kaveri ]

Question: Are those capabilities hardware or software dependant?

Which system has Fine Grained System capabilities? Where can I find a list of CPUs and their SVM capabilities?

The dependency may be on hardware, software (OS and drivers) or both.

Currently, fine-grained system SVM is not supported on AMD platforms.

Question: Is my idea of passing a kernel space address to an OpenCL kernel as a system SVM pointer even possible or did I misinterpret the meaning of system SVM?

OpenCL spec says it clearly as below:

"Fine-grain system sharing enables fine-grain sharing of the host’s entire virtual memory, including memory regions allocated by the system malloc API. OpenCL buffer objects are unnecessary and programmers can pass pointers allocated using malloc to OpenCL kernels."

Regards,

Hi dipak,

do you have official documents for your statement "Currently, fine-grained system SVM is not supported on AMD platforms" as a reference to cite? Do you know if this capability will be added in the future for Kaveri APUs?

Greetings,

Rick

0 Likes

Hi Rick,

Sorry, I can't point you any specific reference other than this blog: http://developer.amd.com/community/blog/2015/09/08/fine-grain-svm-with-examples/ (see "Note" in "New Examples" section) which was posted just after APP SDK 3.0. Though it's more than a year old, AFAIK, it's still applicable for the latest drivers.

Regarding the fine-grained system SVM support for Kaveri, I'm not aware of anything at this moment.

Regards,

0 Likes