3 Replies Latest reply on Mar 20, 2017 2:54 AM by dipak

    OpenCL 2.0 Fine Grained SYSTEM SVM Capabilities

    vrcomputing

      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

        • Re: OpenCL 2.0 Fine Grained SYSTEM SVM Capabilities
          dipak

          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,

          1 of 1 people found this helpful